목차

0장 운영체제 이야기
운영체제 동작 사례
운영체제 동작 비유

1장 리눅스 소개
리눅스의 탄생
유닉스와 리눅스
리눅스의 배포판
리눅스의 장점
쉘(Shell) 사용해보기

2장 리눅스 커널 구조
리눅스 커널 구조
리눅스 커널 컴파일

3장 태스크 관리
프로세스의 쓰레드 그리고 태스크
사용자 입장에서 프로세스 구조
프로세스와 쓰레드의 생성과 수행
리눅스의 태스크 모델
태스크 문맥
상태 전이(State Transition)와 실행 수준 변화
런 큐와 스케줄링
문맥 교환
태스크와 시그널
CFS 스케줄러

4장 메모리 관리
메모리 관리 기법과 가상 메모리
물리 메모리 관리 자료 구조
Buddy와 Slab
가상 메모리 관리 기법
가상 메모리와 물리 메모리의 연결 및 변환
커널 주소 공간
리눅스와 64bit CPU
Lazy Buddy, Slub, Slob

5장 파일시스템과 가상 메모리
파일 시스템 일반
디스크 구조와 블록 관리 기법
FAT 파일시스템
inode 구조
Ext2 파일 시스템
Ext3 파일 시스템과 Ext4 파일 시스템
가상 파일 시스템
태스크 구조와 VFS 객체
파일 시스템 제어 흐름 분석

6장 인터럽트와 트랩 그리고 시스템 호출
인터럽터 처리 과정
시...스템 호출 처리 과정
새로운 시스템 호출 구현
시스템 호출 구현 확장

7장 리눅스 모듈 프로그래밍
마이크로 커널
모듈 프로그래밍 무작정 따라 하기
시스템 호출

8장 디바이스 드라이버
디바이스 드라이버 일반
문자 디바이스 드라이버 구조
블록 디바이스 구조
네트워크 디바이스 드라이버 구조

9장 네트워킹
계층 구조
주요 커널 내부 구조
리눅스에서 통신 프로토콜의 제어 흐름

10장 운영체제 관련 실습
쉘(Shell)
스케줄러와 시뮬레이팅 환경
버디 할당자와 시뮬레이팅 환경
FAT 파일 시스템과 디스크 에뮬레이팅 환경
디바이스 드라이버