서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
리눅스 커널의 이해
저자 : Daniel Pierre Bovet
출판사 : 한빛미디어
출판년 : 2001
정가 : 35000, ISBN : 8979141599
책소개
입출력 포트에서 프로세스 관리까지 커널에 대해 체계적으로 잘 짜여진 구성과 함께 명쾌한 설명으로 운영체제에 대한 실질적인 밑그림을 제시하고 있다. 리눅스가 어떻게 동작하는지, 리눅스가 왜 효율적인지 궁금해하는 사람들에게 해답을 제시하고 있으며 이 책을 통해 수천줄의 코드를 읽어내고 이해할 수 있는 안목으로 발전할 수 있을 것이다.
커널에서 사용하는 중요한 자료 구조와 알고리즘, 프로그래밍 기법을 다루고 이 내용에 해당하는 코드를 행 단위로 설명했다. 책의 분량이나 간결성을 위해 책에서 설명하지 않는 부분에 대해서는 항상 소스 코드를 가까이 두고 분석하도록 노력하는 것이 중요하다.
리눅스를 우연한 기회로 시작한 해커의 실험으로 보는 이도 있지만, 이제 리눅스는 점점 더 많은 기관의 서버로 자리잡고 있으며, 프로그래밍 기술 역시 나날이 정교해지고 있다. 또한 진보적인 운영체제 개념을 표방하며, 광범위한 분야에서 매우 견고하고, 효율적으로 동작한다고 알려져 있다.
이 책을 읽고 나면, 리눅스의 성능을 최고로 끌어올리는 조건이 무엇인지 이해할 수 있다. 또한 프로세스 스케줄링과 파일 접근 그리고 다양한 환경에서 메모리를 관리하는 동안 시스템 반응을 향상시켜 달라는 요구를 만족시킬 방법도 알 수 있다. 이 책에서는 각 주제를 설명할 때 그것이 왜 중요한지 설명하고, 커널 동작을 유닉스 프로그래머와 사용자에게 익숙한 시스템 콜이나 유틸리티와 연관지어 이야기한다. 커널의 근본 원리가 쉽게 변하지 않는 점을 감안할 때 이 책은 다른 운영체제의 작동 원리나 구조를 파악하는 데도 도움이 될 것이다.
리눅스 커널 내부를 바꾸거나 장치 드라이버를 작성하려는 개발자뿐만 아니라 리눅스 커널 자체의 실질적인 동작에 관심이 많은 이들의 호기심을 충분히 만족시켜줄 것이다. 특정한 시스템 관리자나 프로그래머가 아니고, 주로 기계 내부에서 실제로 동작하는 방법을 이해하고자 하는 사람을 대상으로 하였다.
목차
1장. 소개
리눅스와 다른 유닉스 계열 커널 비교
하드웨어 의존성
리눅스 버전
운영체제의 기초 개념
유닉스 파일시스템 개요
유닉스 커널 개요
2장. 메모리 주소 지정
메모리 주소
하드웨어 세그먼테이션
리눅스 세그먼테이션
하드웨어 페이징
리눅스 페이징
리눅스 2.4 예상
3장. 프로세스
프로세스 디스크립터
프로세스 전환
부동 소수점 레지스터 저장
프로세스 생성
프로세스 끝내기
리눅스 2.4 예상
4장. 인터럽트와 예외
인터럽트 시그널 역할
인터럽트와 예외
예외 핸들러와 인터럽트 핸들러의 중첩 실행
인터럽트 디스크립터 테이블 초기화
예외 핸들링
인터럽트 핸들링
인터럽트와 예외에서 복귀
리눅스 2.4 예상
5장. 타이밍 측정
하드웨어 시계
타이머 인터럽트 핸들러
PIT의 인터럽트 서비스 루틴
TIMER_BH 하반부 함수
타이밍 측정과 관련한 시스템 콜
리눅스 2.4 예상
6장. 메모리 관리
페이지 프레임 관리
메모리 영역 관리
불연속적0인 메모리 영역 관리
리눅스 20.4 예상
7장. 프로세스 주소 공간
프로세스 주소 공간
메모리 디스크립터
메모리 영역
페이지 폴트 예외 핸들러
프로세스 주소 공간 생성과 삭제
힙 관리
리눅스 2.4 예상
8장. 시스템 콜
포직스 API와 시스템 콜
시스템 콜 핸들러와 서비스 루틴
포장 함수
리눅스 2.4 예상
9장. 시그널
시그널의 역할
시그널 보내기
시그널 받기
실시간 시그널
리눅스 2.4 예상
10장. 프로세스 스케줄링
스케줄링 정책
스케줄링 알고리즘
스케줄링과 관련한 시스템 콜
리눅스 2.4 예상
11장. 커널 동기화
커널 제어 경로
동기화 기법
SMP 구조
리눅스/SMP 커널
리눅스 2.4 예상
12장. 가상 파일시스템
VFS의 역할
VFS 자료 구조
파일시스템 마운트하기
경로명 탐색
VFS 시스템 콜 구현
파일 락킹
리눅스 2.4 예상
13장. 입출력 장치 관리
입출력 아키텍처
파일을 입출력 장치와 연관시키기
장치 드라이버
문자 장치 처리
블록 장치 처리
페이지 입출력 연산
리눅스 2.4 예상
14장. 디스크 캐시
버퍼 캐시
페이지 캐시
리눅스 2.4 예상
15장. 정규 파일 접근
정규 파일 읽기와 쓰기
메모리 매핑
리눅스 2.4 예상
16장. 스와핑: 메모리 해제 방법
스와핑이란 무엇인가?
스왑 영역
스왑 캐시
스왑 페이지 전송
페이지 스왑 아웃
페이지 스왑 인
페이지 프레임 해제
빈 메모리 감시하기
리눅스 2.4 예상
17장. Ext2 파일시스템
일반적인 특성
디스크 자료 구조
메모리 자료 구조
파일시스템 생성
Ext2 메소드
디스크 공간 관리
Ext2 정규 파일 읽기와 쓰기
리눅스 2.4 예상
18장. 프로세스 통신
파이프
FIFO
시스템 V IPC
리눅스 2.4 예상
19장. 프로그램 실행
실행 가능한 파일
실행 가능한 형식
실행 도메인
exec 계열 함수
리눅스 2.4 예상
부록 A. 시스템 시작
부록 B. 모듈
부록 C. 소스 코드 구조
참고 문헌
찾아보기