본문내용 바로가기
MD의선택 무료배송 이벤트 경품

임베디드 개발자를 위한 코드로 읽는 리눅스 디바이스 드라이버

에이콘 임베디드 시스템 프로그래밍 29
스리크슈난 벤카테스와란 지음 | 박재호 옮김 | 에이콘출판 | 2010년 08월 23일 출간
  • 정가 : 35,000원
    판매가 : 31,500 [10%↓ 3,500원 할인]
  • 제휴할인가 : 23,620 교보-롯데카드 최대 25% 청구할인 카드/포인트 안내
  • 통합포인트 :
    [기본적립] 1,750원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 :
    naver네이버페이 결제 시 무조건 1% 추가 적립 payco페이코 결제 시 최대 1만원 적립 okcashbag 실 결제 금액의 0.5% 적립 안내
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(19일,금) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 영업점에서 직접 수령 안내
1월 추천도서
닫기
  • 예비초등학생 추천도서전
  • 겨울방학 유아/어린이/좋은부모&요리 추천도서
  • 2018 책으로 뽑는 포춘쿠키
  • 2017 올해의 문장
  • 경제경영 메인이벤트
  • 경제경영 메인이벤트
  • 1월 추천도서
  • 2018년 1학기 추천도서 이벤트
  • 2018년 수험서 이벤트
  • 인문교양 메인이벤트

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 에이콘의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2019.12.31
  • 설문참여 시 매월 5명 추첨통해 선물을 드립니다.
    10. 14 ~ 12. 31
상품상세정보
ISBN 9788960771499(896077149X)
쪽수 804쪽
크기 188 * 254 mm 판형알림
이 책의 원서 Essential Linux device drivers/Venkateswaran, Sreekrishnan

책소개

이 책이 속한 분야

- 독자대상 : 새로운 디바이스를 사용하기 위해 커널을 개조하려는 중급 프로그래머
- 구성 : 개념 및 기능 설명 + 예제
- 특징
① 실용적이고 자세하며 리눅스 디바이스 드라이버 유형 대다수를 설명
② 핵심에 초점을 맞춰 필요한 모든 개념과 기법을 소개
③ 관련 리눅스 원시 코드가 담긴 파일을 면밀하게 살피며 완전한 예제 소개

북소믈리에 한마디!

안정적인 리눅스 드라이버를 만드는 방법을 체계적으로 설명하는 『코드로 읽는 리눅스 디바이스 드라이버』. 이 책은 현대적인 PC와 임베디드 하드웨어를 다루기 위해 필요한 내용을 전체적으로 조망한다. PCMCIA, USB, I2C, 비디오, 오디오, 플래시 메모리, 무선 통신 등과 그밖에 리눅스 커널과 통신이 가능한 요소들을 다루고 있다. 총 23장으로 구성되어 있으며, 여러 디바이스군에 속한 디바이스와 디바이스 드라이버 디버깅 기법을 설명한다.

이 책의 총서

총서 자세히 보기

저자소개

저자 : 스리크슈난 벤카테스와란

저자 스리크슈난 벤카테스와란(Sreekrishnan Venkateswaran)은 인도 칸푸르에 있는 인도 공과 대학에서 전산 석사를 받았다. 지난 12년 동안 IBM에서 근무하면서 리눅스를 손목시계, 핸드헬드 장치, 음악 재생기, VoIP 전화기, 심장 박동기, 원격 환자 감시 시스템 같은 다양한 임베디드 장치에 이식했다. 스리크슈난은 2년 넘게 리눅스 매거진 객원 편집자이자 커널 컬럼니스트로 활동했다. 현재 IBM 인도에서 임베디드 솔루션 그룹을 관리하고 있다.

역자 : 박재호

역자 박재호는 포항공과대학교 컴퓨터공학과 학부와 컴퓨터공학과 대학원을 졸업했다. 블로그 ‘컴퓨터 vs 책’을 운영 중이다. 리눅스와 관련해 지은 책으로는 『IT EXPERT, 임베디드 리눅스』, 『열씨미와 게을러의 리눅스 개발 노하우 탐험기』, 옮긴 책으로는 『리눅스 디바이스 드라이버』, 『리눅스 문제 분석과 해결』, 『리눅스 디버깅과 성능 튜닝』, 『리눅스 시스템 프로그래밍』 등이 있다.

