운영체제의 역할
컴퓨터 시스템 자원을 관리해서 사용자에게 서비스 제공
- 편리성 (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를 거침
'OS' 카테고리의 다른 글
[OS] Lecture 3. OS Process Management (2/2) (0) | 2022.01.31 |
---|---|
[OS] Lecture 3. Process Management (1/2) (0) | 2022.01.30 |
[OS] Lecture 2. OS Overview (1/2) (0) | 2022.01.26 |
운영체제_6 (0) | 2021.07.15 |
운영체제_5 (0) | 2021.07.15 |