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