투케이2K

30. (운영체제/OperatingSystem) 커널 (Kernel) 개념 설명 본문

SE & OS & HW

30. (운영체제/OperatingSystem) 커널 (Kernel) 개념 설명

투케이2K 2022. 11. 25. 10:20

[학습 구분]

과목 : 운영체제

 

[설 명]

1. 커널 이란 운영체제의 핵심 부분으로써 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하는 역할을 하며 컴퓨터 자원들을 관리하는 역할을 수행합니다

- 위치 : [응용프로그램 = application] - [커널] - [하드웨어 = cpu , memory , device]

2. 커널 역할 :

- 보안 : 컴퓨터 하드웨어와 프로세스의 보안을 책임진다

- 자원 관리 : 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 한다. 특히 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 한다

- 추상화 : 커널은 운영 체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화(같은 종류의 장비에 대한 공통 명령어의 집합)들을 구현한다. 이 하드웨어 추상화는 프로그래머가 여러 장비에서 작동하는 프로그램을 개발하는 것을 돕는다. 하드웨어 추상화 계층(HAL)은 제조사의 장비 규격에 대한 특정한 명령어를 제공하는 소프트웨어 드라이버에 의지한다.

3. 커널 종류 :

- 단일형 커널 (monolithic kernel) : 커널의 다양한 서비스 및 높은 수준의 하드웨어 추상화를 하나의 덩어리(주소 공간)로 묶은 것이다. 운영 체제 개발자 입장에서 유지 보수가 일반적으로 더 어려우나 성능이 좋다.

- 마이크로 커널 (microkernel) : 하드웨어 추상화에 대한 간결한 작은 집합을 제공하고 더 많은 기능은 서버라고 불리는 응용 소프트웨어를 통해 제공한다.

- 혼합형 커널 (hybrid kernel) : 성능 향상을 위해 추가적인 코드를 커널 공간에 넣은 점을 제외하면 많은 부분은 순수 마이크로커널과 비슷하다. 수정 마이크로커널이라고도 한다.

- 나노 커널 (nanokernel) : 실질적으로 모든 서비스를 책임진다.

- 엑소 커널 (exokernel) : 낮은 수준의 하드웨어 접근을 위한 최소한의 추상화를 제공한다. 전형적으로 엑소커널 시스템에서는 커널이 아닌 라이브러리가 단일형 커널 수준의 추상을 제공한다.

 
반응형
Comments