OS

[OS] Lecture 2. OS Overview (2/2)

사랑우주인 2022. 1. 26. 10:38

운영체제의 역할

컴퓨터 시스템 자원을 관리해서 사용자에게 서비스 제공

 

- 편리성 (User Interface): CUI, GUI, EUCI

- 효율성 (Resource management): Hw resource, SW resource

- 프로세스(실행 주체)와 thread management

- 시스템 보호(System management)

 

컴퓨터 시스템의 구성

 

System Call Interface

- 사용자가 직접 커널에 접근을 막는다. 필요한 기능이 있으면 OS에 요청.

- 커널이 제공하는 기능 들 중 사용자가 사용할 수 있는 기능들을 모아 놓은 집합.

- SCI은 요청의 통로.

 

운영체제의 구조

1. 커널: OS의 핵심부분. 가장 빈번하게 사용되는 기능 담당. 리소스 관리(processor, memory, ...)

2 유틸리티(커널 외): 비상주 프로그램. UI 등 서비스 프로그램 

커널 분류

1. 단일 구조: 커널에 모든 모듈이 포함

장점: 커널 내 모듈 간 직접 통신. 효율적인 자원 관리 및 사용

단점: 커널의 거대화. 오류, 추가 기능 구현 등 유지보수가 어려움. 한 모듈 문제가 전체 시스템에 영향

 

2. 계층 구조: 기능 별로 따로 계층적으로 묶자!

장점: 모듈화. 계층 간 검증 및 수정 용의. 설계 및 구현 단순화

단점: 단일구조 대비 성능 저하. 원하는 기능 수행을 위해 여러 계층을 거쳐야 함

 

3. 마이크로 커널 구조

커널의 크기 최소화

: 커널의 거대화 문제 해결-> 커널에는 필수 기능만 담고, 기타 기능은 사용자 영역에서 수행 

필수 기능: 메모리 관리, 프로세스 간 통신, 프로세스 관리

기타 기능: 파일 시스템, 프로세서 스케줄링, 장치 관리자


운영체제의 기능==관리! 관리! 관리! 

1. 프로세스 관리

- 프로세스: 커널에 등록된 실행 단위(실행 중인 프로그램). 사용자 요청/프로그램의 수행 주체

- 교착상태(deadlock) 해결: 하나의 자원을 여러 프로세스가 동시에 접근할 때

- 프로세스 정보 관리: PCB(Process Control Bloc)

 

2. 프로세서 관리

- 프로세서=중앙처리장치=CPU: 프로그램을 실행하는 핵심 자원

- 프로세스 스케줄링: 시스템 내의 프로세스 처리 순서 결정

- 프로세서 할당 관리: 프로세스들에 대한 프로세서 할당. 한번에 하나의 프로세스만 사용 가능

 

 

3. 메모리 관리

- 주기억장치: DRAM. 작업을 위한 프로그램 및 데이터를 올려 놓는 공간

- Multi-user, Multi-tasking 시스템

- 메모리 할당 방법: 전체 적재, 일부 적재

 

4. 파일 관리 

 

5. 입출력 관리

- 프로세스에서 직접 호출하지 않고 반드시 OS를 거침