이미 소장하고 있다면 판매해 보세요.
|
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 구조체 자세히 살펴보기 빠른 참조 참고문헌 찾아보기 |