로그인정보 입력 영역
  • 다운로드
  • 뷰어사용안내
  • 자료대출안내
  • 모바일이용안내

새로나온 책

컨텐츠상세보기

리눅스 커널 2.6 구조와 원리
리눅스 커널 2.6 구조와 원리
  • 저자타카하시 히로카즈
  • 출판사한빛미디어
  • 출판일2007-06-18
  • 등록일2010-12-15
보유 3, 대출 0, 예약 0, 누적대출 3, 누적예약 0

책소개

리눅스 커널 2.6 입문서. 이 책은 리눅스 커널에서 자주 사용하는 함수의 동작 원리를 그림을 곁들여 이해하기 쉽게 설명한다. 또한 커널의 내부 구조와 함수와의 관계를 쉽게 이해시킬 수 있도록 구성했다. 

《리눅스 커널 2.6 구조와 원리》에서는 커널의 기본 기능에서부터 프로세스와 메모리 관리, 파일 관리와 아키텍처 종속 문제 등의 내용을 설명한다. 

저자소개

지은이
 타카하시 히로카즈(TAKAHASI HIROKAZU)
훗카이도(北海道) 대학 전자공학과를 졸업하였다. VAX 전성시대부터 각종 UNIX 계열 OS 기능 강화 및 커널 튜닝, 대규모 시스템용 리얼타임 OS를 설계하였다. ISP 서버 구축을 계기로 리눅스도 본격적으로 시작했다. 이런 경력탓인지 그는 소스 없는 프로그램(OS도 포함)은 신용하지 않는다고 한다.

 오다 이츠로(ODA ITUROU)
1986년부터 UNIX OS 개발을 하였다. 리눅스 코드를 하나하나 읽다 보니 코드에서 새로운 것들을 발견, 이것을 책으로 쓰면 좋을 것이라고 생각했는데, 그가 실천한 작품이 바로 이 책이다.

 야마하타 이사쿠(YAMAHATA ISAKU)
1999년부터 약 5년간 유명한 소프트웨어 개발회사에서 근무한 바 있다. 과거에는 주로 스토리지(Storage) 관련 개발을 하였으며, 현재는 리눅스 커널 튜닝, 파일시스템, 가상화 관련 개발에 주력하고 있다.

옮긴이
이영희
(주)노틸러스효성의 서비스기획팀에서 (주)효성 그룹의 IT업무(개발 및 운영 관리)를 담당하고 있다. 『SE를 위한 제안서 작성법』(한빛미디어, 2004), 『OS 구조와 원리: OS 개발 30일 프로젝트』(한빛미디어, 2007)을 번역하였다.

감수
한동훈
『IT EXPERT, 리눅스 커널 프로그래밍』 집필과 다수의 원서를 번역했다. 지문인식시스템을 개발하기도 했으며, 리눅스 커널 관련 프로젝트에도 참여하였다. 현재 주 관심분야는 알고리즘, 자료구조, 운영체제이며, 최후의 IT 낭만주의자가 되겠다며 태국에서는 팥빙수와 냉면을, 필리핀에서는 뻥튀기를, 베트남에서는 식혜를 판매하면서 코딩을 하겠다는 망상에 사로잡혀 있다. 벌써 그의 주변에는 동업하겠다는 IT 낭만주의자들이 속출하고 있다고 전해진다.

목차

저자 서문
역자 서문
감수자 서문

Chapter 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 커널의 기본 기능

Chapter 1 프로세스 스케줄링
1.1 멀티태스크
1.2 프로세스란?
1.3 프로세스 전환
1.4 프로세스 디스패처의 구현
1.5 프로세스 스케줄러
1.6 프로세스 스케줄러의 구현
1.7 이벤트 대기
1.8 한마디 더

Chapter 2 인터럽트
2.1 인터럽트 처리란?
2.2 리눅스 커널 인터럽트 처리의 특징
2.3 하드웨어 인터럽트 처리
2.4 프로세서 간의 인터럽트
2.5 마스크 불가 인터럽트(NMI)
2.6 한마디 더

Chapter 3 지연 처리
3.1 인터럽트 처리의 지연
3.2 workqueue

