d24254fffc
This reverts commit 536c8d9197.
2.1 KiB
2.1 KiB
id, created, tags, aliases
| id | created | tags | aliases | |||||
|---|---|---|---|---|---|---|---|---|
| 커널(Kernel) 20260407 | 2026-04-07 13:40 |
|
💡 생각
실제 하드웨어 자원을 관리하고 사용자의 요청에 하드웨어를 조작해주는 관리자. 사용자 <-> 하드웨어 사이의 인터페이스는 모두 커널이 해준다고 보면 됨.
📑 개념
운영체제(OS)의 커널(Kernel) 은 한마디로 컴퓨터의 심장이자 모든 자원을 관리하는 관리자라고 할 수 있습니다. 사용자가 실행하는 프로그램과 컴퓨터의 하드웨어 사이에서 다리 역할을 수행하는 아주 핵심적인 소프트웨어 계층입니다.
1. 커널의 핵심 기능
커널은 사용자가 직접 하드웨어를 제어하지 못하게 막으면서, 대신 안전하고 효율적으로 자원을 배분합니다.
-
프로세스 관리: 여러 개의 프로그램이 동시에 실행될 수 있도록 CPU 사용 시간을 나누고 관리합니다.
-
메모리 관리: 각 프로그램이 어느 정도의 메모리를 사용할지 결정하고, 서로의 영역을 침범하지 못하게 보호합니다.
-
파일 시스템 관리: 하드디스크나 SSD에 데이터를 저장하고 읽어오는 방식을 제어합니다.
-
장치 드라이버 제어: 모니터, 키보드, 마우스 등 각종 하드웨어와 통신하여 명령을 전달합니다.
-
시스템 호출(System Call) 제공: 응용 프로그램이 하드웨어 자원을 쓰고 싶을 때 커널에 요청할 수 있는 통로를 제공합니다.
우리 주변의 커널 예시
-
Linux 커널: 안드로이드 스마트폰, 서버용 OS, 임베디드 기기 등에서 널리 쓰이는 대표적인 단일형 커널입니다.
-
NT 커널: 우리가 쓰는 Windows의 핵심입니다. 혼합형 커널 구조를 가지고 있습니다.
-
XNU 커널: macOS와 iOS의 뿌리가 되는 커널로, 마이크로 커널(Mach)과 단일형 커널(BSD)의 특징을 결합한 형태입니다.