검색
[접수중] 메이커들의 DIY 축제! Maker Faire Seoul 2014 (9월20일~21일)


> > IT EXPERT, 리눅스 디바이스 드라이버
IT EXPERT, 리눅스 디바이스 드라이버

크게보기 미리보기

IT EXPERT, 리눅스 디바이스 드라이버

유영창 지음 | 국내서 | 2004년 12월 | 한빛미디어(주)

정가
35,000원
판매가
31,500원 (10% off)
이코인
1,575원 (5%)
배송비
무료 배송비란
상태
판매중
독자리뷰
총 리뷰 20개 , 평균별점
블로거리뷰
총 리뷰 0
트랙백주소
http://www.hanbit.co.kr/trackback/89-7914-295-1

페이지 : 960쪽 | ISBN : 89-7914-295-1 | 난이도 : 중/고급 | 변환코드 : 1295

부록 : 없음

페이스북 트위터 미투데이 e메일
장바구니 담기 위시리스트 보관 리뷰쓰기 오탈자 등록 도서인증
  • 책소개
  • 저자소개
  • 목차
  • 독자리뷰
  • 블로거리뷰
  • 오탈자보기
  • 예제소스
  • 추천서적

책소개

디바이스 드라이버 제작의 해답은 "커널" 그 자체에 있다.

많은 개발자들이 디바이스 드라이버 제작은 운영체제의 심장부를 이해해야 하는 것은 물론, 해박한 하드웨어 지식이 있어야 가능하기 때문에 어렵고도 도전하기 힘든 일이라 생각한다. 그러나 실제로는 디바이스와 관련된 커널부를 얼마만큼 잘 이해하느냐에 달려 있다. 따라서 이 책은 디바이스와 관련된 커널을 어떻게 활용하는지를 명확하게 짚어주고, 동작원리를 보여줌으로써 크게 힘들이지 않고 디바이스 드라이버를 제작할 수 있게 도와준다.
  • 디바이스 드라이버 제작 실습을 위한 환경 설정과 준비
  • 디바이스 드라이버 제작에 필요한 다양한 함수들의 사용법
    (저수준 파일 입출력/하드웨어 처리/메모리 매핑/시간 처리 함수 등)
  • 디바이스 파일의 동작 원리
  • 디바이스 드라이버를 모듈로 제작하는 방법
  • 디바이스 드라이버를 커널에 포함시키는 방법
  • 문자/블록/네트워크 디바이스 드라이버의 특징과 구현 원리
  • 인터럽트 처리와 블록킹 I/O의 구현
  • 다중 프로세스 환경에서 동작하는 디바이스 드라이버의 특징과 구현
  • proc 파일 시스템의 구현
  • devfs 디바이스 드라이버 파일 시스템과 sysfs 파일 시스템의 소개
  • 이기종 시스템에서의 디바이스 드라이버 특징과 주의점 및 예제 설명
  • DMA와 PCI 처리 디바이스 드라이버의 구현
추천평(미디어서평)

리눅스 디바이스 드라이버 공부를 시작할 때, 과연 어떤 책을 봐야할지 그 막막함이란… 디바이스 드라이버를 막 시작하려는 사람이라면 누구나 하는 고민이었을 것이다. 물론 가장 유명한 『Linux Device Driver』 원서를 보는 것도 하나의 방편이지만, 언어의 장벽이란 생각보다 높다. 실제로 어떻게 코딩을 해야 할지 난감할 수도 있고, 코딩한 드라이버가 제대로 돌아가는지 확인하기가 쉽지 않다. 그러나 이 책으로 공부하는 동안은 그런 걱정은 하지 않아도 될 것이다. 테스트 가능한 소스 코드 예제와 군더더기 없는 설명 그리고 강력한 테스트 환경(클립 2개와 LED 2개)에 놀라지 않을 수 없을 것이다. - 주봉녕((주)AMT 주임연구원)

