책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 리눅스/유닉스 프로그래밍
· ISBN : 9788979144925
· 쪽수 : 628쪽
· 출판일 : 2007-06-18
목차
저자 서문
역자 서문
감수자 서문
0장 리눅스 커널의 구성 요소
0.1 리눅스 커널이란?
0.2 리눅스 커널의 소스 코드
0.3 리눅스 커널 기본 기능
0.4 커널 프로그래밍
0.5 프로세스 관리
0.6 메모리 관리
0.7 파일시스템
0.8 네트워크
0.9 프로세스 간 통신
0.10 리눅스 커널의 부팅 과정
0.11 리눅스 커널의 동작 예
part 1 커널의 기본 기능
1장 프로세스 스케줄링
1.1 멀티태스크
1.2 프로세스란?
1.3 프로세스 전환
1.4 프로세스 디스패처의 구현
1.5 프로세스 스케줄러
1.6 프로세스 스케줄러의 구현
1.7 이벤트 대기
1.8 한마디 더
2장 인터럽트
2.1 인터럽트 처리란?
2.2 리눅스 커널 인터럽트 처리의 특징
2.3 하드웨어 인터럽트 처리
2.4 프로세서 간의 인터럽트
2.5 마스크 불가 인터럽트(NMI)
2.6 한마디 더
3장 지연 처리
3.1 인터럽트 처리의 지연
3.2 workqueue
4장 타이머
4.1 타이머의 역할
4.2 3개의 타이머
4.3 리눅스 타이머
4.4 각종 타이머 관련 하드웨어
4.5 시각 측정
4.6 시각 관리의 과제
4.7 타이머 리스트
4.8 구간 타이머
4.9 POSIX 타이머
5장 시스템 콜
5.1 시스템 콜과 커널 서비스
5.2 프로세스로부터 커널을 호출
5.3 int 0x80과 sysenter를 변환하는 vsyscall
5.4 부팅 및 코어 덤프
5.5 프로세스 공간 접근과 예외 테이블
5.6 커널의 실제 구현
5.7 한마디 더
6장 동기화
6.1 배제 처리
6.2 프로세스 콘텍스트 사이에서의 배제
6.3 인터럽트 콘텍스트의 배제
6.4 멀티프로세서 환경에서의 배제
6.5 배제 처리의 이용 예 - 디렉토리 엔트리 캐시
6.6 한마디 더
PART 2 프로세스
7장 프로세스 관리
7.1 프로세스 모델
7.2 프로세스에 관한 자료 구조
7.3 프로세스 및 프로세스 그룹의 관리
7.4 프로세스 라이프 사이클
7.5 프로세스 종료 후의 처리
7.6 특수한 프로세스나 스레드
7.7 스레드 관련 보충 사항
7.8 한마디 더
8장 시그널 처리
8.1 시그널 구현
8.2 시그널 처리의 커널 코드
8.3 한마디 더
part 3 메모리 관리
9장 주소 변환
9.1 가상 주소 공간의 모델
9.2 리눅스의 페이지 변환 테이블
9.3 Intel 아키텍처의 페이지 변환 테이블
9.4 그 외 아키텍처의 페이지 변환 테이블
9.5 TLB
9.6 메모리 캐시
9.7 주소 변환 처리에 대한 정리
10장 커널 공간의 레이아웃
10.1 IA-32의 커널 공간 레이아웃
10.2 그 밖의 커널 레이아웃
10.3 커널 공간 레이아웃의 정리
11장 물리 메모리 관리
11.1 제어 구조
11.2 빈 페이지의 관리
11.3 획득, 해제 인터페이스
11.4 페이지 할당 처리의 구현
11.5 버디 시스템의 사용 상황
11.6 물리 메모리 관리의 정리
12장 동적 메모리 할당
12.1 슬랩 할당자(Slab Allocator)
12.2 메모리 풀(Memory Pool)
12.3 vmalloc
12.4 동적 메모리 할당의 정리
13장 프로세스 공간 관리
13.1 기본 테크닉
13.2 제어 구조
13.3 프로세스 공간 처리의 구현 방법
13.4 스택 영역 관리
13.5 페이지 폴트(Page Fault) 구현 방법
13.6 그 밖의 주제
13.7 프로세스 공간 관리의 정리
14장 페이지 회수 처리
14.1 기본 전략
14.2 회수 대상 페이지의 관리 구조
14.3 회수 처리의 실체와 실행의 계기
14.4 회수 처리 구현
14.5 페이지 회수 처리의 정리
part 4 파일 관리
15장 가상 파일시스템(VFS)
15.1 VFS층이란?
15.2 VFS층의 데이터 구조
15.3 오픈 파일 관리
15.4 디렉토리 엔트리의 관리 구조
15.5 inode 구조체의 관리 구조
15.6 super_block 구조체의 관리 구조
15.7 이름 공간의 구성
15.8 파일 연산
15.9 이름 공간의 구현
15.10 가상 파일시스템의 정리
16장 파일 조작
16.1 파일 오픈
16.2 파일 생성
16.3 파일 삭제
16.4 파일 rename
16.5 파일 속성 변경
16.6 파일 truncate
16.7 그 밖의 파일 조작
16.8 파일 잠금
16.9 파일 잠금의 구현
17장 파일 읽기, 쓰기
17.1 읽기와 쓰기의 기본
17.2 파일 캐시의 데이터 구조
17.3 읽기 처리의 구현
17.4 쓰기 처리의 구현
17.5 디스크 쓰기의 구현
17.6 페이지 캐시의 쓰기
17.7 직접 전송의 구현
17.8 메모리 매핑의 I/O 처리
17.9 읽기와 쓰기 처리의 정리
18장 특수 파일의 접근
18.1 블록 디바이스층의 구현
18.2 문자 특수 파일의 구현
18.3 파이프 구현
19장 유사 파일시스템
19.1 proc 파일시스템
19.2 sysfs
20장 로컬 파일시스템
20.1 Ext3 파일시스템
20.2 저널링
part 5 네트워크
21장 소켓 인터페이스
21.1 계층 모델
21.2 네트워크 구현의 전체 모습
21.3 소켓 인터페이스
21.4 소켓 버퍼와 소켓 버퍼 헤드
21.5 넷 디바이스
21.6 라우팅 소켓
21.7 한마디 더
22장 IP층
22.1 이더넷 구조
22.2 IP 네트워크 구조
22.3 IPv4 소켓과 IP 패킷 타입
22.4 라우팅 처리
22.5 수신 처리
22.6 IP 패킷 송신 처리
22.7 ICMP
22.8 한마디 더
23장 UDP층
23.1 UDP
23.2 한마디 더
24장 TCP 연결 관리
24.1 TCP 구조와 커널 관련의 주요 포인트
24.2 TCP 소켓 배제 처리
24.3 포트 관리
24.4 TCP 연결
24.5 TCP 연결 종료
24.6 한마디 더
25장 TCP 흐름 제어
25.1 흐름 제어
25.2 재발송
25.3 리눅스 커널 내 구현
25.4 수신 처리
25.5 TCP 송신
25.6 타이머와 지연 확인 응답
25.7 한마디 더
26장 TCP 혼잡 제어
26.1 혼잡 제어(congestion control)
26.2 TCP 옵션
26.3 TCP 확장
26.4 혼잡 제어
26.5 한마디 더
part 6 그 밖의 주제
27장 커널의 초기화
27.1 커널의 로드
27.2 커널의 초기화 처리
28장 CPU 아키텍처 종속 부분
28.1 CPU 아키텍처
28.2 특권 레지스터
28.3 인터럽트 처리, 예외 처리, IPI
28.4 MMU
28.5 CPU 부팅과 정지
28.6 한마디 더
부록 A 리눅스 커널 2.6의 새로운 기능
A.1 개요
A.2 대규모 시스템 지원 강화
A.3 엔트리 시스템 지원 강화
A.4 그 밖의 강화된 기능