목차
역자 서문 = 5
서문 = 13
1장. 리눅스 커널 소개 = 23
드라이버 제작자의 역할 = 24
커널 기능의 구분 = 25
디바이스와 모듈의 클래스 = 28
보안 관련 논의 = 30
버전 번호 = 31
라이센스 조건 = 33
이 책의 개요 = 34
2장. 모듈의 빌드와 실행 = 37
모듈 대 응용 프로그램 = 38
컴파일과 적재 = 43
커널 심볼 테이블 = 47
초기화와 셧다운 = 51
자원의 사용 = 56
자동 설정과 수동 설정 = 62
사용자 공간에서의 작업 = 64
참조사항 = 67
3장. 문자 드라이버 = 71
scull의 설계 = 71
주번호와 부번호 = 73
파이 조작 = 80
file 구조체 = 84
열기와 닫기 = 85
Scull의 메모리 사용 = 90
read와 write = 93
새 디바이스 다루기 = 99
참조 사항 = 99
4장. 디버깅 기법 = 101
프린트에 의한 디버깅 = 101
큐에 의한 디버깅 = 106
관찰에 의한 디버깅 = 110
시스템폴트 디버깅 = 112
디버거 사용하기 = 124
5장. 향상된 문자 드라이버 연산 = 131
joct = 132
블록킹 I/O = 144
Select 메쏘드 = 154
Poll 메쏘드 = 156
비동기 통지 = 162
디바이스 찾기 = 165
디바이스 파일에서의 접근 제어 = 166
참조 사항 = 173
6장. 시간의 흐름 = 179
커널에서의 시간 간격 = 179
현재 시간 알기 = 180
실행 지연하기 = 182
태스크 큐 = 186
커널 타이머 = 196
참조사항 = 200
7장. 메모리 획득 = 203
kmalloc의 실제 동작 = 203
get_free_page와 관련 함수 = 206
vmalloc과 관련함수 = 209
지저분한 동작 = 213
참조 사항 = 214
8장. 하드웨어 관리 = 217
I/O 포트 사용하기 = 218
병렬 포트 사용하기 = 222
디바이스 보드에서의 메모리 사용 = 225
텍스트 모드 비디오 버퍼 사용하기 = 230
참조 사항 = 231
9장. 인터럽트 처리 = 233
병렬 포트 준비하기 = 233
인터럽트 핸들러 설치하기 = 234
핸들러 구현하기 = 246
Botton Halves = 251
인터럽트 공유 = 257
인터럽트 관리 = 261
인터럽트 구동의 I/O = 262
경쟁 상태 = 262
IRQ처리의 버전 의존성 = 271
참조 사항 = 272
10장. 데이터 타입의 현명한 사용 = 275
표준 C타입사용 = 276
데이터아이템에 명확한 크기 지정하기 = 277
인터페이스 특유의 타입 = 278
그 밖의 이식성 문제 = 279
참조 사항 = 283
11장. Kerneld와 고급 모듈화 = 285
요구시 모듈 로드하기 = 285
모듈에서의 버전관리 = 291
언로드/로드에 걸친 지속적 저장 = 296
참조 사항 = 298
12장. 블록 드라이버 적재 = 301
드라이버 등록하기 = 301
헤더 파일 blk.h = 307
요구 처리 = 309
다운팅이 작동하는 방법 = 316
loctl메소드 = 317
제거 가능한 디바이스 = 320
파티션 가능한 디바이스 = 323
인터럽트 구동의 블록 드라이버 = 333
참조사항 = 335
13장. Mmap과 DMA = 337
리눅스에서의 메모리 관리 = 337
mmap디바이스 연산 = 346
직접 메모리 사용 = 360
참조 사항 = 371
14장. 네트워크 드라이버 = 373
snull을 설계한 방법 = 374
커널에 연결하기 = 378
device구조체의 상세 = 384
열기와 닫기 = 392
패킷 송신 = 394
패킷 수신 = 396
인터럽트 구동의 연산 = 398
소켓 버퍼 = 400
주소 분석 = 403
로드시 구성 = 406
동작시 구성 = 407
커스텀 ioctl명령들 = 409
통계 정보 = 411
멀티 캐스팅 = 411
참조 사항 = 415
15장. 주변 장치 버스의 개요 = 417
PCI 인터페이스 = 417
ISA 되돌아 보기 = 432
그밖의 PC 버스들 = 435
Sbus = 437
참조 사항 = 438
16장. 커널 소스의 실제 배치 = 441
커널 부팅하기 = 442
부팅 전 = 443
init 프로세스 = 448
kernel 디렉토리 = 449
mm 디렉토리 = 451
fs 디렉토리 = 453
네트워킹 = 458
IPC와 lib 함수들 = 459
드라이버들 = 460
아키텍쳐 의존성 = 461
찾아보기 = 463