국내에서 임베디드를 공부하고 있는 사람이라면 한번쯤은 들어봤을 유영창님이 직접 집필하셨다는 이유만으로도 충분히 관심받을 만한 책이다. 각 장마다 이해를 돕기 위해 간단하고, 동작 여부를 확인할 수 있는 예제를 담아서 확실하게 장을 마무리한다. 또한 커널 2.4 뿐만 아니라 2.6에 대한 드라이버 API를 함께 담고 있으며, 예제를 통해 두 버전의 차이를 비교할 수 있도록 한 점 또한 이 책의 장점일 것이다. - 오홍균(㈜마이크로웹 S/W 개발팀 연구원)

리눅스 디바이스 드라이버 구현에 관한 기본 개념이 특정 분야에 치우치지 않고 잘 설명되어 있다. 책 곳곳에서 저자의 노하우를 익힐 수 있으며, 접근하기 쉬운 예제들로 개발자들의 이해를 돕는다. 기본에 충실한 입문서라고 생각한다. - 황태연(LG 전자/정보통신 시스템연구소 선임 연구원)

리눅스 디바이스 드라이버에 관심에 있는 사람에게 적극 추천한다. 그동안 리눅스 디바이스 드라이버에 관련된 책을 많이 봤지만, 이만큼 디바이스 드라이버 작성법을 체계적으로 정리한 책은 보지 못했다. 각 장마다 주제에 따른 이론 설명과 첫 장부터 마지막 장까지 일관성있게 잘 정리된 예제 소스는 실습하면서 내용을 이해하기에 참 좋았다. 저자의 오랜 경험을 잘 정리하여 실제 디바이스 드라이버 작성법을 다룬 국내 최초의 도서가 아닐까 싶다. - 윤종필(엘리코파워)

이 책의 최대 장점은 병렬 포트를 제어해 LED의 점멸을 보여주며 초보자도 쉽게 도전할 수 있는 기회를 준다는 점이다. 또한 간략하게 표현된 그림들은 어렵기만 한 디바이스 드라이버를 잘 이해할 수 있도록 해준다. 처음 디바이스 드라이버를 접하는 분이나 내용 정립이 부족한 사람에게 적극 추천한다. - 황의철(심플렉스인터넷(주))

리눅스 드라이버를 처음 접하는 초보자부터 현장 개발자를 위한 지침서다. 여타 보드를 구입하거나 제작할 필요가 없는 병렬 포트를 사용한 쉬운 실습 환경과 다양한 소스가 매력적이다. - 이현석((주)마이크로 웹)

이 책은 리눅스 드라이버에 대해 전무(全無)한 이에게 리눅스 드라이버 전문가가 되기 위해 필요한 기반 지식과 응용 지식을 체계적으로 전달한다. 전반적으로 책의 내용이 매우 기초적이면서도 쉽게 저술되어 있어 리눅스 드라이버 개발에 대한 개념 정립에 매우 유용하다. 때로는 심도있는 내용도 다루고 있어 고급 수준을 원하는 독자들에게도 도움이 될 것이다. 무엇보다 눈에 보이는 실험 방법과 소스 코드 그리고 저자의 오랜 개발 경험은 나로 하여금 저자에 대한 존경심을 불러일으키기에 충분했다. 리눅스 드라이버 개발에 입문하는 사람에게는 정말 추천하고 싶은 책이다. - 정동열(동국대학교 대학원/자바기초와 프로젝트(피씨북, 2001) 저자)
맨위로

저자소개

유영창
Email : frog@falinux.com, FA리눅스 개발 이사
전자공학을 전공한 후 공장 자동화 및 네트워크 제어에 관련된 프로그램을 개발하였다. 윈도우 환경에서 동작하는 제어 시스템의 불안정성을 극복하기 위한 방안으로 PC 제어 시스템에 리눅스를 도입하면서 임베디드 리눅스를 접했다. 임베디드 컨트롤러와 리눅스를 접목하는 회사인 FA리눅스 주식회사에서 기술 이사를 역임하면서, 임베디드 리눅스 인터넷 동호회인 KELP에 온라인 강의를 올리는 등 활발히 활동중이다.

[감수자 소개]

