[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 2-2) 커널(Kernel)과 시스템 콜(System Call)

극꼼 2023. 1. 4. 20:08
반응형


<커널>

: 항상 메모리에 올라가 있는 운영체제의 핵심 부분. 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하고, 컴퓨터 리소스를 관리.

* 커널은 사용자와의 상호작용은 지원하지 않음.


<커널의 자원 관리>

- 커널의 가장 큰 목표는 하드웨어 자원과 추상화 자원을 관리하는 것.

- 커널이 추상화하여 관리하는 물리적 자원들과, 이를 추상화한 자원을 칭하는 용어 : 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) 보호 : 파일 권한 얻기 및 설정

반응형