운영 체제의 구조
1) 커널 (알맹이)
-
메모리 상주 -> OS의 핵심 부분
: 가장 빈번하게 사용되는 시스템 관리와 같은 기능들 담당
-
동의어 : 핵, 관리자 프로그램, 상주 프로그램, 제어 프로그램 등
2) 유틸리티
운영 체제의 구조 - 단일 구조
1) 장점
- 커널 내 모듈간 직접 통신 -> 효율적 자원 관리 및 사용
2) 단점
- 커널의 거대화
-> 오류 및 버그, 추가 기능 구현 등 유지보수가 어려움, 동일 메모리에 모든 기능이 있어 한 모듈의 문제가 전체 시스템에 영향을 줄 수 있다.
운영 체제의 구조 - 계층 구조
1) 장점
- 모듈화 -> 계층 간 검증 및 수정 용의
- 설계 및 구현의 단순화
2) 단점
- 단일 구조 대비 성능 저하
-> 원하는 기능 수행을 위해 여러 계층을 거쳐야 함
운영 체제의 구조 - 마이크로 커널 구조
- 커널 크기의 최소화 -> 필수 기능만 포함. 기타 기능은 사용자 영역에서 수행
운영 체제의 기능 : 관리!
1) 프로세스 관리
2) 프로세서 관리
3) 메모리 관리
4) 파일 관리
5) 입출력 관리
6) 보조 기억 장치 및 기타 주변 장치 관리 등
1) 프로세스 관리
-
프로세스 : 커널에 등록된 실행 단위 (실행 중인 프로그램), 사용자 요청/프로그램의 수행 주체
-
OS의 프로세스 관리 기능
1) 생성/삭제, 상태관리
2) 자원 할당
3) 프로세스 간 통신 및 동기화
4) 교착상태 해결
-
프로세스 정보 관리 : PCB (Process Control Bloc)
2) 프로세서 관리
- 중앙 처리 장치 (CPU) : 프로그램을 실행하는 핵심 자원
- 프로세스 스케쥴링 : 시스템 내의 프로세스 처리 순서 결정
- 프로세서 할당 관리 : 프로세스들에 대한 프로세서 할당 -> 한 번에 하나의 프로세스만 사용 가능
3) 메모리 관리
- 주기억장치 : 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
- Multi-user, Multi-tasking 시스템 -> 프로세스에 대한 메모리 할당 및 회스, 메모리 여유 공간 관리, 각 프로세스의 할당 메모리 영역 접근 보호
- 메모리 할당 방법
1) 전체 적재 : 구현이 간단하지만 제한적 공간
2) 일부 적재 : 프로그램 및 데이터의 일부만 적재해서 효율적으로 메모리를 활용할 수 있지만, 보조기억 장치 접근이 필요한 단점이 있다.
4) 파일 관리
- 파일 : 논리적 데이터 저장 단위
- 사용자 및 시스템의 파일 관리
- 디렉토리 구조 지원
- 파일 관리 기능 -> 파일 및 디렉토리 생성/삭제, 파일 접근 및 조작, 파일을 물리적 저장 공간으로 사상, 백업 등
5) 입출력 관리
6) 그 외