목차

1장 소개
-진화
-GNU 카피레프트
-kernel.org
-메일링 리스트와 포럼
-리눅스 배포판
-원시 코드 살펴보기
-커널 빌드하기
-적재 가능한 모듈
-시작하기 전에

2장 커널 내부 탐험
-시동
--BIOS-Provided Physical RAM Map
--758MB LOWMEM Available
--Kernel Command Line: ro root=/dev/hda1
--Calibrating Delay...1197.46 BogoMIPS(lpj=2394935)
--Checking HLT Instruction
--NET: Registered Protocol Family 2
--Freeing Initrd Memory: 387k Freed
--IO Scheduler Anticipatory Registered(Default)
--Setting Up Standard PCI Resources
--EXT3-fs: Mounted Filesystem
--INIT: Version 2.85 Booting
--Adding 1552384k swap on /dev/hda6
-커널모드와 유저모드
-프로세스 문맥과 인터럽트 문맥
-커널 타이머
--HZ와 jiffies
--긴 지연
--짧은 지연
--펜티엄 TSC
--RTC(Real Time Clock)
-커널 동시성
--스핀락과 뮤텍스
--원자적인 연산
--읽기-쓰기 잠금
--디버깅
-프로세스 파일 시스템
-메모리 할당하기
-원시 코드 살펴보기

3장 커널 기능
-커널 스레드
--커널 스레드 생성
--프로세스 상태와 대기 큐
--사용자 영역 도우미
-도우미 인터페이스
--연결 리스트
--해시 리스트
--작업 큐
--통지 연쇄
--완료 인터페이스
--kthread 도우미
--오류 처리 지원
-원시 코드 살펴보기

4장 기반 다지기
-디바이스와 드라이버 소개
-인터럽트 처리
--인터럽트 문맥
--IRQ 할당
--디바이스 예제: 회전 휠
--softirq와 tasklet
-리눅스 디바이스 모델
--udev
--sysfs, kobject, 디바이스 클래스
--핫플러그와 콜드플러그
--마이크로코드 내려 받기
--모듈 자동 적재
-메모리 장벽
-전원 관리
-원시 코드 살펴보기

5장 문자 드라이버
-문자 드라이버 기초
-디바이스 예제: 시스템 CMOS
--드라이버 초기화
--open과 release
--자료 교환하기
--seek
--ioctl
-자료 가용성 감지
--poll
--fasync
-병렬 포트와 통신하기
--디바이스 예제: 병렬 포트 LED 보드
-RTC 하위시스템
-의사 문자 드라이버
-기타 드라이버
--디바이스 예제: 워치독 타이머
-문자 드라이버 주의 사항
-원시 코드 살펴보기

6장 직렬 드라이버
-계층 아키텍처
-UART 드라이버
--디바이스 예제: 휴대전화
--RS-485
-TTY 드라이버
-회선 규범
--디바이스 예제: 터치 컨트롤러
-원시 코드 살펴보기

7장 입력 드라이버
-입력 이벤트 드라이버
--evdev 인터페이스
-입력 장치 드라이버
--serio
--키보드
--마우스
--터치 컨트롤러
--가속도계
--출력 이벤트
-디버깅
-원시 코드 살펴보기

8장 I2C 프로토콜
-I2C/SMBus란?
-I2C 코어
-버스 트랜잭션
-디바이스 예제: EEPROM
--초기화
--디바이스 탐색하기
--어댑터 능력 점검하기
--디바이스에 접근하기
--더 많은 메소드
-디바이스 예제: RTC
-I2C-dev
-LM 센서를 사용한 하드웨어 감시
-SPI 버스
-1 와이어 버스
-디버깅
-원시 코드 살펴보기

9장 PCMCIA와 CF
-PCMCIA/CF란?
-리눅스-PCMCIA 하위시스템
-호스트 컨트롤러 드라이버
-PCMCIA 코어
-드라이버 서비스
-클라이언트 드라이버
--자료 구조
--디바이스 예제: PCMCIA 카드
-하나로 모으기
-PCMCIA 저장소
-직렬 PCMCIA
-디버깅
-원시 코드 살펴보기

