리눅스 커널 정리 /with MINZKN
Linux 커널 개발자를 위한 종합 한글 레퍼런스. 아키텍처부터 최적화까지, 커널의 모든 것을 다룹니다.
Linux 커널 아키텍처 개요 - 사용자 공간에서 하드웨어까지의 계층 구조
처음 오셨나요? 이 사이트는 리눅스 커널의 내부 구조와 동작 원리를 한국어로 정리한 기술 문서입니다.
커널 입문자라면 아래 순서대로 읽는 것을 권장합니다:
빌드 시스템 → 커널 모듈 → 커널 아키텍처 → 프로세스 관리 → 메모리 관리 → 인터럽트 순서로 진행하면 전체 그림을 잡을 수 있습니다.
리눅스 커널이란?
- 커널은 하드웨어와 소프트웨어 사이의 중재자입니다 — 프로세스 관리, 메모리 할당, 디바이스 제어 등을 담당합니다.
- 리눅스는 모놀리식(monolithic) 커널이지만, 모듈(module) 시스템으로 유연성을 확보합니다.
- 커널 코드는 특권 모드(Ring 0)에서 실행되며, 사용자 프로그램(Ring 3)보다 하드웨어에 직접 접근할 수 있습니다.
- 전 세계 수천 명의 개발자가 참여하는 오픈소스 프로젝트로, C 언어와 일부 어셈블리로 작성됩니다.
- 서버, 데스크탑, 모바일(Android), 임베디드, 슈퍼컴퓨터까지 거의 모든 플랫폼에서 동작합니다.
학습 로드맵
- 환경 준비 — 리눅스 배포판 설치 후 커널 소스를 내려받고, 빌드 시스템(Kbuild)으로 직접 컴파일해 봅니다.
- 모듈 작성 — 간단한 Hello World 커널 모듈을 만들어
insmod/rmmod로 로드·언로드해 봅니다. - 아키텍처 이해 — 커널의 계층 구조(User Space → System Call → Kernel → Hardware)를 파악합니다.
- 핵심 서브시스템 탐구 — 프로세스, 메모리, 파일시스템, 네트워킹 등 주요 서브시스템을 하나씩 학습합니다.
위 다이어그램의 각 계층을 클릭하거나, 아래 문서 목록에서 관심 주제를 선택하세요.
문서 목록
시작하기
플랫폼 & 부팅
자료구조
핵심 서브시스템
동기화
파일시스템
네트워킹
디바이스
컨테이너 / 가상화
디버깅 / 도구
고급 주제
참고