HOME > 상세정보

상세정보

리눅스 커널과 디바이스 드라이버 실습 2 / 2판

리눅스 커널과 디바이스 드라이버 실습 2 / 2판

자료유형
단행본
개인저자
정재준
서명 / 저자사항
리눅스 커널과 디바이스 드라이버 실습 2 / 정재준
판사항
2판
발행사항
남양주 :   커널연구회,   2013   (2015 2쇄)  
형태사항
602 p. : 삽화, 도표 ; 26 cm
ISBN
9788997750054
일반주기
부록: 1. 리눅스커널 버전별 특징 비교, 2. 커널연구회 교육과정(계획)  
000 00000cam c2200205 c 4500
001 000046085086
005 20210707094810
007 ta
008 210706s2013 ggkad 000c kor
020 ▼a 9788997750054 ▼g 93560
035 ▼a (KERIS)BIB000013212127
040 ▼a 211035 ▼c 211035 ▼d 211009
082 0 4 ▼a 005.446 ▼2 23
085 ▼a 005.446 ▼2 DDCK
090 ▼a 005.446 ▼b 2013z10
100 1 ▼a 정재준 ▼0 AUTH(211009)127306
245 1 0 ▼a 리눅스 커널과 디바이스 드라이버 실습 2 / ▼d 정재준
250 ▼a 2판
260 ▼a 남양주 : ▼b 커널연구회, ▼c 2013 ▼g (2015 2쇄)
300 ▼a 602 p. : ▼b 삽화, 도표 ; ▼c 26 cm
500 ▼a 부록: 1. 리눅스커널 버전별 특징 비교, 2. 커널연구회 교육과정(계획)
630 0 4 ▼a Linux
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.446 2013z10 등록번호 121257626 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

저자가 커널연구회(www.kernel.bz)를 수년동안 운영하면서 리눅스 커널 소스를 분석한 내용 위주로 구성했다. 리눅스 커널 소스를 이론적으로 설명하지 않고 최신 소스를 분석하여 소스 위주로 설명하고자 하는 저자의 꼼꼼한 노력이 돋보이는 책이다.

특히 Second Edtion에서는 다음과 같은 내용을 대폭 보강했다.
제4장 동기화에 대해서 내용을 수정함.
제6장 메모리 관리 및 주소 변환에 대해서 내용을 좀더 자세히 보강함.
제8장 커널내부 들여다보기에서 커널 부팅 과정을 소스 분석적 관점에서 자세히 설명하고 커널모드와 사용자 모드에 대해서 설명을 좀더 추가함.
제10장 기본원리 이해에서 디바이스 드라이버 작성에 대한 기본을 좀더 충실히 기술함.
제11장 문자 드라이버들에서 병렬포트 실습 소스 코드를 좀더 자세히 추가하고, 임베디드에서 자주 사용하는 플랫폼 디바이스 드라이버에 대한 설명을 추가함.
제12장 직렬통신 디바이스 드라이버에 대한 설명을 좀더 보강함.
제13장 IIC 버스 인터페이스에 대한 내용을 새롭게 추가함.
제14장 PWM과 ADC 드라이버에 대한 내용을 새롭게 추가함.
부록1 리눅스 커널 버전별 특징을 새롭게 추가함.

이 책은 저자가 커널연구회(www.kernel.bz)를 수년동안 운영하면서 리눅스 커널 소스를 분석한 내용 위주로 구성했다. 리눅스 커널 소스를 이론적으로 설명하지 않고 최신 소스를 분석하여 소스 위주로 설명하고자 하는 저자의 꼼꼼한 노력이 돋보이는 책이다.
이 책은 크게 두부분으로 나누어 진다.
제1부에서는 리눅스 커널 소스를 이해하고 실습해 볼 수 있도록 구성했고, 이것을 바탕으로 제2부에서 리눅스 디바이스드라이버를 구현하는 소스 코드들을 설명하고 있다.
제1부 리눅스 커널 소스 설명에서 가장 돋보이는 부분은 리눅스 커널에 구현되어 있는 자료구조(링크드리스트, 큐, 트리) 소스를 처음부터 끝까지 자세히 분석하여 독자들이 직접 실습해 볼 수 있도록 구현한 부분이다. 제1장과 제7장에 있는 소스들은 저자가 리눅스 최신 커널에서 소스를 직접 분리해 내어 독자들이 직접 실습하여 익히도록 구성했다.
이 부분은 국내에 출판된 리눅스 커널에 관련 서적에는 없는 이 책만의 백미에 해당하는 부분이며 독자들에게 커널 소스를 익히는데 많은 자신감을 안겨줄것이라 확신한다.
아울러 커널의 다른 부분도 소스 위주로 자세히 설명하고 있다.
특히 Second Edtion에서 그동안 미흡한 부분들을 대폭 보강하여 제2부에서 다양한 리눅스 디바이스드라이버를 익힐 수 있도록 구성한 좋은 책이다.


정보제공 : Aladin

저자소개

정재준(지은이)