10장 PCIv
-PCI 패밀리
-주소 지정과 식별
-PCI 영역에 접근하기
--구성 영역
--입출력과 메모리
-DMA
-디바이스 예제: 이더넷 모뎀 카드
--초기화와 탐색
--자료 전송
-디버깅
-원시 코드 살펴보기

11장 USB
-USB 아키텍처
--버스 속도
--호스트 컨트롤러
--전송 유형
--주소 지정
-리눅스 USB 하위시스템
-드라이버 자료 구조
--usb_device 구조체
--URB
--파이프
--기술자 구조체
-열거
-디바이스 예제: 원격 측정 카드
--초기화와 탐색
--레지스터 접근
--자료 전송
-클래스 드라이버
--대용량 저장소
--USB 직렬 변환기
--HID
--블루투스
-가젯 드라이버
-디버깅
-원시 코드 살펴보기

12장 비디오 드라이버
-디스플레이 아키텍처
-리눅스 비디오 하위시스템
-디스플레이 매개변수
-프레임 버퍼 API
-프레임 버퍼 드라이버
--디바이스 예제: 네비게이션 시스템
-콘솔 드라이버
--디바이스 예제: 휴대폰 다시 살펴보기
--시작 로고
-디버깅
-원시 코드 살펴보기

13장 오디오 드라이버
-오디오 아키텍처
-리눅스 사운드 하위시스템
-디바이스 예제: MP3 재생기
--드라이버 메소드와 구조체
--ALSA 프로그래밍
-디버깅
-원시 코드 살펴보기

14장 블록 드라이버
-저장소 기술
-리눅스 블록 입출력 계층
-입출력 스케줄러
-블록 드라이버 자료 구조와 메소드
-디바이스 예제: 단순한 저장소 컨트롤러
--초기화
--블록 디바이스 연산
--디스크 접근
-고급 주제
-디버깅
-원시 코드 살펴보기

15장 네트워크 인터페이스 카드
-드라이버 자료 구조
--소켓 버퍼
--Net 디바이스 인터페이스
--활성화
--자료 전달
--워치독
--통계
--구성
--버스별 세부 사항
-프로토콜 계층 살펴보기
--수신 경로
--전송 경로
--흐름 제어
-버퍼 관리와 동시성 제어
-디바이스 예제: 이더넷 NIC
-ISA 네트워크 드라이버
-비동기 전송 모드(ATM)
-네트워크 처리량
--드라이버 성능
--프로토콜 성능
-원시 코드 살펴보기

16장 무선 리눅스
-무선의 장단점
-블루투스
--BlueZ
--디바이스 예제: CF 카드
--디바이스 예제: USB 어댑터
--RFCOMM
--네트워크
--사용자 인터페이스 디바이스
--오디오
--디버깅
--원시 코드 살펴보기
-적외선
--리눅스 IrDA
--디바이스 예제: 슈퍼 I/O 칩
--디바이스 예제: IR 동글
--IrComm
--네트워크
--IrDA 소켓
--리눅스 적외선 리모콘
--원시 코드 살펴보기
-와이파이
--구성
--디바이스 드라이버
--원시 코드 살펴보기
-이동 통신 네트워크
--GPRS
--CDMA
-최신 유행

17장 MTD
-플래시 메모리란?
-리눅스 MTD 하위시스템
-맵 드라이버
--디바이스 예제: 핸드핼드
-NOR 칩 드라이버
-NAND 칩 드라이버
-사용자 모듈
--블록 디바이스 흉내 내기
--문자 디바이스 흉내 내기
--JFFS2
--YAFFS2
-MTD-Utils
-MTD 구성
-XIP
-펌웨어 허브
-디버깅
-원시 코드 살펴보기

18장 임베디드 리눅스
-도전
-구성 요소 선택
-툴 체인
-임베디드 부트로더
-메모리 배치
-커널 이식
-임베디드 드라이버
--플래시 메모리
--UART
--버튼과 휠
--PCMCIA/CF
--SD/MMC
--USB
--RTC
--오디오
--터치스크린
--비디오
--CPLD/FPGA
--네트워크 접속 기능
--산업계에서 요구하는 전자장비
--기타 드라이버
-루트 파일 시스템
--NFS로 마운트된 루트
--작고 간결한 미들웨어
-테스트 기반 구조
-디버깅
--보드 재작업
--디버거

