리눅스 커널 정리 /with MINZKN

Linux 커널 개발자를 위한 종합 한글 레퍼런스

의견, 개선 제안, 오류 제보는 페이지 하단의 댓글을 이용해 주세요.

기준 커널 6.x ~ 7.2 · 최종 업데이트 2026-09-28 · Editor

🔎 Calltrace 분석기 — 커널 dump를 붙여넣으면 Oops · Panic · Soft/Hard Lockup · NMI · WARN을 즉시 분석합니다.

리눅스 커널을 시작한다면

이 사이트는 리눅스 커널의 내부 구조와 동작 원리를 한국어로 정리한 기술 문서 모음입니다. 커널이 무엇이고 어떻게 구성되어 있는지 먼저 확인한 다음, 지금 필요한 길로 골라 들어가세요.

리눅스 커널이란?

  • 커널은 하드웨어와 소프트웨어 사이의 중재자입니다. 프로그램이 하드웨어를 쓰려면 커널을 거쳐야 하며, 프로세스 관리 · 메모리 할당 · 디바이스 제어를 담당합니다.
  • 리눅스 커널은 어플리케이션이 하드웨어에 직접 접근하지 못하도록 사용자 모드(user mode)와 특권 모드(Ring 0)를 분리합니다.
  • 커널은 모놀리식(monolithic) 구조이지만, 기능별로 나눈 모듈(module)로 언제든 붙였다 떼며 확장합니다.
  • 전 세계 수천 명의 개발자가 참여하는 오픈소스 프로젝트이며, C 언어와 일부 어셈블리로 작성됩니다.
  • 서버, 데스크탑, 모바일(Android), 임베디드, 슈퍼컴퓨터까지 거의 모든 플랫폼에서 동작합니다.

본문에서 처음 나오는 기술 용어는 용어 요약에서 한 번에 확인할 수 있습니다.

커널 전체 구조

사용자 공간 (User Space) 셸 · 데몬 · GUI 앱 · 네트워크 서비스 · 컨테이너 런타임 · POSIX 응용 프로그램 시스템 콜 인터페이스 (System Call Interface) — read · write · mmap · socket · clone · ioctl · epoll… 프로세스 · 스케줄링 EEVDF · CFS · RT · DEADLINE 컨텍스트 스위치 · cpusets · kthread 메모리 관리 Buddy · SLAB/SLUB · NUMA Huge Pages · mmap · OOM · Swap VFS · 파일시스템 ext4 · Btrfs · XFS · F2FS NFS · FUSE · OverlayFS · Page Cache 네트워크 스택 TCP/IP · UDP · SCTP · ICMP Netfilter · BPF/XDP · sk_buff 인터럽트 · 타이머 IRQ · Softirq · Hardirq Workqueue · ktime · HRTIMER 동기화 · RCU Mutex · Spinlock · Semaphore RCU · Atomic · 메모리 배리어 블록 I/O · 스토리지 NVMe · io_uring · AIO SCSI · Device Mapper · Readahead 보안 · LSM SELinux · AppArmor · Seccomp Crypto · IPsec · WireGuard · kTLS 컨테이너 · 가상화 cgroups v2 · 네임스페이스 KVM · LXC · 보안 격리 자료구조 · kobject RBtree · XArray · Maple Tree kfifo · IDR · kobject · sysfs 전원 · 성능 CPUFreq · CPUIdle · RAPL Thermal · Livepatch · 최적화 디버깅 · 도구 ftrace · KGDB · perf · crash Tracepoints · KASAN · Rust 지원 디바이스 드라이버 (Device Drivers) PCI/PCIe · USB · I2C/SPI/GPIO · NIC · GPU(DRM/KMS) · ALSA · MTD · DMA · Watchdog 하드웨어 (Hardware) CPU · RAM · NVM Storage · NIC · GPU · NPU · 임베디드 MCU · 센서 · 버스(PCIe/USB/I2C) 핵심 보조 고급 커널 공간 (Kernel Space)
Linux 커널 종합 아키텍처 맵 — 사용자 공간부터 하드웨어까지, 대표 분류 축을 보여주는 한글 문서 지도

