오탈자, 부록 및 예제소스, 관련 사이트가 자료 메뉴로 통합되었어요.
쪽수
ISBN
브랜드
최근 다양한 응용분야에서 지지세력을 넓혀나가고 있는 리눅스 운영체제 환경에서 컴퓨터 주변장치를 사용하기 위해 설정하려는 파워유저 또는 아예 리눅스용 새 하드웨어를 개발하려는 개발자를 위한 필수 지침서. 이 책은 지금까지 산재되어 있거나 소스 코드에 포함되어 있는 암호와 같은 구문에서 유용한 정보를 밝혀내고 여러 영역에 걸친 드라이버를 작성하는 방법을 명확하게 보여 준다.
커널 해커 수준이 아니더라도 C 언어에 대한 이해와 유닉스 시스템 콜에 대한 기초 지식만 갖추면 이 책을 충분히 이해할 수 있다. 문자 디바이스, 블록 디바이스, 그리고 네트워크 인터페이스용 드라이버 등을 단계적으로 설명하고 있으며, 드라이버 설계의 주제에 맞도록 완전한 기능을 가진 예제를 보여 준다. 물론 디바이스는 특정 하드웨어 사양에 한정되지 않도록 설계되어 있다.
특히 운영체제가 이런 작업을 어떻게 수행하는지 궁금증을 가진 사람들은 이 책을 통해 주소 공간, 비동기 이벤트, 그리고 I/O 등으로 시야를 넓힐 수 있다. 커널 버전 1.2.13으로부터 2.0과 2.2에 이르기까지 폭넓게 다루고 있으며, 여러 하드웨어 플랫폼 사이에서 호환성을 최대한 유지할 수 있는 방법도 상세히 설명한다.
주요 내용
이 책은 리눅스 운영체제에서 하드웨어에 관한 전반적인 사항을 쉽게 파악할 수 있도록 매우 체계적으로 구성되어 있을 뿐만 아니라 다루는 영역도 광범위하다. 게다가 각 장별로 참조사항을 정리해 본문 내용을 쉽게 이해할 수 있도록 독자를 배려한 점도 눈에 띈다. 저자의 명성만으로도 책에 대한 관심을 솟게 하기에 충분하다.
― 패트릭 로버츠, 로스앤젤레스, 2000. 1. 22
역자 서문
서문
1장. 리눅스 커널 소개
드라이버 제작자의 역할
커널 기능의 구분
디바이스와 모듈의 클래스
보안 관련 논의
버전 번호
라이센스 조건
이 책의 개요
2장. 모듈의 빌드와 실행
모듈 대 응용 프로그램
컴파일과 적재
커널 심볼 테이블
초기화와 셧다운
자원의 사용
자동 설정과 수동 설정
사용자 공간에서의 작업
참조 사항
3장. 문자 드라이버
scull의 설계
주번호와 부번호
파일 조작
file 구조체
열기와 닫기
scull의 메모리 사용
read와 write
새 디바이스 다루기
참조 사항
4장. 디버깅 기법
프린트에 의한 디버깅
큐에 의한 디버깅
관찰에 의한 디버깅
시스템 폴트 디버깅
디버거 사용하기
5장. 향상된 문자 드라이버 연산
ioctl
블록킹 I/O
Select 메쏘드
Poll 메쏘드
비동기 통지
디바이스 찾기
디바이스 파일에서의 접근 제어
참조 사항
6장. 시간의 흐름
커널에서의 시간 간격
현재 시간 알기
실행 지연하기
태스크 큐
커널 타이머
참조 사항
7장. 메모리 획득
kmalloc의 실제 동작
get_free_page와 관련 함수
vmalloc과 관련 함수
지저분한 동작
참조 사항
8장. 하드웨어 관리
I/O 포트 사용하기
병렬 포트 사용하기
디바이스 보드에서의 메모리 사용
텍스트 모드 비디오 버퍼 사용하기
참조 사항
9장. 인터럽트 처리
병렬 포트 준비하기
인터럽트 핸들러 설치하기
핸들러 구현하기
Bottom Halves
인터럽트 공유
인터럽트 관리
인터럽트 구동의 I/O
경쟁 상태
IRQ 처리의 버전 의존성
참조 사항
10장. 데이터 타입의 현명한 사용
표준 C 타입 사용
데이터 아이템에 명확한 크기 지정하기
인터페이스 특유의 타입
그 밖의 이식성 문제
참조 사항
11장. Kerneld와 고급 모듈화
요구시 모듈 로드하기
모듈에서의 버전 관리
언로드/로드에 걸친 지속적 저장
참조 사항
12장. 블록 드라이버 적재
드라이버 등록하기
헤더 파일 blk.h
요구 처리
마운팅이 작동하는 방법
ioctl 메쏘드
제거 가능한 디바이스
파티션 가능한 디바이스
인터럽트 구동의 블록 드라이버
참조 사항
13장. Mmap과 DMA
리눅스에서의 메모리 관리
mmap 디바이스 연산
직접 메모리 사용
참조 사항
14장. 네트워크 드라이버
snull을 설계한 방법
커널에 연결하기
device 구조체의 상세
열기와 닫기
패킷 송신
패킷 수신
인터럽트 구동의 연산
소켓 버퍼
주소 분석
로드시 구성
동작시 구성
커스텀 ioctl 명령들
통계 정보
멀티 캐스팅
참조 사항
15장. 주변 장치 버스의 개요
PCI 인터페이스
ISA 되돌아 보기
그 밖의 PC 버스들
sbus
참조 사항
16장. 커널 소스의 실제 배치
커널 부팅하기
부팅 전
init 프로세스
kernel 디렉토리
mm 디렉토리
fs 디렉토리
네트워킹
IPC와 lib 함수들
드라이버들
아키텍처 의존성
찾아보기
20,000원
10%
18,000원