19장 사용자 영역 드라이버
-프로세스 스케줄링과 반응 시간
--기존 스케줄러
--O(1) 스케줄러
--CFS 스케줄러
--반응 시간
-입출력 영역에 접근하기
-메모리 영역에 접근하기
-사용자 모드 SCSI
-사용자 모드 USB
-사용자 모드 I2C
-UIO
-원시 코드 살펴보기

20장 기타 디바이스와 드라이버
-ECC 보고
--디바이스 예제: ECC를 탑재한 메모리 컨트롤러
-주파수 조정
-임베디드 컨트롤러
-ACPI
-ISA와 MCA
-파이어와이어
-I2O
-아마추어 라디오
-VoIP
-고속 연결
--InfiniBand
--RapidIO
--광 채널
--iSCSI

21장 디바이스 드라이버 디버깅
-커널 디버거
--디버거로 들어가기
--커널 디버거(kdb)
--커널 GNU 디버거(kgdb)
--GNU 디버거(gdb)
--JTAG 디버거
--내려 받기
-커널 프로브
--kprobe
--jprobe
--반환 프로브
--제약
--원시 코드 살펴보기
-kexec와 kdump
--kexec
--kdump로 kexec하기
--kdump
--원시 코드 살펴보기
-프로파일링
--OProfile을 사용한 커널 프로파일링
--gprof를 사용한 애플리케이션 프로파일링
-추적
--리눅스 추적 툴킷
-리눅스 테스트 프로젝트
-사용자 모드 리눅스
-진단 도구
-커널 해킹 구성 옵션
-테스트 장비

22장 유지 보수와 배포
-코딩 스타일
-변경 표식
-버전 관리
-체크섬 일치
-빌드 스크립트
-이식성 높은 코드

23장 시스템 종료
-점검 리스트
-이제 뭘 하지?

부록 A 리눅스 어셈블리어
-디버깅

부록 B 리눅스와 바이오스
-실제 모드 호출
-보호 모드 호출
-바이오스와 기존 드라이버

부록 C seq 파일
-seq 파일 장점
-NVRAM 드라이버 개선하기
-원시 코드 살펴보기

책 속으로

★ 저자 서문 ★

1990년대 후반, 우리는 IBM에서 리눅스 커널을 손목시계에 올리고 있었다. 목표 장비는 작았으며, 작업은 쉽지 않았다. MTD 하위시스템이 커널에 없었으므로 시계에 장착된 플래시 메모리에서 파일 시스템이 동작하게 우리는 처음부터 필요한 저장 드라이버를 직접 만들어야 했다. 사용자 애플리케이션과 시계에 달려있는 터치스크린을 연결하는 작업이 복잡했던 이유는, 커널의 입력 이벤트 드라이버 인터페이스가 검증되지 않았기 때문이다. 시계에 달려있는 LCD에서 X 윈도우 시스템을 동작하게 만드는 작업이 쉽지 않았던 이... 더보기

출판사 서평

지금까지 읽은 리눅스 디바이스 드라이버 책 중에 가장 광범위하고 완벽하다.
- 알란 콕스 / 리눅스 커널 전문가이자 핵심 커널 개발자

아주 실용적이고 자세하며 리눅스 디바이스 드라이버 유형 대다수를 다룬다.
- 씨어도어 Ts’O /
미국 첫 리눅스 커널 개발자이자 더 리눅스 파운데이션의 수석 플랫폼 전략가

리눅스 디바이스 드라이버 제작 과정에서 가장 실용적인 지침서

오늘날 리눅스는 드라이버 개발을 위해 예외적일 만큼 탄탄한 환경을 제공한다. 요즘 나온 리눅스 커널을 사용하면 과거 수 년이 걸리던 개발 일정을 며... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트 적립은 작성 후 다음 날 혹은 해당 도서 출고 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

더보기+

이 분야의 신간

더보기+

바로가기

  • 우측 확장형 배너 2

최근 본 상품