메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

리눅스 커널 2.6 구조와 원리

리눅스 커널 2.6 구조와 원리

한빛미디어

번역서

절판

  • 저자 : 타카하시 히로카즈 , 오다 이츠로 , 야마하타 이사쿠
  • 번역 : 이영희
  • 출간 : 2007-06-18
  • 페이지 : 628 쪽
  • ISBN : 9788979144925
  • 물류코드 :1492
  • 초급 초중급 중급 중고급 고급
3점 (1명)
좋아요 : 39

커널 내부구조를 가장 빠르게 이해할 수 있는 이미지 학습법!

리눅스 커널은 다양한 분야에서 활용되고 있지만, 그 중에서도 임베디드 영역이 단연 으뜸일 것이다. 임베디드 영역에서 커널을 활용할 때는 기존의 커널에서 필요한 부분만 활용하는 경우가 많기 때문에 무엇보다 커널의 전체적인 이해가 중요하다. 또한, 필요할 때마다 해당 영역에 대한 동작원리를 알면 원하고자 하는 것을 구현하기가 수월하다.

이 책은 바로 이러한 필요성에 의해 집필되었다. 커널 학습 장벽을 최대한 낮춘 이미지 학습법으로 가장 빠르고 효과적으로 커널을 학습할 수 있는 길을 제시하였다. 먼저 관련 함수의 관계도를 그려서 명확하게 이해시키고, 그 함수의 소스를 라인별로 세세하게 분석해준다. 자연스럽게 응용력을 길러준다. 파일시스템을 제어하고 싶다면, 파일시스템 챕터를 펼쳐보면 된다. 그 원리를 알면 개발이 쉬워지고 문제해결에 걸리는 시간을 최소화할 수 있다. 커널을 해독하는 책이라고 해서 처음부터 단계별로 학습해야 하는 책은 결코 아니다. 필요할 때 필요한 기능과 개념을 찾아서 볼 수 있는 좋은 레퍼런스가 되어줄 것이다.

주요 내용

  • 커널의 기본 기능
    프로세스 스케줄링, 인터럽트, 지연처리, 타이머, 시스템 콜, 동기화
  • 프로세스
  • 프로세스 관리, 시그널 처리
  • 메모리 관리
    주소 변환, 커널 공간의 레이아웃, 물리 메모리의 관리, 동적 메모리 할당, 프로세스 공간의 관리, 페이지 회수 처리
  • 파일 관리
    가상 파일시스템, 파일 조작, 파일의 읽기/쓰기, 특수 파일의 접근, 유사 파일시스템, 로컬 파일시스템,
  • 네트워크
    소켓 인터페이스, IP층, UDP층, TCP 커넥션 관리, TCP 흐름 제어, TCP 혼잡 제어
  • 기타
    커널의 초기화, CPU 아키텍처 종속 문제

운영체제의 효율적인 동작에는 알고리즘도 중요하지만 자료구조도 중요합니다. 즉, 리눅스 커널에서 최적의 자료구조를 위해 어떤 선택을 했는지 생각하면서 책을 읽어본다면 책을 읽는 즐거움이 배가 될 것입니다. 리눅스 커널 분석이라는 긴 여행을 떠나는 모든 분들에게 이 책이 길을 잃지 않게 해주는 지표가 되기를 기대합니다.
- 감수자 서문에서

타카하시 히로카즈 저자

타카하시 히로카즈

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

오다 이츠로 저자

오다 이츠로

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

야마하타 이사쿠 저자

야마하타 이사쿠

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

이영희 역자

이영희

현재 노틸러스효성 주식회사 금융솔루션사업 본부의 부장으로 재직 중이며, 다년간 일본 히다찌 및 관련 계열사와의 SI프로젝트 및 패기지 개발에 주력하였다. 최근에는 효율적인 프로젝트 관리 및 품질 관리에 초점을 두고 국제 품질 인증 심사의 하나인 CMMI기반의 사내 품질경영시스템을 구축하고 있으며, 그와 관련 사내 제안 및 계약 프로세스의 표준화를 위해 활동하고 있다.

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 그 밖의 강화된 기능

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
리눅스 커널 2.6 구조와 원리
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
리눅스 커널 2.6 구조와 원리
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
리눅스 커널 2.6 구조와 원리
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실