커널 2.6 완벽 분석! 새로운 커널 세계의 문을 연다리눅스가 어떤 원리로 동작하는지, 그리고 어떻게 여러 종류의 시스템에서 잘 동작하는지를 제대로 이해하기 위해서는 운영체제의 핵심, 즉 리눅스 커널에 깊숙히 들어가 볼 필요가 있다. 리눅스 커널은 CPU와 외부 세계 사이의 모든 상호작용을 처리하며, 어떤 프로그램이 프로세서의 시간을 어떤 순서로 사용할지 결정한다. 또한 한정된 메모리를 관리하여 수백 개의 프로세스가 시스템을 효율적으로 공유할 수 있도록 하며, 데이터 전송 순서를 관리하여 CPU보다 상대적으로 느린 하드디스크를 CPU가 필요 이상으로 기다리지 않도록 한다.
이 책은 커널에서 사용되는 주요 자료구조, 알고리즘, 프로그래밍 트릭으로 여러분을 안내하는 길잡이다. 저자들은 컴퓨터 안에서 실제로 작업이 어떻게 이루어지는지 알고 싶어하는 독자들에게 표면적인 특징들을 넘어서는 값진 식견을 제공한다. 또한 인텔 x86 아키텍처를 위한 주요 특징에 대해서도 설명하며 관련된 코드 세그먼트는 한 줄씩 자세히 설명한다. 그렇다고 단순히 코드의 기능만을 다루는 것은 아니다. 리눅스가 왜 그렇게 동작하는지 이해하기 위한 바탕이 되는 이론을 함께 다룬다.
이 책은 커널 버전 2.6을 다루고 있다. 버전 2.6에서 거의 대부분의 커널 서브시스템이 많이 변경되었는데, 메모리 관리와 블럭 장치 부분이 특히 많이 변경되었다.
『리눅스 커널의 이해』(개정3판)는 리눅스의 내부 동작을 이해할 수 있도록 해 줄 것이다. 이 책은 학문적인 내용을 넘어서 리눅스가 어떤 조건에서 가장 잘 동작하는지, 그리고 프로세스 스케줄링, 파일 접근, 메모리 관리 중에도 빠른 시스템 응답 시간을 어떻게 제공하는지를 알게 해 줄 것이다. 이 책은 여러분이 리눅스 시스템을 이해하는 것을 도와줄 것이다.
주요내용
- 메모리 관리 (파일 버퍼링, 프로세스 스와핑, DMA 등)
- 가상 파일시스템 계층, Ext2와 Ext3 파일시스템
- 프로세스 생성과 스케줄링
- 시그널, 인터럽트, 장치 드라이버의 핵심 인터페이스
- 타이밍
- 커널 내부 동기화
- 프로세스간 통신(IPC)
- 프로그램 실행