커널연구회 커널 책 Second Edtion 출간

rgbi3307의 이미지

안녕하세요?
커널연구회를 온라인에서만 운영하고 틈틈히 책집필에 노력하고 있습니다.
이번에 리눅스 커널과 디바이스드라이버 실습2(Second Edtion)을 출간하게 되었습니다.
First Edtion이 많이 미흡하여 Second Edtion에서 내용들을 좀 더 보강했습니다만, 아직도 많이 부족한듯 합니다.
그래서 계속 노력중이고 앞으로 Third, Forth.. 계속 집필해 나갈 예정입니다. 많은 성원과 격려 부탁드립니다.
아울러 커널과 디바이스드라이버 소스 분석에 대해서 오프라인 세미나를 무료로 개최할까 합니다.
이글에 대해서 댓글을 달아주시고 세미나에 참석하시는 분들중 책 구입을 원하시는 분에게는 30%할인해 드릴예정입니다.

Second Edtion은 아래의 온라인 서점에서 판매하고 있습니다.
(오프라인 서점에는 책을 배포하는데 시간이 좀더 걸릴듯 합니다.)

예스24:
http://www.yes24.com/24/goods/9103955?scode=029

인터파크 도서:
http://book.interpark.com/product/BookDisplay.do?_method=detail&sc.shopNo=0000400000&sc.prdNo=212650084&bid1=search&bid2=product&bid3=img&bid4=001

알라딘:
http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8997750054

강컴:
http://kangcom.com/sub/view.asp?sku=201306170001&mcd=571

반디앤루니스:
http://www.bandinlunis.com/front/product/detailProduct.do?prodId=3645056

Second Edtion을 소개하면,

도서명: 리눅스 커널과 디바이스드라이버 실습2 (2판)
저자: 정재준
출판사명: 커널연구회 (제2011-75호)
출판년월일: 2013년 5월 20일
정가: 36,000
책크기/페이지: B5/601페이지
ISBN: 978-89-97750-05-4
부가코드: 93560
주제별분류(검색어): IT전문서, 운영체제, OS, 리눅스 커널, 리눅스 디바이스드라이버 프로그래밍

책표지: ((첨부 파일 참조))

Second Edtion에 보강한 내용:

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

목차:

저작권
저자 소개
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. 커널연구회 교육과정(계획)

File attachments: 
첨부파일 크기
PDF icon Book05_kernel_cover.pdf1.29 MB
nomail의 이미지

훌륭한 책을 출간해 주셔서 감사드립니다.
책을 구입할려고 하는데요. 제목만 보면 1권에서 2권으로 이어지는 것 같은데
정확히 2nd edition 개념이 맞는지요? first edition없이 이 책 한권만 구입해도 되는지요?

rgbi3307의 이미지

안녕하세요?
2nd edition은 1st edition을 수정보완한 것이므로 2nd만 구매하셔도 됩니다.
1st는 절판될 예정입니다. 즐거운 하루 되세요~

From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))

frag의 이미지

오프라인 세미나를 하면 저도 참석 하고 싶습니다~~

줗은 책 써주셔서 감사합니다...

rgbi3307의 이미지

안녕하세요? 오프라인 세미나는 7월 하순쯤에 할 예정입니다.
결정되면 공지 및 메일 드리겠습니다. 감사합니다.

From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))

pchero의 이미지

새로운 책을 내셨네요.
멋지십니다. :)

한번씩 근근히 들려오는 소식에 자극을 받습니다.
감사합니다.

---------------------------------
제일 왼쪽이 저입니다 :)

rgbi3307의 이미지

교보문고에 책이 좀 늦게 도착했습니다.

교보문고 책링크:
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788997750054&orderClick=LAG&Kc=

참고바랍니다.

From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))

bus710의 이미지


아차, KLDP에는 좋아요 버튼이 없었지!

축하 드립니다^^

life is only one time

rgbi3307의 이미지

감사합니다.
그리고 이참에 커널 소스분석에 대한 오프라인 세미나 일정을 알려드립니다.
일시: 2013-07-27(토) 오후2시~오후4시(2시간)
장소: 토즈 대학로지점
약도: http://www.toz.co.kr/branch/main/index.htm?id=8
누구나 참가하시면 됩니다. 참가비용은 토즈 사용료가 1인당 5천원 있습니다.
즐거운 하루 되세요~

From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))