728x90
반응형
출처 : https://www.youtube.com/watch?v=knF9lzHA3LI&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=4
운영체제의 구조는 2가지로 구성되어있다.
- 커널(Kernel : 알맹이, 핵심)
- OS의 핵심 부분 (메모리 상주 : 계속 빈번하게 사용되므로 메모리에 상주되어있음)
- 가장 빈번하게 사용되는 기능들을 담당
- 시스템 관리 (프로세서, 메모리, 등) 등
- 가장 빈번하게 사용되는 기능들을 담당
- 동의어
- 핵(neucleus), 관리자(supervisor) 프로그램, 상주 프로그램(resident program), 제어 프로그램(control program) 등
- OS의 핵심 부분 (메모리 상주 : 계속 빈번하게 사용되므로 메모리에 상주되어있음)
- 유틸리티(Utility) : 운영체제에서 커널을 제외한 부분
- 비상주 프로그램
- UI 등 서비스 프로그램
운영체제의 구조는 위 그림과 같다.
하드웨어가 있고, 그 하드웨어를 관리하는 커널이 존재한다. 그리고 커널에게 요청메시지를 전송하는 통로 역할을 하는 system call이 있고, 그 위에 유틸리티가 존재한다.
단일 구조 운영 체제 : 커널 혹은 운영체제 기능을 하나의 거대한 커널로 모아놓은 구조
- 장점
- 커널 내 모듈간 직접 통신
- 효율적 자원 관리 및 사용 (커널 안에 있는 기능들 사이에 요청 메시지를 주고받을 때 바로 요청이 가능해서 빠르게 해결 가능)
- 커널 내 모듈간 직접 통신
- 단점
- 커널의 거대화(기능이 추가 될수록 점점 커널이 커짐)
- 오류 및 버그, 추가 기능 구현 등 유지보수가 어려움
- 동일 메모리에 모든 기능이 있어, 한 모듈의 문제가 전체 시스템에 영향을 미침 (ex. 악성 코드 등)
- 커널의 거대화(기능이 추가 될수록 점점 커널이 커짐)
계층 구조 운영체제 : 커널과 운영체제 기능들을 계층적으로 분리한 구조
- 장점
- 모듈화
- 계층간 검증 및 수정 용의
- 설계 및 구현의 단순화
- 모듈화
- 단점
- 단일구조 대비 성능 저하
- 원하는 기능 수행을 위해 여러 계층을 거쳐야 함
- 단일구조 대비 성능 저하
마이크로 커널 구조
- 커널의 크기 최소화
- 커널에는 필수적인 기능만 넣고 나머지 기능은 사용자 영역에서 수행시키는 구조이다.
운영체제의 역할은 다양한 리소스의 관리이다. 리소스에는 하드웨어 리소스(프로세스, 프로세서, 메모리 등)와 소프트웨어 리소스(파일, 입출력)이 있다.
프로세스 관리
- 프로세스(Process)
- 커널에 등록된 실행 단위 (실행중인 프로그램)
- 사용자 요청 / 프로그램의 수행 주체 (entity)
- OS의 프로세스 관리 기능
- 생성 / 삭제, 상태관리
- 자원 할당
- 프로세스 간 통신 및 동기화
- 교착상태(deadlock) 해결 , 교착상태(deadlock) : 여러 프로세스가 하나의 리소스를 동시에 사용하려고 하는 상태
- 프로세스 정보 관리
- PCB(Process Control Block)
프로세서 관리
- 중앙 처리 장치(CPU)
- 프로그램을 실행하는 핵심 자원
- 프로세스 스케줄링(Scheduling)
- 시스템 내의 프로세스 처리 순서 결정
- 프로세서 할당 관리
- 프로세스들에 대한 프로세서 할당
- 한 번에 하나의 프로세스만 사용 가능
- 프로세스들에 대한 프로세서 할당
메모리 관리
- 주 기억장치(DRAM)
- 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
- Multi-user, Multi-tasking 시스템
- 여러 사용자 혹은 프로세스가 메모리를 동시에 써야 할 때 어떻게 메모리를 할당할지 혹은 다쓰면 회수할지
- 메모리 여유 공간 관리
- 각 프로세스의 할당 메모리 영역 접근 보호 (접근하면 안되는 프로세스가 메모리의 접근할 때 막기)
- 메모리 할당 방법(Scheme)
- 전체 적재
- 장점 : 구현이 간단
- 단점 : 제한적 공간
- 일부 적재 (Virtual Memory Concept)
- 프로그램 및 데이터의 일부만 적재
- 장점 : 메모리의 효율적 활용
- 단점 : 보조기억 장치 접근 필요
- 전체 적재
파일 관리
- 파일 : 논리적 데이터 저장 단위
- 사용자 및 시스템의 파일 관리
- 디렉토리(Directory) 구조 지원
- 파일 관리 기능
- 파일 및 디렉토리 생성 / 삭제
- 파일 접근 및 조작
- 파일을 물리적 저장 공간으로 사상(Mapping)
- 백업 등
입출력은 프로세스와 프로세서가 직접 입출력을 할 수 없고 반드시 운영체제를 거쳐서 입출력을 실행해야 한다.
728x90
반응형
'Study > 운영체제' 카테고리의 다른 글
3. 프로세스 관리 (2) (0) | 2023.11.03 |
---|---|
운영체제 3. 프로세스 관리 (1) (0) | 2023.11.02 |
2. 운영체제 개요 (2) (1) | 2023.11.01 |
2. 운영체제 개요 (1) (0) | 2023.10.31 |
1. 컴퓨터 시스템 개요 (0) | 2023.10.31 |