안윤호(Xray21의 기술 이사 & 마소 기술 자문 위원)
현재 Xray21의 기술 이사로 재직하고 있으며, 커널의 구조와 임베디드 시스템에 관심이 많다. 아직은 커널 개발 분야에서 이렇다 할 업적은 없으나 리눅스와 커널의 구조와 NetBSD 커널에 관심이 많은 아마추어 커널 해커다.

오재경(FA리눅스 개발 실장)
단국대 전자공학과를 졸업한 후 현재 FA리눅스 개발 실장으로 재직하고 있으며, 8비트 마이컴과 윈도우 등을 거쳐 리눅스를 주 도구로 사용하고 있다. IC 칩의 제조사 웹사이트에서 제품들의 스펙이나 데이터시트 등을 찾아보는 데 즐거움을 느낀다.

유명환((주)넷플러그 대표)
애플리케이션에서 디바이스 드라이버에 이르기까지 다양한 경험을 토대로 삼성SDS 멀티캠퍼스, 삼성전자, 한국소프트웨어진흥원 IT SoC 아카데미, 비트캠프 등에서 임베디드 리눅스 관련 장단기 과정 강의를 진행해왔다. 현재는 유비쿼터스 기술(프로세서, 통신, 센서 기술)에 관한 전문 교육용 기자재 및 컨텐츠를 제작하고 있다.


맨위로

목차

Chapter 1. 실습 환경 설정과 준비
  01. 시스템과 리눅스 운영체제의 준비   
  02. 커널 소스의 준비   
  03. 실습 기자재의 준비   
  04. 준비된 실습 환경 점검

Chapter 2. 리눅스 커널과 디바이스 드라이버                 
  01. 운영체제로서의 리눅스   
  02. 리눅스 커널   
  03. 디바이스 드라이버

Chapter 3. 디바이스 파일과 저수준 파일 입출력      
  01. 디바이스 파일과 파일 입출력 함수   
  02. 저수준 파일 입출력 함수   
  03. 디바이스 파일 관련 함수   
  04. 저수준 파일 입출력 함수의 사용 예   
  o mknod 명령과 저수준 파일 입출력 함수 정리   

Chapter 4. 간단한 모듈 테스트      
  01. 모듈 프로그램 맛보기   
  02. 모듈 소스 준비
  03. 모듈 소스의 형식   
  04. 모듈 컴파일용 Makefile   
  05. 모듈 매개변수의 지정   
  06. 커널 메시지의 출력   
  07  커널과 모듈   

Chapter 5장 메모리 할당과 해제      
  01. 변수   
  02. 동적 메모리   
  03. 동적 메모리 예제   
  04. 메모리 풀   
  05. 메모리 풀 예제   
  o 메모리 할당과 해제 함수의 정리   

Chapter 6. 디바이스 드라이버의 등록과 해제      
  01. 디바이스 드라이버 제어 방식   
  02. struct file_operations   
  03. 문자 디바이스 드라이버 등록과 해제 및 구성   
  04. 응용 프로그램과 형 디바이스 드라이버의 호출 관계 예제
  o 디바이스 드라이버 등록과 해제 함수 정리   

Chapter 7. 디바이스 드라이버의 초기화와 종료      
  01. 초기화와 종료 처리   
  02. 모듈 사용 횟수의 관리   
  03. I/O 영역의 경쟁 처리 함수   
  o 디바이스 드라이버 초기화와 종료 함수의 정리   

Chapter 8. 디바이스 드라이버의 읽기와 쓰기      
  01. 읽기와 쓰기의 구현   
  02. I/O 처리   
  03. 사용자 프로세스 공간과 커널 프로세스 공간   
  04. 디바이스 드라이버의 읽기와 쓰기 구현 예제    
  o 디바이스 드라이버 읽기와 쓰기 함수 정리   

Chapter 9. 주 번호와 부 번호의 처리         
  01. 주 번호, 부 번호, 디바이스 타입   
  02. 부 번호에 의한 파일 처리 방법    
  03. 부 번호에 의한 파일 처리 예제    
  04. 예약된 주 번호   

