코딩 이야기

[2022-2] 운영체제 - 220915 본문

University Study/운영체제

[2022-2] 운영체제 - 220915

always7767 2022. 9. 20. 11:38

1. 운영체제의 태동, 진화, 발전 단계
- 초기의 컴퓨터 
- 일괄 처리 시스템 (batch processing system)

- 다중 프로그래밍 시스템 (multi-programming system)
→ 자원을 효율적으로 활용
→ 컴퓨터의 이용 활용률을 높이겠다.
→ 어떻게하면 효율적이고 편리하게 사용할 수 있을지를 생각

- 시분할 시스템 (time-sharing system)
→ 다중 프로그래밍 시스템 포함한다.

- 실시간 시스템 (real-time system)
→ 엄격하게 정의되어 있는 시간 제약* 내에서 반드시 처리되도록 하는 것이 중요 // * 시간 제약 : 명령어를 입력 한 후 실행되는 시간 제약
→ 마이크로 컴퓨터와 고속의 아날로그 / 디지털 입출력 장치 제어에 활용
→ 특수 목적 (무기 제어, 발전소 제어, 철도자동제어 등)만을 위한 응용분야에서 사용 * 특수 목적 : 실시간으로 처리되어야 하는 것
→ 실생활 사용의 예 : 게임 (FPS, 슈팅), 티켓 예매, 수강신청 등

- 다중 처리 시스템 (multi-processing system)
→ 컴퓨터를 주기억장치를 공유하는 여러 개의 프로세서를 구성하여 운영하는 것
→ 두 가지 운영환경 
     밀착된 결합 (tightly coupled) 시스템 
→ 하나의 프로그램 실행에 여러 개의 프로세서가 참여
→ 프로그램 설계부터 세밀하게 프로세서들 간의 동기화가 필요함
      느슨한 결합 (loosely coupled) 시스템
→ 프로세서들간의 동기화가 크게 중요하지 않고 작업 처리율(throughput)을 높이는 것이 목적
      고려해야 할 점 : 
→ 프로세서들간의 기억장치 공유방법
→ 프로세서 스케줄링
→ 병렬 처리 결과의 연결 기법
→ 프로세서들 간의 충돌 제어 등

★ process와 processor의 차이점 ★
- process : 실행 중인 프로그램
- processor : CPU

[다중 프로그래밍과 다중 처리시스템의 차이점]
다중 프로그래밍은 프로그램이 여러개 돌아가는 것이고, 다중 처리시스템으로도 가능하다.
다중 처리시스템은 프로세서가 여러개 돌아가는 것이다.

- 분산 처리 시스템 (distributed processing system)
→ 통신 네트워크를 통해 서로 느슨하게 결합된 프로세서들의 집합
→ 각 프로세서는 크기, 성능 모두 다를 수 있고 다양한 자원으로 구성 가능
→ 각 프로세서를 나타내는 용어 : site, node, computer,machine (site, node를 많이 사용하는데 site가 기본적인 용어) 

[서버, 클라이언트로 구분]
서버 : 핵심 자원을 가지고 관리
클라이언트 : 서버의 자원을 공유하며 사용

- 두 가지 처리방식
- 분산 운영체제 (tightly coupled)
   → 모든 노드들이 하나의 운영체제로 운영
   → 근거리 네트워크, 운영체제 설계 시 통신 기능 반영
   → 자원공유 용이

- 네트워크 운영체제 (loosely coupled)
   → 기종 차이가 큰 노드들 간의 대규모 네트워크 시스템
   → 각 노드는 독자의 운영체제를 가지는 별도의 컴퓨터 시스템
   → 각각의 운영체제 위에서 통신 기능만으로 서로 필요한 수준의 연결
   → 자원공유 곤란
  → 예제) SETI

* 기타 *
- 개인용 컴퓨터 시스템 (personal compueter system)
- 멀티미디어 시스템 (multi-media system)
- 임베디드 시스템 (embeded system)
→ 마이크로프로세서, 마이크로콘트롤러를 내장, 몇 가지 혹은 특수한 기능만 수행하는 시스템
→ 예시 : 자동차, 의료기기, 네비게이터, 키오스크, ...

2. 운영체제에 대한 관점
① 자원 관리자 관점
→  운영체제는 컴퓨터의 모든 시스템 자원들이 효율적으로 사용되도록 관리*하는 것이 가장 중요
     (시스템 자원 : 프로세서, 기억장치, 각종 장치, 프로그램, 데이터 등)
* 효율적 관리 : 자원의 상태 추적, 저장 / 프로세스의 자원 사용량 관리 / 자원 할당 / 자원 회수
프로세스(process) 관리 기능 : 트래픽 제어기(traffic controller), 작업 스케줄러(job scheduler), 프로세스 스케줄러(process scheduler),
                                                               디스패처 (dispatcher)

② 프로세스 관점
- CPU는 어느 한 시점에 오직 하나의 프로세스만 처리
- OS는 하나의 프로세스가 시작에서 종료까지 상태를 변환시켜가며 관리해야 할 책임 (* 오케스트라로 보면 지휘자 역할 *)
→ 교재 27페이지 확인(참고)

③ 계층구조 관점
-  커널 (kernel)
→ 확장된 기계 개념으로 운영되는 모든 운영체제 모듈들의 총칭

'University Study > 운영체제' 카테고리의 다른 글

[2022-2] 운영체제 - 221103  (0) 2022.11.03
[2022-2] 운영체제 - 221020  (0) 2022.10.20
[2022-2] 운영체제 - 221013  (0) 2022.10.13
[2022-2] 운영체제 - 220929  (0) 2022.09.29
[2022-2] 운영체제 - 220922  (0) 2022.09.22
Comments