저자는 학창시절 마이크로프로세서 제어 기술을 배웠으며 리눅스 커널을 연구하고 있다. 15년 이상 쌓아온 실무 경험을 바탕으로 “C언어와 자료구조 알고리즘”, “리눅스 시스템 프로그래밍”, “리눅스 커널과 디바이스드라이버 실습2”, “자료구조 알고리즘 & 머신러닝 상세분석"등의 책을 집필하고, 월간임베디드월드 잡지에 다수의 글을 기고 하였다. 또한 “맞춤형 문장 자동 번역 시스템 및 이를 위한 데이터베이스 구축방법 (The System for the customized automatic sentence translation and database construction method)” 라는 내용으로 프로그래밍을 하여 특허청에 특허등록 하였다. 최근에는 서울시 버스와 지하철 교통카드 요금결재 단말기에 들어가는 리눅스 커널과 디바이스 드라이버 개발 프로젝트를 성공적으로 수행했고 여러가지 임베디드 제품을 개발했다. 저자는 스탠포드대학교의 John L. Hennessy 교수의 저서 “Computer Organization and Design” 책을 읽고 깊은 감명을 받았으며, 컴퓨터구조와 자료구조 알고리즘 효율성 연구를 통한 기술서적 집필을 해오고 있다. 저자는 커널연구회(www.kernel.bz) 웹사이트를 운영하며 연구개발, 교육, 관련기술 공유 등을 위해 노력하고 있다.

정보제공 : Aladin

목차

리눅스 커널과 디바이스드라이버 실습2
저작권
저자 소개
SECOND EDITION에 추가된 내용들
문서 표준
목차

제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 메모리 주소 변환
6.3 SLAB/SLOB/SLUB 할당

제7장 커널 자료구조 실습
7.1 링크드 리스트(LINKED LIST) 실습
7.2 큐(QUEUE) 실습
7.3 RED-BLACK TREE 실습

제2부 리눅스 디바이스드라이버 실습

제8장 커널내부 들여다보기
8.1 리눅스 커널소스 요약설명
8.2 부팅 업
8.3 커널 모드와 사용자 모드
8.4 커널 타이머들
8.5 커널안의 동시성
8.6 프로세스 파일시스템(PROCESS FILESYSTEM)
8.7 메모리 할당
8.8 리눅스 소스 위치

제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 가상 문자 드라이버들(PSEUDO CHAR DRIVERS)
11.6 기타 드라이버들(MISC DRIVERS)
11.7 문자 통고(CHARACTER CAVEATS)
11.8 플랫폼 디바이스 드라이버
11.9 리눅스 소스 위치

제12장 직렬통신 드라이버들
12.1 계층적 구조
12.2 UART DRIVERS
12.3 TTY DRIVERS
12.4. 라인 규율(LINE DISCIPLINES)
12.5 리눅스 소스 위치

제13장 IIC 버스 인터페이스
13.1 IIC 버스 인터페이스 이해
13.2 RTC 드라이버 예제

제14장 PWM과 ADC 드라이버
14.1 PWM 디바이스드라이버
14.2 ADC 디바이스드라이버

제15장 입력장치 드라이버들
15.1 입력 이벤트 드라이버들
15.2 입력 장치 드라이버들
15.3 리눅스 소스 위치

제16장 주변장치 연결(PCI)
16.1 주소와 식별
16.2 PCI 영역에 접근
16.3 직접 메모리 접근(DIRECT MEMORY ACCESS)
16.4 디바이스 예제: 이더넷-모뎀 카드
16.5 리눅스 소스 위치

제17장 USB(UNIVERSAL SERIAL BUS)
17.1 USB 구조
17.2 USB 드라이버 데이터 구조체
17.3 USB 드라이버 실습예제 (USB-FT245)
17.4 리눅스 소스 위치

제18장 비디오 드라이버들
18.1 디스플레이 구조
18.2 리눅스-비디오 서브시스템
18.3 디스플레이 파라미터들
18.4 프레임 버퍼 드라이버들
18.5 콘솔 드라이버들
18.6 리눅스 소스 위치

기부금 안내

부록1. 리눅스커널 버전별 특징 비교
A1.1 커널 3.X 특징
A1.2 커널 2.6.X 소스 비교대상
A1.3 커널 2.6.X 스케쥴러 비교
A1.4 커널 2.6.X 디바이스 드라이버 비교
A1.4.1 device 구조체 비교 (핵심 구조체 중심)
A1.4.2 misc 드라이버 소스 비교 (핵심 구조체 중심)
A1.4.3 input 드라이버 소스 비교 (핵심 구조체 중심)
A1.4.4 platform 드라이버 소스 비교 (핵심 구조체 중심)
A1.4.5 pci 드라이버 소스 비교 (핵심 구조체 중심)
A1.4.6 usb 드라이버 소스 비교 (핵심 구조체 중심)
A1.4.7 video 드라이버 소스 비교 (핵심 구조체 중심)

부록2. 커널연구회 교육과정(계획)

관련분야 신착자료

이창현 (2021)