아래 글은 CS(컴퓨터 과학) 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
# 운영체제의 구조
커널 (Kernel)
- os의 핵심 부문 (메모리 상주)
- 가장 빈번하게 사용되는 기능들 담당 -> 시스템 관리 (processor, memory, Etc) 등 - 동의어
- 핵(neucleus), 관리자(supervisor) 프로그램, 상주 프로그램(resident program), 제어 프로그램(control program) 등
유틸리티 (Utility)
- 비상주 프로그램
- UI등 서비스 프로그램
- 운영체제에서 커널을 나머지 부분에 있는 것들
1. 단일 구조
장점
- 커널 내 모듈 간 직접 통신
- 효율적 자원 관리 및 사용
단점
- 커널의 거대화
- 오류 및 버그, 추가 기능 구현 등 유지보수가 어려움
- 동일 메모리에 모든 기능이 있어, 한 모듈의 문제가 전체 시스템에 영향 (예, 악성코드 등)
2. 계층 구조
장점
- 모듈화
- 계층 간 검증 및 수정 용의 - 설계 및 구현의 단순화
단점
- 단일구조 대비 성능 저하
- 원하는 기능 수행을 위해 여러 계층을 거쳐야 함
3. 마이크로 커널 구조
커널의 크기 최소화
- 필수 기능만 포함
- 기타 기능은 사용자 영역에서 수행
# 운영체제의 기능
- 프로세스 (Process) 관리
- 프로세서 (Processor) 관리
- 메모리 (Memory) 관리
- 파일 (File) 관리
- 입출력 (I/O) 관리
- 보조 기억 장치 및 기타 주변장치 관리 등
Process Management
프로세스 (Process)
- 커널에 등록된 실행 단위(실행 중인 프로그램)
- 사용자 요청/프로그램의 수행 주체(Entity)
OS의 프로세스 관리 기능
- 생성 / 삭제, 상태 관리
- 자원 할당
- 프로세스 간 통신 및 동기화(Synchronization)
- 교착상태(Dealock) 해결
프로세스 정보 관리
- PCB(Process Control Block)
Processor Management
- 중앙 처리 장치(CPU)
- 프로그램을 실행하는 핵심 자원 - 프로세스 스케쥴링(Scheduling)
- 시스템 내의 프로세스 처리 순서 결정 - 프로세서 할당 관리
- 프로세스들에 대한 프로세서 할당 -> 한 번에 하나의 프로세스만 사용 가능
Memory Management
주기억장치
- 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
Multi-user, Multi-tasking 시스템
- 프로세스에 대한 메모리 할당 및 회수
- 메모리 여유 공간 관리
- 각 프로세스의 할당 메모리 영역 접근 보호
메모리 할당 방법(Scheme)
- 전체 적재
- 장점: 구현이 간단 / 단점: 제한적 공간 - 일부 적재(Virtual memory concept)
- 프로그램 및 데이터의 일부만 적재
- 장점: 메모리의 효율적 활용 / 단점: 보조기억 장치 접근 필요
File Management
- 파일 : 논리적 데이터 저장 단위
- 사용자 및 시스템의 파일 관리
- 디렉토리(Directory) 구조 지원
- 파일 관리 기능
- 파일 및 디렉토리 생성 / 삭제
- 파일 접근 및 조작
- 파일을 물리적 저장 공간으로 사상(Mapping)
- 백업 등
I/O Management
- 입출력( I/O ) 과정
- os를 반드시 거쳐야 함
반응형