Files
kui-vault/content/03.Note/커널(Kernel).md
T
2026-04-09 10:48:09 +09:00

2.1 KiB

id, created, tags, aliases
id created tags aliases
커널(Kernel) 20260407 2026-04-07 13:40
operating-system
os
hardware
computer
computer-science

💡 생각

실제 하드웨어 자원을 관리하고 사용자의 요청에 하드웨어를 조작해주는 관리자. 사용자 <-> 하드웨어 사이의 인터페이스는 모두 커널이 해준다고 보면 됨.


📑 개념

운영체제(OS)의 커널(Kernel) 은 한마디로 컴퓨터의 심장이자 모든 자원을 관리하는 관리자라고 할 수 있습니다. 사용자가 실행하는 프로그램과 컴퓨터의 하드웨어 사이에서 다리 역할을 수행하는 아주 핵심적인 소프트웨어 계층입니다.

1. 커널의 핵심 기능

커널은 사용자가 직접 하드웨어를 제어하지 못하게 막으면서, 대신 안전하고 효율적으로 자원을 배분합니다.

  • 프로세스 관리: 여러 개의 프로그램이 동시에 실행될 수 있도록 CPU 사용 시간을 나누고 관리합니다.

  • 메모리 관리: 각 프로그램이 어느 정도의 메모리를 사용할지 결정하고, 서로의 영역을 침범하지 못하게 보호합니다.

  • 파일 시스템 관리: 하드디스크나 SSD에 데이터를 저장하고 읽어오는 방식을 제어합니다.

  • 장치 드라이버 제어: 모니터, 키보드, 마우스 등 각종 하드웨어와 통신하여 명령을 전달합니다.

  • 시스템 호출(System Call) 제공: 응용 프로그램이 하드웨어 자원을 쓰고 싶을 때 커널에 요청할 수 있는 통로를 제공합니다.


우리 주변의 커널 예시

  • Linux 커널: 안드로이드 스마트폰, 서버용 OS, 임베디드 기기 등에서 널리 쓰이는 대표적인 단일형 커널입니다.

  • NT 커널: 우리가 쓰는 Windows의 핵심입니다. 혼합형 커널 구조를 가지고 있습니다.

  • XNU 커널: macOS와 iOS의 뿌리가 되는 커널로, 마이크로 커널(Mach)과 단일형 커널(BSD)의 특징을 결합한 형태입니다.