서브메뉴

본문

리눅스 커널의 이해
리눅스 커널의 이해
저자 : Daniel Pierre Bovet
출판사 : 한빛미디어
출판년 : 2003
정가 : 36000, ISBN : 8979142528

책소개


커널에서 사용하는 주요 자료 구조, 알고리즘, 프로그래밍 트릭으로 안내하는 주요 길잡이이며, x86 아키텍처를 위한 주요 특징도 설명한다. 코드의 기능 뿐 아니라 리눅스가 동작하는 방식에 대해 이해하기 위한 바탕이 되는 이론을 함께 다룬다.

단순히 학문적인 내용을 뛰어넘어, 리눅스의 내부 동작을 완벽히 이해할 수 있게 해 주며, 이 책을 통해 리눅스가 가장 잘 동작하는 조건, 매우 다양한 시스템 환경에서 프로세스 스케줄링, 파일 접근, 메모리 관리 중에도 빠른 시스템 응답 시간을 보장하는 원리를 배울 것이다. 개정판에서는 커널 버전 2.4를 다룬다.

목차


1장. 소개
리눅스와 다른 유닉스 계열 커널 비교
하드웨어 의존성
리눅스 버전
운영체제의 기초 개념
유닉스 파일시스템 개요
유닉스 커널 개요

2장. 메모리 주소 지정
메모리 주소
하드웨어 세그먼테이션
리눅스에서의 세그먼테이션
하드웨어 페이징
리눅스 페이징

3장. 프로세스
프로세스와 경량 프로세스, 스레드
프로세스 디스크립터
프로세스 전환
프로세스 생성
프로세스 끝내기

4장. 인터럽트와 예외
인터럽트 시그널의 역할
인터럽트와 예외
예외 핸들러와 인터럽트 핸들러의 중첩 실행
인터럽트 디스크립터 테이블 초기화
예외 처리
인터럽트 처리
소프트 IRQ와 소작업, 하반부
인터럽트와 예외에서 복귀

5장. 커널 동기화
커널 제어 경로
동기화가 필요하지 않은 때
동기화 기법
커널 자료 구조로의 접근 동기화
경쟁 조건 방지의 예

6장. 타이밍 측정
하드웨어 시계
리눅스 시간 관리 구조
CPU의 시분할
날짜와 시간 갱신
시스템 통계 갱신
소프트웨어 타이머
타이밍 측정 관련 시스템 콜

7장. 메모리 관리
페이지 프레임 관리
메모리 영역 관리
불연속적인 메모리 영역 관리

8장. 프로세스 주소 공간
프로세스의 주소 공간
메모리 디스크립터
메모리 구역
페이지 폴트 예외 핸들러
프로세스 주소 공간의 생성과 제거
힙 관리

9장. 시스템 콜
POSIX API와 시스템 콜
시스템 콜 핸들러와 서비스 루틴
커널 래퍼 루틴

10장. 시그널
시그널의 역할
시그널 발생
시그널 배달
시그널 처리 관련 시스템 콜

11장. 프로세스 스케줄링
스케줄링 정책
스케줄링 알고리즘
스케줄링 관련 시스템 콜

12장. 가상 파일시스템
가상 파일시스템의 역할
VFS 자료 구조
파일시스템 유형
파일시스템 마운트하기
경로명 탐색
VFS 시스템 콜 구현
파일 락킹

13장. 입출력 장치 관리
입출력 아키텍처
장치 파일
장치 드라이버
블록 장치 드라이버
문자 장치 드라이버

14장. 디스크 캐시
페이지 캐시
버퍼 캐시

15장. 파일 접근
파일 읽기와 쓰기
메모리 매핑
직접 입출력 전송

16장. 스와핑: 메모리 해제 기법
스와핑이란 무엇인가
스왑 영역
스왑 캐시
스왑 페이지 전송
페이지 스왑 아웃
페이지 스왑 인
페이지 프레임 회수하기

17장. EXT2, EXT3 파일시스템
Ext2의 일반적인 특징
Ext2 디스크 자료 구조
Ext2 메모리 자료 구조
Ext2 파일시스템 생성
Ext2 메소드
Ext2 디스크 공간 관리
Ext3 파일시스템

18장. 네트워킹
주요 네트워킹 자료 구조
네트워킹 관련 시스템 콜
네트워크 카드로 패킷 전송하기
네트워크 카드에서 패킷 받기

19장. 프로세스 통신
파이프
FIFO
시스템 V IPC

20장. 프로그램 실행
실행 파일
실행 파일 형식
실행 도메인
exec 계열 함수

부록 A. 시스템 시작
부록 B. 모듈
부록 C. 소스 코드 구조
부록 D. 커널 2.6

참고 서적
이 책에서 사용한 용어
찾아보기