어디서부터 시작할까

처음 커널을 시작합니다

환경 준비부터 첫 모듈까지 — 여기만 따라가도 됩니다

  1. 개발 환경 설정 — 배포판 준비, 커널 소스 내려받기, 빌드 도구 설치
  2. 첫 번째 모듈 만들기 — Hello World 모듈을 insmod/rmmod로 로드하고 언로드
  3. 커널 아키텍처 — 사용자 공간부터 하드웨어까지 계층 구조를 먼저 파악
  4. 커널 개발 주의사항 — 처음 만나는 실수 모음 (한 번은 읽어 두세요)

여기까지가 최소 경로입니다. 그다음 주제는 아래 목표별 추천에서 골라서 이어서 읽으세요.

이미 커널을 다루고 있다면

알던 내용을 찾거나, 이미 있는 문제를 좁혀 갑니다

찾아가는 방법

  • 상단 검색창에 slab, spinlock, ftrace처럼 핵심 키워드를 입력하면 제목·설명·태그를 함께 검색합니다
  • 왼쪽 사이드바에서 전체 카테고리를 펼치거나 접으며 이동할 수 있습니다
  • 전체 문서 목록에서 카테고리별로 펼치거나 키워드로 걸러 보세요

이미 좁혀 둔 문제라면

무엇을 다룰지 먼저 고르세요

위 최소 경로를 마쳤다면, 지금 필요한 주제 하나만 골라서 이어서 읽으면 됩니다. 각 항목은 그 주제를 처음 접할 때 읽는 순서대로 나열했습니다.

💡
이 사이트 이용 방법
  • 문서 안의 각 장은 우측 목차로 빠르게 점프하고, 사이드바의 온라인 도구에서 브라우저 도구를 바로 쓸 수 있습니다.
  • 상단 A 버튼으로 본문 서체를 Sans-serif · Serif 중에서 골라 쓰고, 다크 · 라이트 · 솔라라이즈 · 노르드 · 고대비 중 원하는 테마를 선택하세요. 선택한 설정은 브라우저에 기억됩니다.

전체 문서 목록

카테고리별로 걸친 모든 기술 문서와 도구입니다. 카테고리 이름을 눌러 해당 영역만 펼쳐 보거나, 아래 입력창에 키워드를 넣어 필요한 문서만 골라 보세요.

어디서 시작할지 모르겠으면 위의 시작하기를 먼저 보세요.

개발 환경 & 설정
커널 개발 실무
개발 도구 & 워크플로
프로그래밍 언어 & 툴체인
시스템 구성 & 배포
아키텍처 & 플랫폼
부팅 & 시스템 초기화
프로세스 & 실행 모델
IPC & 프로세스 간 통신
ABI & 시스템 인터페이스
스케줄링 & CPU 격리
메모리 관리
동기화 & 동시성
인터럽트 & 시간
자료구조
파일시스템
블록 스토리지 & I/O
네트워크 데이터 경로
네트워크 정책 & 트래픽 제어
가상 네트워크 & 터널링
네트워크 보안
고성능 네트워킹
디바이스 & 버스
주변장치 & 하드웨어 제어
그래픽 & 가속기
미디어 & 오디오
디지털 논리회로 & FPGA
전원 & 열 관리
컨테이너 & 가상화
플랫폼 보안 & 무결성
암호화 & 난수
디버깅 & 레퍼런스
관측성 & 성능 분석
온라인 도구
참고

댓글 · 의견 주세요

문서 오탈자, 잘못된 설명, 더 필요한 내용, 다른 문서에 대한 제안까지 모두 환영합니다. 처음 방문자분들의 질문이 특히 도움이 되니, 읽다가 막힌 지점이 있으면 편하게 남겨 주세요.