<커널>
: 항상 메모리에 올라가 있는 운영체제의 핵심 부분. 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하고, 컴퓨터 리소스를 관리.
* 커널은 사용자와의 상호작용은 지원하지 않음.
<커널의 자원 관리>
- 커널의 가장 큰 목표는 하드웨어 자원과 추상화 자원을 관리하는 것.
- 커널이 추상화하여 관리하는 물리적 자원들과, 이를 추상화한 자원을 칭하는 용어 : CPU - Task or Process, 메모리 - Page or Segment, 디스크 - File, 네트워크 - Socket
커널의 역할
1) Task Management : 물리적 자원인 CPU를 추상적 자원인 Task로 제공
2) Memory Management : 물리적 자원인 메모리를 추상적 자원인 Page 또는 Segement로 제공
3) File System : 물리적 자원인 디스크를 추상적 자원인 File로 제공
4) Network Managment : 물리적 자원인 네트워크 장치를 추상적 자원인 Socket으로 제공
5) Device Driver Management : 각종 외부 장치에 대한 접근
6) Interrupt Handling : 인터럽트 핸들러
7) I/O Communication : 입출력 통신 관리
<이중 모드(dual mode)>
: CPU가 명령어를 실행하는 모드를 사용자 모드, 커널 모드로 구분.
(플래그 레지스터 속 supervisor flag가 1일 경우 커널 모드, 0일 경우 사용자 모드로 실행 중임을 의미)
- 사용자 모드(user mode) : 운영체제 서비스를 제공받을 수 없는 실행 모드 = 커널 영역의 코드를 실행할 수 없는 모드.
일반적인 응용 프로그램은 기본적으로 사용자 모드로 실행되며, 하드웨어 자원에 접근할 수 없습니다.
- 커널 모드(kernel mode) : 운영체제 서비스를 제공받을 수 있는 실행 모드 = 커널 영역의 코드를 실행할 수 있는 모드.
자원에 접근하는 명령어를 비롯한 모든 명령어를 실행할 수 있습니다.
- system call : 운영체제 서비스를 제공받기 위해 커널 모드로 전환하려는 요청. 소프트웨어적인 인터럽트.
- 시스템 콜 유형
1) 프로세스 제어 : 프로세스 생성 및 종료, 메모리 할당 및 해제, Wait 이벤트, Signal 이벤트 등.
2) 파일 관리 : 파일 생성, 삭제, 열기, 닫기, 읽기, 쓰기, 파일 속성 값 확인 및 지정 등.
3) 장치 관리 : 장치 속성 가져오기 및 설정, 읽기, 쓰기, 재배치 등.
4) 정보 유지 : 시스템 데이터 가져오기 및 설정, 프로세스, 파일 및 장치 속성 가져오기 및 설정 등.
5) 통신 : 통신 연결 생성 및 삭제, 메시지 보내기와 받기, 원격 장치 연결 및 분리 등.
6) 보호 : 파일 권한 얻기 및 설정
'[Computer Science] > [운영체제(OS)]' 카테고리의 다른 글
[운영체제(OS)] 3-2) 프로세스 스케쥴링 (0) | 2023.01.11 |
---|---|
[운영체제(OS)] 3-1) 프로세스의 개념과 PCB(Process Control Block) (0) | 2023.01.09 |
[운영체제(OS)] 2-1) 운영체제 서비스 (0) | 2023.01.04 |
[운영체제(OS)] 1-2) 부팅 매커니즘과 인터럽트(interrupt) (0) | 2023.01.03 |
[운영체제(OS)] 1-1) 컴퓨터 시스템 기본 구성 (0) | 2023.01.02 |