Chapter 10. 디바이스의 제어      
  01. 디바이스 제어   
  02. ioctl() 함수를 이용한 입출력 구현 예제    
  o 디바이스 제어 함수의 정리   

Chapter 11. 시간 처리와 커널 타이머        
  01. 시간 처리   
  02. 커널 타이머   
  03. 커널 타이머를 이용한 LED 점멸 예제   
  o 시간 처리와 커널 타이머 함수 정리   

Chapter 12. 인터럽트 처리      
  01. 인터럽트   
  02. 인터럽트 발생 시간 체크 예제   
  o 인터럽트 처리 함수 정리   

Chapter 13. 블록킹 I/O       
  01. 프로세스의 사용 효율성과 잠들기(sleep) 구조   
  02. 블록킹 I/O   
  03. 인터럽트 발생 시간 체크 예제   
  04. wait_event_interruptible 매크로   
  o 블록킹 I/O 함수 정리   

Chapter 14. 입출력 다중화      
  01. 입출력 다중화   
  02. 다중 입출력의 구현
  03. 다중 입출력 처리를 이용한 프린터 포트 예제   
  o 입출력 다중화 함수 정리   

Chapter 15. 태스크 큐와 워크 큐      
  01. 태스크 큐와 워크 큐의 필요성
  02. 태스크 큐   
  03. 워크 큐   
  04. 태스크 큐 예   
  05. 워크 큐 예   
  06. 태스크 큐를 이용한 LED 점멸   
  06. 워크 큐를 이용한 키 입력 채터링 방지 예제   
  o 태스크 큐 함수 정리   
  o 워크 큐 함수 정리   

Chapter 16. BottomHalf        
  01. TopHalf와 BottomHalf   
  02. 태스크 큐와 mark_bh() 함수    
  03. 태스크 큐 처리 수정(2.4-> 2.6)    
  04. 인터럽트 발생 시간 체크 예제   
  o 인터럽트 함수 정리   

Chapter 17. proc 파일 시스템       
  01. 시스템 정보의 확인
  02. proc 파일 시스템   
  03. proc 파일 시스템 동작 방식   
  04. 가산기 예제   
  o proc 파일 시스템 함수 정리

Chapter 18. 메모리 매핑      
  01. 물리 주소와 가상 주소 
  02. 주소 변환 함수    
  03. 프로세스 메모리 매핑 
  04. 매개변수 전달값을 보여주는 예제    
  05. VIDEO I/O 영역 메모리 mmap 구현 예제    
  06. nopage를 이용한 커널 메모리 mmap 구현 예제     
  o 메모리 매핑 함수 정리   

Chapter 19. 모듈간의 상호 참조       
  01. 모듈간의 상호 참조와 EXPORT_SYMBOL 매크로   
  02. 커널 2.4의 /proc/ksyms와 커널 2.6의 /proc/kallsyms   
  03. 모듈간의 심볼 참조 예제   

Chapter 20. 다중 프로세스 환경의 디바이스 드라이버       
  01. 단일 프로세스를 위한 디바이스 드라이버   
  02. 프로세스별 관련 관리   
  03. 비선점형 커널의 디바이스 드라이버    
  04. 선점형 커널의 디바이스 드라이버    

Chapter 21. 디바이스 드라이버를 커널 소스에 포함시키는 방법      
  01. 사전 고려 사항   
  02. 커널에서의 커널 컴파일 옵션 파일    
  03. Makefile 문법 규칙   
  04. 디바이스 드라이버를 커널에 포함시키는 예   

Chapter 22. 블록 디바이스 드라이버      
  01. 리눅스와 블록 디바이스   
  02. 하드디스크의 특성   
  03. 블록 디바이스 드라이버와 요구 큐   
  04. 버전별 블록 디바이스 처리   
  05. 커널 2.4의 블록 디바이스 드라이버    
  06. make_request 방식의 램디스크 예제    
  07. request 방식의 가상의 하드디스크 예제    
  08. 커널 2.6의 블록 디바이스 드라이버    
  09. make_request 방식의 램디스크 예제    
  10. request 방식의 가상의 하드디스크 예제 
  o 블록 디바이스 함수 정리

