3-1공부/운영체제

1. 개요

KGW2027 2022. 4. 18. 20:36
728x90
반응형

컴퓨터 구조는 컴퓨터의 동작원리를 하드웨어 측에서 봤다면,

운영체제는 소프트웨어 측에서 보는 내용이다.

 

컴퓨터 공학의 목표

 -> 추상화 ( 모든 기능을 단순하게 표현하고, 작동하게 한다. )

 

운영체제는 하나의 CPU에 여러 소프트웨어가 작동하게 한다.

 -> 누가, 언제, 얼마나 CPU를 사용할 것인가?

   - 프로세스가 작동되려면 메모리에 올라와 있어야 하는데, 프로세스 관리, 메모리 관리, 입출력 파일 관리 등을 하는 것이 운영체제의 역할이다. ( 소수의 자원으로 다수의 작업을 처리하는 방법 )

 

운영체제

 - 컴퓨터 등의 전원을 켜면 가장 먼저 만나며, 컴퓨터의 자원을 독점적으로 관리하는 소프트웨어이다.

 - 자원을 추상화하고, 사용하기 위한 인터페이스를 제공한다.

 - 효율성, 안정성, 확장성, 편리성을 챙겨야한다.

 Q. OS없이 하드웨어가 작동할 수 있을까?

  - 작동은 하지만, 제어가 어렵고 기능이 한정되고. 추가적인 장치의 연결이나 소프트웨어의 설치가 불가능하다.

  - 그러나, 보안에 좋고, 전용 소프트웨어를 사용하면 성능도 우수하다. 이를 위해 OS없이 나오는 시스템도 존재한다.

 

컴퓨터의 역사

 - 조지 부울의 부울 대수, 앨런 튜링의 튜링머신, 클로드 섀년의 디지털 논리회로, 정보이론, 폰 노이만의 폰노이만 구조

 1. 고정 프로그래밍 ( Fixed Program Computer )

  - 운영체제에 대한 개념이 없으며, 하나의 기계가 하나의 기능을 수행한다.

  - 기능을 바꾸기 위해서는 모든 회로를 직접 조작, 변경해 연결하며, 새로운 기능 구축에 많은 시간이 소요된다.

 

 2. 일괄 작업 시스템 ( Batch-Processing System ) -> 내장 프로그래밍 ( Stored Program Computer )

  - CPU와 메모리가 분리되기 시작함.

  - 카드를 읽어서 메모리에 적재하고 CPU가 실행한다.

  - 작업을 한 번에 처리하므로, 실행 중간에 데이터를 추가 입력, 수정하는 일이 불가능하다.

 => 장치 관리가 필요해짐

 

3. 대화형 시스템 ( Interactive System )

  - 모니터 및 키보드의 등장. ( 기존에 프린터를 사용 )

  - 입력값에 따라 작업의 흐름을 바꾸는 것이 가능하며,

  - 다중 프로그래밍을 위해 한 CPU로 여러 작업을 동시에 실행하는 기술이 개발되었다. (시분할 시스템)

    -> 각 작업당 CPU 사용시간을 분할, CPU 대기시간이 줄어들어 처리율이 증가한다.

    -> 후순위 프로그램이 중간에 끊어져서 문제가 발생할 수 있다.

   => 프로세스 관리, 메모리 관리, 파일 시스템 관리, 기타 관리 등이 필요해짐.

 

시스템의 역사 : 고정 프로그래밍 > 배치 프로세싱 > 대화형 시스템 > 시분할 시스템 > 다중프로그래밍

 

 

 네트워크 기반 시스템 ( Network based System )

  - 네트워크의 등장으로 장치 외부와도 연결 가능하게 됨.

   -> 컴퓨터간 정보 전송이 현실적인 수준으로 경제적으로 전환되었다.

  - 외부 장치를 고려해 운영체제 기능의 확장이 필요하다.

   -> 네트워크 관리(프로토콜, 리소스 제어), 보안 관리, 사용자 관리(시스템 사용자) 등이 필요해짐.

 

 기타 시스템

  1. Peer-to-Peer System ( P2P )

  - 특정 서버에 집중되는 과부화 ( Single point of failure )를 해결하기 위해, 중앙서버 없이 사용자끼리 직접 연결.

  - Synchornization (동기화), Consensus (합의)

 

  2. 가상화 시스템 ( Virtualization )

  - OS는 하드웨어를 추상화해주는 존재. 컴퓨터 그 자체도 추상화 가능하다.

  - 컴퓨터 위에서 컴퓨터를 소프트웨어로 돌림.

   -> Sandbox(독립적인 공간)이 지원된다.

  - Performance (성능), Isolation (분리)

 

 3. 기타

  - 모바일 운영체제 : Android, iOS 등...

  - 임베디드 운영체제 : 특수장치용 OS ( WinCE, Embeded Linux 등... )

  - 실시간 운영체제 : 정해진 시간 내에 처리되는것을 보장하는 OS

728x90
반응형

'3-1공부 > 운영체제' 카테고리의 다른 글

6. 스케줄링  (0) 2022.04.19
5. 스레드  (0) 2022.04.19
4. 프로세스  (0) 2022.04.18
3. 컴퓨터 구조  (0) 2022.04.18
2. 커널, 인터페이스  (0) 2022.04.18