HOME > 상세정보

상세정보

임베디드 리눅스 시스템 설계와 개발

임베디드 리눅스 시스템 설계와 개발 (10회 대출)

자료유형
단행본
개인저자
Raghavan, P. (Pichai) , 1973- Lad, Amol Neelakandan, Sriram 김남형 , 옮김
서명 / 저자사항
임베디드 리눅스 시스템 설계와 개발 / P. 라가반, 아몰 라드, 스리람 닐라칸단 지음 ; 김남형 옮김.
발행사항
서울 :   ITC ,   2007   (2008)  
형태사항
xxix, 505 p. : 삽도 ; 25 cm.
원표제
Embedded Linux system design and development
ISBN
9788990758651
일반주기
색인 및 부록수록  
일반주제명
Operating systems (Computers) Embedded computer systems
000 01047camccc200349 k 4500
001 000045603451
005 20100805073823
007 ta
008 100726s2007 ulka 001c kor
020 ▼a 9788990758651
035 ▼a (KERIS)BIB000010837641
040 ▼a 211004 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.4/32 ▼2 22
090 ▼a 005.432 ▼b 2007h5
100 1 ▼a Raghavan, P. ▼q (Pichai) , ▼d 1973-
245 1 0 ▼a 임베디드 리눅스 시스템 설계와 개발 / ▼d P. 라가반, ▼e 아몰 라드, ▼e 스리람 닐라칸단 지음 ; ▼e 김남형 옮김.
246 1 9 ▼a Embedded Linux system design and development
260 ▼a 서울 : ▼b ITC , ▼c 2007 ▼g (2008)
300 ▼a xxix, 505 p. : ▼b 삽도 ; ▼c 25 cm.
500 ▼a 색인 및 부록수록
630 0 0 ▼a Linux.
650 0 ▼a Operating systems (Computers)
650 0 ▼a Embedded computer systems
700 1 ▼a Lad, Amol
700 1 ▼a Neelakandan, Sriram
700 1 ▼a 김남형 , ▼e 옮김
900 1 0 ▼a 라가반, P.
900 1 0 ▼a 라드, 아몰
900 1 0 ▼a 닐라칸단, 스리람
945 ▼a KLPA

소장정보

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

컨텐츠정보

책소개

임베디드 리눅스 시스템을 개발하기 위한 완전한 로드맵을 제공한다. 기존의 실시간 운영체제(RTOS)를 사용하는 시스템을 임베디드 리눅스로 이식할 수 있는 방법을 제시하며, 임베디드 리눅스를 위한 설계 모델과 리눅스의 BSP(Board Support Package) 구조를 알기 쉽게 설명하고 있다.

이 책에서 제시하는 임베디드 리눅스용 드라이버나 응용 프로그램의 작성, 디버깅, 프로파일링에 이용되는 솔루션은 현장에서 바로 적용할 수 있는 수준으로 구성되어 있으며, 또한 시스템의 부팅 시간을 줄이거나 메모리를 최적화하는 기법과 응용 프로그램에서의 메모리 누수와 충돌을 찾아내는 방법들을 제공하고 있다.


정보제공 : Aladin

저자소개

P. 라가반(지은이)

임베디드 소프트웨어 개발자이다. 텔레비전이나 그래픽스 디스플레이에서부터 네트워크 장비에 이르기까지 다양한 분야의 임베디드용 제품을 개발해 왔으며, 임베디드 리눅스 외에도 VxWorks나 Nucleus와 같은 다양한 상용 운영체제상에서의 개발 경험이 있다. 인도의 방갈로르대학교에서 전자공학과를 졸업하고 현재는 방갈로르의 필립스 소프트웨어에서 근무하고 있다.

아몰 라드(지은이)

알라하바드에 있는 모틸랄 네루 국립 공대의 컴퓨터공학과를 졸업했다. 1999년부터 위성 통신 시스템에 쓰일 디바이스 드라이버 개발자로 일하게 되었으며, 2001년에 MIPS 기반의 하드웨어 플랫폼을 위한 BSP를 작성하는 과정에서 처음으로 임베디드 리눅스를 접하게 되었다. 2007년 현재 베리스모 네트웍스에서 리눅스 커널 엔지니어로 일하고 있으며, 임베디드 리눅스 기반 시스템의 설계 책임자이기도 하다.

스리람 닐라칸단(지은이)