Chapter 23. 네트워크 디바이스 드라이버      
  01. 리눅스와 네트워크 디바이스 드라이버   
  02. 네트워크 디바이스 드라이버 등록과 제거   
  03. 보편적인 초기화 및 등록 처리 절차   
  04. struct net_device의 이해
  05. 네트워크 디바이스의 열기와 닫기   
  06. 전송과 수신   
  07. 통계 처리   
  08. 네트워크 디바이스 제어 ioctl   
  09. 멀티 캐스트 처리   
  o 네트워크 디바이스 드라이버 함수 정리   

Chapter 24. 디바이스 드라이버 파일 시스템(devfs)      
  01. devfs 파일 시스템   
  02. 디바이스 파일 생성 예제   
  o devfsc 파일 시스템 함수 정리

Chapter 25. 시스템 파일 시스템(sysfs)
  01. sysfs 파일 시스템   
  02. sysfs 파일 시스템의 이용

Chapter 26. 디바이스 드라이버의 이기종 시스템으로의 이식      
  01. 이기종 시스템으로의 디바이스 드라이버 이식   
  02. ARM용 DIO 디바이스 드라이버 예제   
  03. 시그널과 SIGIO   
  04. call_usermodehelper 사용 예제
  05. modprobe와 모듈 적재 요청 처리   

Chapter 27. DMA와 PCI 디바이스      
  01. DMA   
  02. PCI
맨위로
독자리뷰
(총 리뷰 20개 , 평균별점 )   
리뷰쓰기

국내 저자의 기술서적으로는 한 획을 긋는 책

이용석| 2005-11-30 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

디바이스 드라이버의 입문서

박상재| 2005-11-25 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

입문자가 중급자가 되기 위한 필독서

류준희| 2005-05-16 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

초보자도 쉽게 볼 수 있는 책

김태효| 2005-04-17 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

현재 출판된 디바이스드라이버중 가장 뛰어난책

서동준| 2005-04-17 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

디바이스 드라이버를 이해하게 해주는 책

윤경효| 2005-04-16 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

드라이버의 초보이십니까..리눅스의 세계의 지름길.

오주석| 2005-04-14 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

과감한 도전, 좀더 빠른 리눅스로의 접근

윤성호| 2005-04-14 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

리눅스 이해를 돕는,

김현우| 2005-04-08 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

리눅스 개발자라면...

전인수| 2005-04-01 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

우리가 기다리던 바로 그 책...

김덕자| 2005-03-29 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

어려운 내용이지만 따라하다보니까 조금씩 감이 오는 책~

김민우| 2005-03-24 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

상당히 많은 경험을 통해 발간된 서적임에 틀림없는듯...

이장진| 2005-03-23 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

임베디드 리눅스 개발자의 필독서

전병욱| 2005-03-23 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

디바이스 드라이버 초심자에게 좋은책

최원철| 2005-03-22 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

임베디드나 디바이스 드라이버 작성을 원하는 독자에게 강추~~~

박대원| 2005-03-19 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

디바이스 드라이버 입문은 이 책으로

김익수| 2005-03-17 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

좋은내용의책.,,

김대형| 2005-03-16 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

리눅스 디바이스 드라이버 입문...

박희경| 2005-01-06 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

아주 유익한 도서임

최병욱| 2004-12-19 | [리뷰수정] | [리뷰삭제] | [리뷰덧글쓰기]

맨위로
블로거리뷰
(총 리뷰 0개)
 
맨위로

예제소스

아래 URL을 클릭하시면 도서의 예제소스를 다운로드 하실 수 있습니다.

http://www.hanbit.co.kr/exam/1295/

맨위로

  • 회사소개
  • 인재채용
  • 기획 및 원고 모집
  • 이용약관
  • 개인정보취급방침
  • 고객센터
  • 사이트맵
Copyrightⓒ1993-2010 Hanbit Media, Inc. All rights reserved.

경영혁신형 중소기업 인증 소비자피해보상보험 가입사실확인 애니서트 인증마크