책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 리눅스
· ISBN : 9788979143430
· 쪽수 : 748쪽
책 소개
목차
1장 디바이스 드라이버 소개
디바이스 드라이버 임무
커널 구분
디바이스와 모듈 클래스
보안 문제
버전 번호
라이선스 조건
커널 개발 커뮤니티에 동참하기
이 책의 전반적인 흐름
2장 모듈 빌드와 실행
테스트 시스템 설정
Hello World 모듈
커널 모듈 대 응용 프로그램
컴파일과 적재
커널 심벌 테이블
사전 지식
초기화와 종료
모듈 매개 변수
사용자 영역에서 작업하기
빠른 참조
3장 문자 드라이버
scull 설계
주 번호와 부 번호
몇몇 중요한 자료 구조체
문자 디바이스 등록
open과 release
scull의 메모리 사용법
read와 write
새 디바이스 다루기
빠른 참조
4장 디버깅 기술
커널이 지원하는 디버깅 옵션
출력을 통한 디버깅
질의를 통한 디버깅
관찰을 통한 디버깅
시스템 폴트 디버깅
디버거와 관련 도구
5장 동시성과 경쟁 상태
scull에 존재하는 함정
동시성과 동시성 관리
세마포어와 뮤텍스
완료
스핀락(spinlocks)
잠금 시 피해야 할 함정
잠금 대안
빠른 참조
6장 고급 문자 디바이스 연산
ioctl
차단 I/O
poll과 select
비동기식 통지
디바이스 탐색
디바이스 파일 접근 제어
빠른 참조
7장 시간, 지연, 작업 연기
시간 경과 측정하기
현재 시각 알기
실행 지연하기
커널 타이머
태스크릿
작업 큐
빠른 참조
8장 메모리 할당
kmalloc에 얽힌 진짜 이야기
색인 캐시(Lookside Cache)
get_free_page와 관련 함수
vmalloc과 관련 함수
CPU별 변수
대형 버퍼 얻기
빠른 참조
9장 하드웨어와 통신하기
I/O 포트와 I/O 메모리
I/O 포트 사용하기
I/O 포트 예제
I/O 메모리 사용하기
빠른 참조
10장 인터럽트 처리하기
병렬 포트 준비하기
인터럽트 처리기 설치하기
처리기 구현하기
상반부와 하반부
인터럽트 공유하기
인터럽트 구동 I/O
빠른 참조
11장 커널 자료형
표준 C 타입 활용
자료 항목 크기를 명시적으로 할당하기
인터페이스에 종속적인 타입
기타 이식성 문제
연결 리스트
빠른 참조
12장 PCI 드라이버
PCI 인터페이스
돌아온 탕아: ISA
PC/104와 PC/104+
다른 PC 버스
S버스(SBus)
누버스(NuBus)
외부 버스
빠른 참조
13장 USB 드라이버
USB 디바이스 기본
USB와 Sysfs
USB urb(USB 요청 블록)
USB 드라이버 작성하기
urb 없는 USB 전송하기
빠른 참조
14장 리눅스 디바이스 모델
Kobject, Kset, 하위시스템
저수준 sysfs 연산
핫플러그 사건 생성
버스, 디바이스, 드라이버
클래스
하나로 합치기
핫플러그
펌웨어 다루기
빠른 참조
15장 메모리 사상과 DMA
리눅스에서 메모리 관리
mmap 디바이스 연산
직접 I/O 수행하기
직접 메모리 접근(DMA)
빠른 참조
16장 블록 드라이버
등록
블록 디바이스 연산
요청 처리하기
다른 몇몇 세부 사항
빠른 참조
17장 네트워크 드라이버
snull 설계 방법
커널에 접속하기
net_device 구조체 세부 내역
열고 닫기
패킷 전송
패킷 수신
인터럽트 처리기
수신 인터럽트 완화
연결 상태 변경
소켓 버퍼
맥 주소 결정
전용 ioctl 명령
통계 정보
멀티캐스트
기타 사항
빠른 참조
18장 TTY 드라이버
자그마한 TTY 드라이버
tty_driver 함수 포인터
TTY 터미널 전송 제어 규칙
ioctls
tty 디바이스를 다루는 proc과 sysfs
tty_driver 구조체 자세히 살펴보기
tty_operations 구조체 자세히 살펴보기
tty_struct 구조체 자세히 살펴보기
빠른 참조
참고문헌
찾아보기