운영체제란?
컴퓨터 하드웨어를 효율적으로 관리해서 사용자 혹은 응용프로그램에게 서비스를 제공하는 것
운영체제의 구조
운영체제는 커널
, 유틸리티
로 구성되어 있습니다.
1. 커널(Kernel)
하드웨어 관리, 운영체제 핵심 기능
- OS의 핵심 부분 (메모리 상주)
- 가장 빈번하게 사용되는 기능을 담당
- 시스템 관리(Processor, memory, Etc 등 ..)
- 가장 빈번하게 사용되는 기능을 담당
- 동의어
- 핵(neucleus), 관리자(supervisor)프로그램, 상주 프로그램(resident program), 제어 프로그램(control program) 등
2. 유틸리티 (Utility)
운영체제에서 커널을 제외한 나머지 부분
- 비상주 프로그램
- UI 등 서비스 프로그램
- system calls : 커널한테 뭔가를 요청하는 통로
- utilities까지가 OS
- applications 범위까지는 우리가 쓰는 프로그램
운영체제의 다양한 구조
1. 단일 구조
운영체제 기능을 하나의 거대한 커널로 모아놓은 것 -> 단일 구조
1. 장점
- 커널 내 모듈간 직접 통신
- 빠르게 처리 가능 -> 효율적 자원 관리 및 사용
2. 단점
- 커널의 거대화
- 오류 및 버그, 추가 기능 구현 등 유지보수가 어려움
- 동일 메모리에 모든 기능이 있어, 한 모듈의 문제가 전체 시스템에 영향(예, 악성 코드 등)
2. 계층 구조
현대 운영체제
1. 장점
- 모듈화 : 기능별로 따로따로 만든 것
- 계층간 검증 및 수정 용이
- 설계 및 구현의 단순화
2. 단점
- 단일구조 대비 성능 저하
- 원하는 기능 수행을 위해 여러 계층을 거쳐야 함
3. 마이크로 커널 구조
커널이 점점 커지니까 문제가 됨 -> 커널에는 필수 기능만 담고 나머지는 사용자 영역에서 하자
- 커널의 크기 최소화
- 필수 기능만 포함
- 기타 기능은 사용자 영역에서 수행
운영체제의 기능
다양한 리소스 관리
- 프로세스(Process) 관리
- 프로세서(Processor) 관리
- 메모리(Memory) 관리
- 파일(File) 관리
- 입출력(I/O) 관리
- 보조 기억 장치 및 기타 주변장치 관리 등
1. Process Management
- 프로세스 (Process)
- 커널에 등록된 실행 단위 (실행 중인 프로그램)
- 사용자 요청 / 프로그램의 수행 주체 (entity)
- OS의 프로세스 관리 기능
- 생성/삭제, 상태 관리
- 자원할당
- 프로세스 간 통신 및 동기화(synchronization)
- 교착상태(deadlock) 해결
- 프로세스 정보 관리
- PCB(Process Control Block)
2. Processor Management
- 중앙 처리 장치(CPU)
- 프로그램을 실행하는 핵심 자원
- 프로세스 스케줄링(Scheduling)
- 시스템 내의 프로세스 처리 순서 결정
- 프로세서 할당 관리
- 프로세스들에 대한 프로세서 할당
- 한 번에 하나의 프로세스만 사용 가능
- 프로세스들에 대한 프로세서 할당
3. Memory Management
-
주기억장치
- 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
-
Multi-user, Multi-tasking 시스템
- 프로세스에 대한 메모리 할당 및 회수
- 메모리 여유 공간 관리
- 각 프로세스의 할당 메모리 영역 접근 보호
-
메모리 할당 방법(scheme)
-
전체 적재
- 장점 : 구현이 간단 / 단점 : 제한적 공간
-
일부 적재 (virtual memory concept)
-
프로그램 및 데이터의 일부만 적재
-
장점 : 메모리의 효율적 활용 / 단점 : 보조기억 장치 접근 필요
-
-
4. File Management
- 파일 : 논리적 데이터 저장 단위
- 사용자 및 시스템의 파일 관리
- 디렉토리(directory) 구조 지원
- 파일 관리 기능
- 파일 및 디렉토리 생성/삭제
- 파일 접근 및 조작
- 파일을 물리적 저장 공간으로 사상(mapping)
- 백업 등
5. I/O Management
-
입출력(I/O) 과정
- OS를 반드시 거쳐야 함
6. Others
- Disk
- Networking
- Security and Protection system
- Command interpreter system
- System call interface
- 응용 프로그램과 OS 사이의 인터페이스
- OS가 응용프로그램에 제공하는 서비스
'CS > OS' 카테고리의 다른 글
3. 프로세스 관리(2) (0) | 2021.05.09 |
---|---|
3. 프로세스 관리(1) (0) | 2021.03.14 |
2. 운영체제 개요(2) - 운영체제의 구분 (0) | 2021.03.11 |
2. 운영체제 개요(1) - 운영체제, 컴퓨터 시스템의 구성 (0) | 2021.03.11 |
1. 컴퓨터 시스템 개요 (1) | 2021.03.10 |