▶ 리눅스 커널과 디바이스 드라이버 실습
▶ 저작권
▶ 저자 소개
▶ 문서 표준
▶ 목차
▶
▶ 제1부 리눅스 커널 이해 및 실습
▶
▶ 제1장 커널 자료구조
▶ 1.1 링크드 리스트(LINKED LISTS)
▶ 1.2 큐(QUEUES)
▶ 1.3 트리(TREES)
▶ 1.4 적절한 자료구조 선택
▶ 1.5 알고리즘 효율성
▶
▶ 제2장 프로세스(PROCESS)
▶ 2.1 프로세스(PROCESS) 이해
▶ 2.2 쓰레드(THREAD)
▶ 2.3 프로세스 문맥 교환(CONTEXT SWITCH)
▶ 2.4 스케쥴링
▶ 2.4.1 스케쥴러 자료구조(DATA STRUCTURES)
▶ 2.4.2 스케쥴링 우선순위값(PRIORITIES)
▶ 2.4.3 스케쥴링 정책(POLICY)
▶ 2.4.4 SCHEDULER CLASSES
▶ 2.4.5 RUN QUEUES
▶ 2.4.6 스케쥴링 개체들(SCHEDULING ENTITIES)
▶ 2.4.7 PERIODIC SCHEDULER
▶ 2.4.8 프로세스 깨움(WAKE UP PROCESS)
▶ 2.4.9 WAIT QUEUES
▶
▶ 제3장 인터럽트(INTERRUPT)
▶ 3.1 INTERRUPTS와 EXCEPTIONS
▶ 3.2 INTERRUPT 문맥교환(CONTEXT SWITCHING)
▶ 3.3 INTERRUPT HANDLER 등록
▶ 3.4 LINUX INTERRUPT 구조체
▶ 3.5 BOTTOM HALVES (SOFTIRQS / TASKLETS / WORK QUEUES)
▶ 3.5.1 SOFTIRQS
▶ 3.5.2 TASKLETS
▶ 3.5.3 WORK QUEUES
▶
▶ 제4장 동기화(SYNCHRONIZATION)
▶ 4.1 보호 영역과 경쟁 조건들
▶ 4.2 LOCKING
▶ 4.3 동기화 방법들
▶ 4.4 동기화 사례
▶
▶ 제5장 시간(TIME)
▶ 5.1 THE TICK RATE: HZ
▶ 5.2 HARDWARE CLOCKS AND TIMERS
▶ 5.3 타이머 인터럽트 핸들러
▶ 5.4 타이머들(TIMERS)
▶ 5.5 지연 실행(DELAYING EXECUTION)
▶
▶ 제6장 메모리
▶ 6.1 메모리 관리 기법들
▶ 6.2 X86 아키텍쳐 메모리 관리 기법
▶ 6.3 페이지 변환 장치(PAGING UNIT)
▶ 6.4 MMU(MEMORY MANAGEMENT UNIT) 이해
▶ 6.5 SLAB/SLOB/SLUB 할당
▶
▶ 제7장 커널 자료구조 실습
▶ 7.1 링크드 리스트(LINKED LIST) 실습
▶ 7.2 큐(QUEUE) 실습
▶ 7.3 RED_BLACK TREE 실습
▶
▶ 제2부 리눅스 디바이스 드라이버 실습
▶
▶ 제8장 커널내부 들여다보기
▶ 2.1 리눅스 커널소스 요약설명
▶ 2.2 부팅 업
▶ 2.3 커널 모드와 사용자 모드
▶ 2.4 프로세스 문맥과 인터럽트 문맥
▶ 2.5 커널 타이머들
▶ 2.6 커널안의 동시성
▶ 2.7 프로세스 파일시스템(PROCESS FILESYSTEM)
▶ 2.8 메모리 할당
▶ 2.9 리눅스 소스 위치
▶
▶ 제9장 커널에 보관된 기능들
▶ 9.1 커널 쓰레드
▶ 9.2 도움 인터페이스들(HELPER INTERFACES)
▶ 9.3 리눅스 소스 위치
▶
▶ 제10장 기본원리 이해
▶ 10.1 커널 모듈 프로그래밍 방법
▶ 10.2 장치들과 드라이버들 소개
▶ 10.3 인터럽트 핸들링
▶ 10.4 리눅스 소스 위치
▶
▶ 제11장 문자 드라이버들
▶ 11.1 문자 드라이버 기초
▶ 11.2 디바이스 예제: 시스템 CMOS
▶ 11.3 데이터 유효성 감지(SENSING DATA AVAILABILITY)
▶ 11.4 병렬 포트에게 이야기하기
▶ 11.5 RTC 서브시스템
▶ 11.6 가상 문자 드라이버들(PSEUDO CHAR DRIVERS)
▶ 11.7 기타 드라이버들(MISC DRIVERS)
▶ 11.8 문자 통고(CHARACTER CAVEATS)
▶ 11.9 리눅스 소스 위치
▶
▶ 제12장 직렬통신 드라이버들(SERIAL DRIVERS)
▶ 12.1 계층적 구조
▶ 12.2 UART DRIVERS
▶ 12.3 TTY DRIVERS
▶ 12.4. 라인 규율(LINE DISCIPLINES)
▶ 12.5 리눅스 소스 위치
▶
▶ 제13장 입력장치 드라이버들
▶ 13.1 입력 이벤트 드라이버들
▶ 13.2 입력 장치 드라이버들
▶ 13.3 리눅스 소스 위치
▶
▶ 제14장 주변장치 연결(PCI)
▶ 14.1 주소와 식별
▶ 14.2 PCI 영역에 접근
▶ 14.3 직접 메모리 접근(DIRECT MEMORY ACCESS)
▶ 14.4 디바이스 예제: 이더넷_모뎀 카드
▶ 14.5 리눅스 소스 위치
▶
▶ 제15장 USB(UNIVERSAL SERIAL BUS)
▶ 15.1 USB 구조
▶ 15.2 USB 드라이버 데이터 구조체
▶ 15.3 USB 드라이버 실습예제 (USB_FT245)
▶ 15.4 리눅스 소스 위치
▶
▶ 제16장 비디오 드라이버들
▶ 16.1 디스플레이 구조
▶ 16.2 리눅스_비디오 서브시스템
▶ 16.3 디스플레이 파라미터들
▶ 12.4 프레임 버퍼 드라이버들
▶ 12.5 콘솔 드라이버들
▶ 12.6 리눅스 소스 위치
▶ 기부금 안내