-
[운영체제] 커널(Kernel)운영체제 2023. 8. 7. 15:30
Overview
커널(Kernel)은 컴퓨터 운영체제의 핵심이 되는 컴퓨터 프로그램(Software)입니다.
커널은 시스템의 모든 것을 완전히 제어합니다.
OS의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공합니다.
커널의 역할
- 보안
- 커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임짐
- 자원 관리
- 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 함
- 특히 프로세스에 처리기를 할당하는 것을 스케줄링이라 함
- 추상화
- 일반적으로 커널은 OS의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화들을 구현함
커널의 종류
단일형 커널
- OS에서 일어나는 모든 일들을 한 개의 커널이 다 처리하는 방식
- 속도가 빠르고 설계가 편리함
- 잠재적 안정성 문제에 커널의 크기도 무지막지하게 커짐
- 단일형 커널로는 리눅스, BSD 등이 있음
마이크로 커널
- 일반적으로 커널이 제공하는 네트워킹 가은 다른 서비스들은 사용자 공간 프로그램인 서버로 구현함
- 시스템 콜, 그리고 주변 장치 관리는 서버라는 응용프로그램 계층으로 제공하는 방식으로 커널에서 제외하여 안정성을 높이고 크기도 줄인 설계 방식
- 안정성과 보안 수준이 높아지지만 성능이 떨어짐
혼합형 커널
- 마이크로 커널 + 단일형 커널 (장점을 혼합)
- XNU 커널이 혼합형 커널임
XNU 커널
- XNU 커널은 다윈(Darwin) OS의 일부분임
- XNU 기반의 다윈은 macOS와 iOS의 핵심 요소로 사용
- Mach 커널 + BSD 커널을 합친 혼합형 커널
참고
'운영체제' 카테고리의 다른 글
[운영체제] 스레드(Thread) (0) 2023.08.11 [운영체제] 프로세스(Process) (0) 2023.08.10 [운영체제] 시스템 호출 (System Call) (0) 2023.08.09 - 보안