전자공학과를 졸업한 뒤 처음에는 윈도즈 디바이스 드라이버 개발자로 일하기 시작했다. 2007년 현재 베리스모 네트웍스에서 미디어 솔루션을 담당하는 임베디드 리눅스 팀에서 근무하고 있다.

김남형(옮긴이)

서울시립대학교 전자전기공학부와 동대학원을 졸업하고, (주)덱트론을 거쳐 2007년 현재 (주)탑케이블에서 DTV 관련 연구를 하고 있다.

정보제공 : Aladin

목차


목차
제1장 개요 = 1
 1.1 임베디드 리눅스의 역사 = 2
  1.1.1 1999년 = 4
  1.1.2 2000년 = 4
  1.1.3 2001년 = 6
  1.1.4 2002년 = 7
  1.1.5 2003년 = 8
  1.1.6 2004년 = 8
 1.2 왜 임베디드 리눅스인가? = 9
  1.2.1 벤더 독립성 = 9
  1.2.2 개발 시간 단축 = 10
  1.2.3 다양한 하드웨어 지원 = 10
  1.2.4 저비용 = 11
  1.2.5 오픈 소스 = 11
  1.2.6 POSI$$X^◆U00AE◆$$ 표준 준수 = 12
 1.3 임베디드 리눅스와 데스크톱 리눅스 = 12
 1.4 자주 묻는 질문들(FAQs) = 14
  1.4.1 리눅스는 너무 크다? = 14
  1.4.2 리눅스는 실시간성을 지원하지 않는다? = 15
  1.4.3 독점 소프트웨어를 어떻게 보호할 수 있는가? = 15
  1.4.4 상용 임베디드 리눅스 배포판을 구매해야 하는가? = 15
  1.4.5 어떤 임베디드 리눅스 배포판을 선택해야 하는가? = 16
 1.5 임베디드 리눅스 배포판 = 18
  1.5.1 BlueCat Linux = 18
  1.5.2 Cadenux = 20
  1.5.3 Denx = 22
  1.5.4 Emdebian(Embedded Debian) = 23
  1.5.5 ELinOS(SYSGO) = 25
  1.5.6 Metrowerks = 26
  1.5.7 MontaVista Linux = 28
  1.5.8 RTLinuxPro™ = 30
  1.5.9 TimeSys Linux = 32
 1.6 포팅 로드맵 = 34
제2장 시작하기 = 37
 2.1 임베디드 리눅스의 구조 = 37
  2.1.1 실시간 커널 = 37
  2.1.2 모놀리틱 커널 = 39
  2.1.3 마이크로커널 = 40
 2.2 리눅스 커널의 구조 = 41
  2.2.1 HAL = 42
  2.2.2 메모리 관리자 = 43
  2.2.3 스케줄러 = 44
  2.2.4 파일 시스템 = 45
  2.2.5 IO 서브시스템 = 46
  2.2.6 네트워킹 서브시스템 = 47
  2.2.7 IPC = 47
 2.3 사용자 공간 = 47
 2.4 리눅스 부팅 과정 = 53
  2.4.1 부트로더 단계 = 54
  2.4.2 커널 초기화 단계 = 55
  2.4.3 사용자 공간 초기화 = 60
 2.5 GNU 크로스-플랫폼 툴체인 = 62
  2.5.1 툴체인 빌드하기 = 65
  2.5.2 MIPS 타깃을 위한 툴체인 빌드하기 = 71
제3장 Board Support Package = 75
 3.1 커널 빌드 과정에 BSP 추가하기 = 77
 3.2 부트로더 인터페이스 = 79
 3.3 메모리 맵 = 83
  3.3.1 프로세서 메모리 맵-MIPS 메모리 모델 = 85
  3.3.2 보드 메모리 맵 = 86
  3.3.3 소프트웨어 메모리 맵 = 86
 3.4 인터럽트 관리 = 91
 3.5 PCI 서브시스템 = 97
  3.5.1 PCI 구조의 고유성 = 98
  3.5.2 PCl 소프트웨어 구조 = 100
 3.6 타이머 = 102
 3.7 UART = 102
  3.7.1 콘솔 구현하기 = 103
  3.7.2 KGDB 인터페이스 = 104
 3.8 전원 관리 = 104
  3.8.1 하드웨어와 전원 관리 = 104
  3.8.2 전원 관리 표준 = 107
  3.8.3 프로세서의 절전 모드 지원 = 108
  3.8.4 전원 관리를 위한 통합 드라이버 프레임워크 = 110
  3.8.5 전원 관리 응용 프로그램 = 111