Chapter 4 타이머
4.1 타이머의 역할
4.2 3개의 타이머
4.3 리눅스 타이머
4.4 각종 타이머 관련 하드웨어
4.5 시각 측정
4.6 시각 관리의 과제
4.7 타이머 리스트
4.8 구간 타이머
4.9 POSIX 타이머

Chapter 5 시스템 콜
5.1 시스템 콜과 커널 서비스
5.2 프로세스로부터 커널을 호출
5.3 int 0x80과 sysenter를 변환하는 vsyscall
5.4 부팅 및 코어 덤프
5.5 프로세스 공간 접근과 예외 테이블
5.6 커널의 실제 구현
5.7 한마디 더

Chapter 6 동기화
6.1 배제 처리
6.2 프로세스 콘텍스트 사이에서의 배제
6.3 인터럽트 콘텍스트의 배제
6.4 멀티프로세서 환경에서의 배제
6.5 배제 처리의 이용 예 - 디렉토리 엔트리 캐시
6.6 한마디 더


PART 2 프로세스

Chapter 7 프로세스 관리
7.1 프로세스 모델
7.2 프로세스에 관한 자료 구조
7.3 프로세스 및 프로세스 그룹의 관리
7.4 프로세스 라이프 사이클
7.5 프로세스 종료 후의 처리
7.6 특수한 프로세스나 스레드
7.7 스레드 관련 보충 사항
7.8 한마디 더

Chapter 8 시그널 처리
8.1 시그널 구현
8.2 시그널 처리의 커널 코드
8.3 한마디 더


PART 3 메모리 관리

Chapter 9 주소 변환
9.1 가상 주소 공간의 모델
9.2 리눅스의 페이지 변환 테이블
9.3 Intel 아키텍처의 페이지 변환 테이블
9.4 그 외 아키텍처의 페이지 변환 테이블
9.5 TLB
9.6 메모리 캐시
9.7 주소 변환 처리에 대한 정리

Chapter 10 커널 공간의 레이아웃
10.1 IA-32의 커널 공간 레이아웃
10.2 그 밖의 커널 레이아웃
10.3 커널 공간 레이아웃의 정리

Chapter 11 물리 메모리 관리
11.1 제어 구조
11.2 빈 페이지의 관리
11.3 획득, 해제 인터페이스
11.4 페이지 할당 처리의 구현
11.5 버디 시스템의 사용 상황
11.6 물리 메모리 관리의 정리

Chapter 12 동적 메모리 할당
12.1 슬랩 할당자(Slab Allocator)
12.2 메모리 풀(Memory Pool)
12.3 vmalloc
12.4 동적 메모리 할당의 정리

Chapter 13 프로세스 공간 관리
13.1 기본 테크닉
13.2 제어 구조
13.3 프로세스 공간 처리의 구현 방법
13.4 스택 영역 관리
13.5 페이지 폴트(Page Fault) 구현 방법
13.6 그 밖의 주제
13.7 프로세스 공간 관리의 정리

Chapter 14 페이지 회수 처리
14.1 기본 전략
14.2 회수 대상 페이지의 관리 구조
14.3 회수 처리의 실체와 실행의 계기
14.4 회수 처리 구현
14.5 페이지 회수 처리의 정리


PART 4 파일 관리

Chapter 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 가상 파일시스템의 정리

Chapter 16 파일 조작
16.1 파일 오픈
16.2 파일 생성
16.3 파일 삭제
16.4 파일 rename
16.5 파일 속성 변경
16.6 파일 truncate
16.7 그 밖의 파일 조작
16.8 파일 잠금
16.9 파일 잠금의 구현

Chapter 17 파일 읽기, 쓰기
17.1 읽기와 쓰기의 기본
17.2 파일 캐시의 데이터 구조
17.3 읽기 처리의 구현
17.4 쓰기 처리의 구현
17.5 디스크 쓰기의 구현
17.6 페이지 캐시의 쓰기
17.7 직접 전송의 구현
17.8 메모리 매핑의 I/O 처리
17.9 읽기와 쓰기 처리의 정리

Chap