제4장 임베디드 저장장치 = 113
 4.1 플래시 맵 = 114
 4.2 MTD(Memory Technology Device) = 115
  4.2.1 MTD 모델 = 116
  4.2.2 플래시 칩 = 117
  4.2.3 플래시 디스크 = 119
 4.3 MTD 구조 = 120
  4.3.1 mtd_info 구조체 = 121
  4.3.2 MTD 코어와 저수준 플래시 드라이버 간의 인터페이스 = 122
 4.4 NOR 플래시를 위한 샘플 MTD 드라이버 = 123
 4.5 플래시 매핑 드라이버 = 136
  4.5.1 NOR 플래시 칩을 위한 mtd_info 정보 채우기 = 136
  4.5.2 NAND 플래시 칩을 위한 mtd_info 정보 채우기 = 137
  4.5.3 mtd_info 등록하기 = 139
  4.5.4 NOR 플래시를 위한 샘플 매핑 드라이버 = 141
 4.6 MTD 문자 장치와 블록 장치 = 146
 4.7 mtdutils 패키지 = 146
 4.8 임베디드 파일 시스템 = 148
  4.8.1 램 디스크 = 148
  4.8.2 RAMFS = 149
  4.8.3 CRAMFS = 149
  4.8.4 JFFS와 JFFS2 = 150
  4.8.5 NFS = 151
  4.8.6 PROC 파일 시스템 = 152
 4.9 저장 공간 최적화 = 152
  4.9.1 커널 공간 최적화 = 153
  4.9.2 응용 프로그램 공간 최적화 = 154
  4.9.3 임베디드 리눅스를 위한 응용 프로그램 = 156
 4.10 커널 메모리 튜닝하기 = 158
제5장 임베디드 드라이버 = 163
 5.1 리눅스 직렬 드라이버 = 164
  5.1.1 드라이버 초기화와 시작 = 169
  5.1.2 데이터 전송 = 173
  5.1.3 데이터 수신 = 173
  5.1.4 인터럽트 처리 함수 = 176
  5.1.5 Termios 설정 = 177
 5.2 이더넷 드라이버 = 178
  5.2.1 장치 초기화 = 179
  5.2.2 데이터 송수신 = 183
 5.3 리눅스의 I2C 서브시스템 = 186
  5.3.1 I2C 버스 = 186
  5.3.2 I2C 소프트웨어 구조 = 189
 5.4 USB 가젯 = 195
  5.4.1 USB의 기초 = 196
  5.4.2 이더넷 가젯 드라이버 = 202
 5.5 감시 타이머 = 206
 5.6 커널 모듈 = 207
  5.6.1 모듈 API = 208
  5.6.2 모듈 로딩과 언로딩 = 210
제6장 응용 프로그램 포팅 = 211
 6.1 구조적 비교 = 211
 6.2 응용 프로그램 포팅 로드맵 = 213
  6.2.1 포팅 전략의 수립 = 214
  6.2.2 OSPL의 작성 = 216
  6.2.3 커널 API 드라이버의 작성 = 218
 6.3 pthreads를 이용한 프로그래밍 = 218
  6.3.1 쓰레드의 생성과 종료 = 219
  6.3.2 쓰레드 동기화 = 223
  6.3.3 쓰레드 취소 = 230
  6.3.4 쓰레드 분리 = 232
 6.4 OSPL = 233
  6.4.1 RTOS 뮤텍스 API 에뮬레이션 = 233
  6.4.2 RTOS 태스크 API 에뮬레이션 = 236
  6.4.3 IPC와 타이머 API 에뮬레이션 = 244
 6.5 커널 API 드라이버 = 245
  6.5.1 사용자 공간 스텁의 작성 = 248
  6.5.2 kapi 드라이버 구현 = 251
  6.5.3 kapi 드라이버의 사용 = 255
제7장 실시간 리눅스 = 257
 7.1 실시간 운영체제 = 258
 7.2 리눅스와 실시간성 = 259
  7.2.1 인터럽트 지연 = 260
  7.2.2 ISR 수행 시간 = 261
  7.2.3 스케줄러 지연 = 262
  7.2.4 스케줄러 수행 시간 = 265
  7.2.5 사용자 공간의 실시간성 = 267
 7.3 리눅스의 실시간 프로그래밍 = 269
  7.3.1 프로세스 스케줄링 = 269
  7.3.2 메모리 락킹 = 276
  7.3.3 POSIX 공유 메모리 = 285
  7.3.4 POSIX 메시지 큐 = 288
  7.3.5 POSIX 세마포어 = 298
  7.3.6 실시간 시그널 = 301
  7.3.7 POSIX.1b 클록과 타이머 = 308
  7.3.8 비동기 I/O = 314
 7.4 엄격한 실시간 리눅스 = 321
  7.4.1 RTAI = 323
  7.4.2 ADEOS = 331
제8장 빌드와 디버깅 = 333
 8.1 커널 빌드하기 = 335
  8.1.1 빌드 과정의 이해 = 338
  8.1.2 설정 과정 = 340
  8.1.3 커널 Makefile 프레임워크 = 343
 8.2 응용 프로그램 빌드하기 = 345
  8.2.1 configure 스크립트를 사용한 크로스 컴파일 = 349
  8.2.2 configure 스크립트의 문제점 해결 = 351
 8.3 루트 파일 시스템 빌드하기 = 352
 8.4 통합 개발 환경(IDE) = 355
  8.4.1 Eclipse = 356
  8.4.2 KDevelop = 357
  8.4.3 TimeStorm = 357
  9.4.4 CodeWarrior = 358
 8.5 가상 메모리 문제의 디버깅 = 358
  8.5.1 메모리 누수 디버깅 = 361
  8.5.2 메모리 오버플로 디버깅 = 366
  8.5.3 메모리 손상 디버깅 = 369
 8.6 커널 디버거 = 373
 8.7 프로파일링 = 376
  8.7.1 eProf - 임베디드 프로파일러 = 377
  8.7.2 OProfile = 383
  8.7.3 KFI = 387
제9장 임베디드 그래픽스 = 395
 9.1 그래픽스 시스템 = 396
 9.2 리눅스 데스크톱 그래픽스 - X 윈도우 시스템 = 398
  9.2.1 임베디드 시스템과 X = 399
 9.3 디스플레이 하드웨어의 기초 = 400
  9.3.1 디스플레이 시스템 = 400
  9.3.2 입력 인터페이스 = 403
 9.4 임베디드 리눅스 그래픽스 = 404
 9.5 임베디드 리눅스 그래픽스 드라이버 = 404
  9.5.1 리눅스 프레임 버퍼 인터페이스 = 405
  9.5.2 프레임 버퍼의 내부 구조 = 416
 9.6 윈도우 환경, 툴킷, 응용 프로그램 = 427
  9.6.1 Nano-X = 429
 9.7 결론 = 434
제10장 uClinux = 435
 10.1 MMU가 없는 시스템상의 리눅스 = 435
  10.1.1 리눅스와 uClinux = 436
 10.2 프로그램 로드와 실행 = 438
  10.2.1 FRB(Fully Relocatable Binaries) = 441
  10.2.2 PIC(Position Independent Code) = 441
  10.2.3 bFLT 파일 형식 = 442
  10.2.4 bFLT 파일 로드하기 = 445
 10.3 메모리 관리 = 457
  10.3.1 힙 = 457
  10.3.2 스택 = 464
 10.4 파일/메모리 매핑 - uClinux에서 mmap()의 복잡함 = 464
 10.5 프로세스 생성 = 466
 10.6 공유 라이브러리 = 469
  10.6.1 uClinux의 공유 라이브러리 구현(libN.so) = 469
 10.7 uClinux로 응용 프로그램 포팅하기 = 473
  10.7.1 uClinux 프로그램 생성하기 = 473
  10.7.2 uClinux에서 공유 라이브러리 생성하기 = 475
  10.7.3 응용 프로그램에서 공유 라이브러리 사용하기 = 477
  10.7.4 메모리 제한사항 = 479
  10.7.5 mmap의 제한사항 = 479
  10.7.6 프로세스 수준의 제한사항 = 480
 10.8 XIP - eXecute In Place = 482
  10.8.1 하드웨어적인 요구사항 = 483
  10.8.2 소프트웨어적인 요구사항 = 483
 10.9 uClinux 배포판 빌드하기 = 483
부록
 A. 부팅 속도 높이기 = 487
  부트로더 초기화 시간을 줄이기 위한 기법들 = 488
  부팅 시간을 줄이기 위해 커널 튜닝하기 = 489
  부팅 시간을 줄이기 위해 사용자 공간 튜닝하기 = 490
  부팅 시간 측정 = 490
 B. GPL과 임베디드 리눅스 = 493
  사용자 공간 응용 프로그램 = 494
  커널 = 495
  기억해야 할 사항들 = 495


관련분야 신착자료