| 000 | 01219camccc200349 k 4500 | |
| 001 | 000045408041 | |
| 005 | 20100806014039 | |
| 007 | ta | |
| 008 | 071206s2007 ulka 001c kor | |
| 020 | ▼a 9788960770249 ▼g 93560 | |
| 035 | ▼a (KERIS)BIB000011100052 | |
| 040 | ▼a 211062 ▼c 211062 ▼d 211009 ▼d 244002 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 4 | ▼a 005.3 ▼2 22 |
| 090 | ▼a 005.3 ▼b 2007a1 | |
| 245 | 0 0 | ▼a 리눅스 기반의 임베디드 제품 디자인 : ▼b 제품의 가치를 높이는 리눅스 어플라이언스 기술 / ▼d 밥 스미스 [외]지음 ; ▼e 한정애 옮김. |
| 246 | 1 9 | ▼a Linux appliance design : a hands-on guide to building Linux appliances |
| 260 | ▼a 의왕 : ▼b 에이콘 , ▼c 2007. | |
| 300 | ▼a 465 p. : ▼b 삽도 ; ▼c 25 cm + ▼e CD-ROM 1매. | |
| 440 | 0 0 | ▼a 에이콘 임베디드 시스템 프로그래밍 시리즈 ; ▼v 24 |
| 500 | ▼a 색인수록 | |
| 500 | ▼a 공저자 : 존 하딘 , 그레이엄 필립스 , 빌 피어스 | |
| 650 | 0 | ▼a Application software ▼x Development. |
| 650 | 0 | ▼a Electric apparatus and appliances ▼x Design and construction. |
| 700 | 1 | ▼a Smith, Bob ▼0 AUTH(211009)15725 |
| 700 | 1 | ▼a Hardin, John ▼0 AUTH(211009)34849 |
| 700 | 1 | ▼a Phillips, Graham ▼0 AUTH(211009)70743 |
| 700 | 1 | ▼a Pierce, Bill ▼0 AUTH(211009)142861 |
| 700 | 1 | ▼a 한정애 , ▼e 역 |
| 740 | ▼a 임베디드 제품 디자인 | |
| 945 | ▼a KINS |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.3 2007a1 | 등록번호 121162078 (4회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.3 2007a1 | 등록번호 121162079 (2회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 3 | 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고5)/ | 청구기호 005.3 2007a1 | 등록번호 111454765 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 4 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.3 2007a1 | 등록번호 151249419 (1회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.3 2007a1 | 등록번호 121162078 (4회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.3 2007a1 | 등록번호 121162079 (2회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고5)/ | 청구기호 005.3 2007a1 | 등록번호 111454765 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.3 2007a1 | 등록번호 151249419 (1회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
리눅스를 임베디드 운영체제로 사용하면 저렴한 개발 비용만으로도 빠르게 개발해 제품을 시장에 내놓을 수 있다. 현대 어플라이언스는 프로세서, 운영 체제와 애플리케이션 소프트웨어를 갖춘 복잡한 기계다.
임베디드 하드웨어에서 리눅스를 실행하는 방법이나 리눅스 애플리케이션에 대한 책은 많지만 그 둘을 어떻게 결합하여 리눅스 어플라이언스를 만들 것인가에 대해 설명하는 책은 없었다. 이 책에서는 더 나은 어플라이언스를 설계하는 방법을 알려준다. 즉 많은 종류의 인터페이스를 지원하고 좀더 동적인 인터페이스를 제공하며 더 쉽게 디버깅할 수 있는 인터페이스를 알려준다.
토스터나 오븐, 식기세척기는 우리 삶에서 쉽게 찾아볼 수 있는 어플라이언스다. 이들 가전제품의 사용법에 익숙해진 나머지 많은 사람들이 그 제품이 어떤 방식으로 동작하는지, 무엇이 제품을 어플라이언스로 만드는지, 아니 어플라이언스 자체에 대해 생각조차 하지 않는다. 이 책에서 어플라이언스는 단순한 기능을 수행하기 위해 개발된 장치를 일컫는다. 앞에서 언급한 어플라이언스에 대해서 조금만 생각을 해보면 앞의 정의처럼 토스터는 토스트할 때에, 오븐은 음식을 구을 때, 식기 세척기는 그릇을 씻을 때 사용된다는 것을 쉽게 알 수 있다. 수만 수천 가지의 일을 할 수 있는 PC에 비한다면 전형적인 어플라이언스는 간단하고 따분하다.
그런데 리눅스로 뭘 한다는 것일까? 그러나 초보자에겐 전형적인 어플라이언스도 사실 간단하지 않다. 전기로 움직이긴 하지만 여전히 기계적인 진공청소기 같은 장치들도 이젠 더 이상 전기로만 움직이는 게 아니라 프로세서와 정교한 사용자 인터페이스를 가지고 있다. 이렇게 전자 제품들이 바뀌어 가고 있기 때문에 새로운 기능을 관리하기 위해서는 어플라이언스에 운영체제를 올려 실행시켜야 한다. 리눅스는 저렴하고(대체로 공짜다), 오픈 소스(즉 원하는 대로 수정할 수 있다)이기 때문에 어플라이언스에 딱 맞는다. 단, 리눅스는 새로 개발되고 있는 어플라이언스에 더 적합하다고 할 수 있다. 디지털 비디오 녹화기(DVR, digital video recorder)는 몇 년 전에는 없던 제품이지만 최초로 개발돼 가장 유명해진 DVR 어플라이언스인 TiVO만 보아도 다른 많은 홈 네트워크 엔터테인먼트 어플라이언스처럼 리눅스를 사용한다.
여러분이 차세대 로봇 청소 시스템을 구축하려할 때 아무 것도 없는 바닥에서 시작하진 않을 것이다. 여러분은 이전 로봇들에서 재사용할 수 있는 부분을 최대한 골라내고 가능하다면 외부에서 만든 부품을 사서 쓰고 싶을 것이다. 이런 식의 재사용이라는 개념이 리눅스 어플라이언스에도 똑같이 적용되며 이 책에서는 리눅스를 쉽게 재사용하는 방법을 제시하려 한다.
이 책에서 다루는 내용
- 데몬에서 사용자 인터페이스를 분리시키는 방법
- 사용자 인터페이스가 실시간으로 구성, 상태, 통계 정보에 접근할 수 있게 하는 법
- 애플리케이션에 전문적인 네트워크 관리 기능 추가
- SNMP 사용과 MIB 설계
- 웹 기반 어플라이언스 인터페이스 설계
- 명령행 인터페이스(CLI) 설계
- 적외선 리모컨에서 입력을 받는 프레임버퍼 인터페이스 설계
- 어플라이언스에서 로그와 알람 관리
이 책의 대상
맞춤형 리눅스 어플라이언스를 구축하고 다양한 사용자 인터페이스를 지원할 뿐만 아니라 안전하기까지 한 데몬을 만들고 로그와 이벤트 관리를 지원하고 싶은 리눅스 프로그래머에게 적합한 책이다. 또한 데몬의 사용자 인터페이스를 다른 운영체제나 다른 프로그래밍 언어로 포팅해야 할 때 드는 노력을 최소화하고 싶은 개발자라면 이 책을 추천한다. 이 책은 독자가 리눅스 환경 하에서 C로 프로그래밍하는 데 익숙하다고 가정했다.
부록 CD 제공
- 복잡하게 리눅스를 깔지 않아도 간단히 CD 부팅만으로 리눅스 환경에서 개발 가능
- 이 책에 들어있는 모든 소스코드 제공
- 독자가 직접 소스를 추가하고 기능들을 채워넣을 수 있는 비어 있는 데몬 제공
정보제공 :
목차
목차 감사의 글 = 5 옮긴이의 말 = 6 저자 역자 소개 = 7 들어가며 = 21 이 책에서 다루는 내용 = 22 이 책에서 다루지 않는 내용 = 23 누구를 위한 책인가 = 24 왜 리눅스인가? = 24 공개된 소스 코드 = 24 다양한 하드웨어 지원 = 24 많은 리눅스 개발자 = 25 신뢰성 = 25 높은 품질의 컴파일러 = 25 좋은 문서 = 25 다양한 소프트웨어 패키지 = 25 저렴한 개발 비용 = 25 개발 시 라이센스 비용 없음 = 26 보안 = 25 리눅스 어플라이언스 설계 = 26 1장 어플라이언스의 구조 = 27 UI와 데몬 = 29 데몬 = 29 사용자 인터페이스 = 30 프로세스간 통신 = 32 Laddie 어플라이언스의 구조 = 32 요약 = 33 2장 데몬 관리 = 35 데몬을 관리하기 위한 공통 접근 방식 = 36 파일 기반 관리 = 37 데몬 기반 웹 인터페이스 = 38 "모든 것을 한번에" 접근 방식 = 39 제어와 상태 프로토콜 = 39 제어와 상태 프로토콜의 필수 조건 = 42 공통 제어와 상태 프로토를 = 43 요약 = 49 3장 RTA 사용 = 51 RTA 어플라이언스 구조 = 52 RTA 데몬 구조 = 53 RTA에게 칼럼과 테이블에 대해 알리기 = 54 칼럼 = 54 테이블 = 58 첫 번째 RTA 프로그램 = 60 문제 정의 = 60 코드 리뷰 = 60 RTA 설치 = 67 설치와 링크 = 57 검사 = 58 작은 SQL = 70 SELECT = 70 UPDATE = 71 WHERE = 72 LIMIT = 72 RTA의 빌트인 테이블 소개 = 73 rta_dbg = 73 rta_stat = 74 rta_tables = 74 rta_columns = 75 RTA 테이블 편집기 = 75 요약 = 78 4장 데몬의 설치와 보안 = 81 데몬의 설치 = 82 데몬의 구성 읽어오기 = 83 백그라운드로 진입 = 84 프로세스와 세션 리더 = 85 작업 디렉토리의 설정 = 87 stdin, stdout과 stderr로 리다이렉트 = 87 로그 설정 = 88 그룹과 사용자 ID 설정 = 89 pidfile 검사 = 90 umask 설정 = 93 신호 핸들러 설정 = 93 데몬 보안 = 95 안전한 데몬 설계 = 95 안전한 데몬의 작성 = 96 공격을 당하더라도 손해를 줄이는 방법 = 99 프로토타입 데몬 = 102 요약 = 103 읽을 만한 책 = 103 5장 LADDIE 알람 시스템 : 예제 어플라이언스 = 105 알람 시스템의 소개 = 106 센서 = 106 "zone" 활성화 = 109 Laddie의 기능 명세 = 110 ladd의 구성과 상태 = 110 ladd의 알람 처리 = 113 Laddie 하드웨어의 설계 = 114 Laddie 소프트웨어의 설계 = 116 applnit() 콜백 하위 루틴 = 116 poll_timeout() 콜백 하위 루틴 = 118 user_update() 콜백 하위 루틴 = 120 ladd 만들기와 검사 = 122 요약 = 123 6장 로그 = 125 로그가 필요한 이유 = 126 로그 시스템의 구조 = 127 메시지 출발지 = 127 메시지 경로 설정 = 129 메시지 목적지 = 129 syslog = 132 sysiog 구조 = 132 syslog의 사용 = 132 syslog 프로토콜 = 135 syslogd 데몬 사용 = 136 한계, 장점과 syslogd의 대안 = 137 주문형 로그 = 138 요약 = 141 7장 Laddie 이벤트 처리 = 143 새로운 이벤트 처리 시스템이 필요한 이유 = 144 logmuxd의 특징과 능력 = 146 logmuxd의 구성 = 147 logmuxd 출발지 = 147 logmuxd 필드와 다시 쓰기 = 148 logmuxd의 목적지 = 151 logmuxd의 사용 예 = 152 예제 1: logmuxd 설명 = 152 예제 2: logmuxd와 수락된 TCP 연결 = 153 예제 3: logmuxd와 SNMP 트랩 = 157 요약 = 160 8장 웹 인터페이스 설계 = 161 웹 기초 = 162 DNS와 TCP = 163 웹서버 = 164 CGI = 154 자바스크립트 = 164 진화하는 기술 = 164 요구 사항의 설정 = 165 웹서버의 선택 = 165 선택 사항 = 165 PHP 사용 = 165 예제: 링크시스 WRT54G 무선 라우터 = 166 예제: TUX 웹서버 = 167 웹서버의 비교 = 167 UI 설계 = 173 메뉴 시스템 = 173 대화상자 = 175 에러 메시지 = 175 Ajax로 응답성 높이기 = 177 구현 = 178 데몬과 통신 = 179 알람 상태 페이지 = 182 알람 설정 페이지 = 183 페이지 레이아웃과 메뉴 시스템 = 184 웹서버의 독립성 = 185 Ajax를 사용한 비동기 갱신 = 186 설계 개선 = 193 참고 자료 = 194 요약 = 195 9장 명령 행 인터페이스 설계 = l97 CLI가 필요한 이유 = 198 보안 = 198 가용성 = 199 대역폭 = 199 스크립트 사용 가능 = 199 구성 백업과 복원 = 200 CLI의 종류 = 201 문장 = 201 마법사 = 202 메뉴 = 203 상태 유지 = 203 문자와 행 기반 인터페이스 = 204 CLI로의 접근 제공 = 204 Laddie의 CLI = 204 Laddie 명령 요약 = 205 set logs on = 205 dump = 205 help = 207 test 명령을 위한 코드 재검토 = 207 CLI 단어: token.l = 208 CLI 문법: syntax.y = 209 C 코드 = 209 코드에 대한 추가 설명 = 210 요약 = 210 10장 프론트 패널 인터페이스 설계 = 211 버튼, LED, LCD = 212 버튼 = 212 LED = 215 LCD = 216 프론트 패널 UI의 설계 = 218 간단하게 구성 = 218 시도, 실패, 다시 시도 = 218 LCD 메뉴와 모드 사용 = 220 빠르게! = 221 Laddie 프론트 패널 = 223 Laddie LCD 메뉴 시스템 = 225 Laddie 프론트 패널 하드웨어 = 226 Laddie 프론트 패널 UI = 231 설계 개선 방향 = 234 요약 = 235 11장 프레임 버퍼 인터페이스 설계 = 237 비디오 메모리의 동작 = 239 비디오 메모리의 바이트가 해석되는 방법 = 239 비디오 메모리가 디스플레이에 맵핑되는 방법 = 241 리눅스 프레임 버퍼 장치 드라이버 = 243 open, read, write와 close를 사용한 프레임 버퍼 조작 = 243 ioctl 명령으로 프레임 버퍼 구성 = 244 프레임 버퍼를 위한 간단한 그래픽 프로그램 = 247 그래픽 라이브러리 = 252 SDL로 "Hello, world" 출력 = 254 라이브러리 초기화 = 255 프레임 버퍼 초기화 = 255 표면 생성 = 256 표면 출력 = 257 이벤트 처리 = 257 그래픽 UI 툴킷 = 258 STBmenu로 간단한 UI 구축 = 259 STBmenu에 의한 "Hello, world!" 출력 = 263 Laddie 프레임 버퍼 UI = 267 요약 = 270 12장 적외선 리모컨 = 273 적외선 통신 = 274 리모컨 명령의 인코딩 프로토콜 = 274 적외선으로 변조에 의한 간섭 감소 = 277 적외선으로 어플라이언스 제어 = 277 리모컨 수신기의 하드웨어 = 278 IR 신호 검출과 복조 = 278 리모컨 신호 디코딩 = 280 Laddie 어플라이언스를 위한 적외선 리모컨 하드웨어 = 282 Laddie 어플라이언스를 위해 LIRC의 설치와 구성 = 285 LIRC 소프트웨어의 설치 = 286 lirc_serial 커널 장치 드라이버 구성 = 288 lirc_serial 드라이버 검사 = 290 lircd 데몬 구성 = 293 lircd 데몬 검사 = 295 애플리케이션을 제어하기 위한 LIRC 툴 = 297 Laddie 어플라이언스 제어 = 298 요약 = 299 13장 SNMP 소개 = 303 SNMP 용어에 대한 간단한 소개 = 304 소프트웨어 = 306 SNMP의 설치 = 306 다운로드와 설치 = 307 설치 검사 = 307 에이전트의 구성 = 308 에이전트 시작 = 309 SNMP로 탐색 = 309 읽을 수 있는 이름을 위한 MIB 파일 = 311 네트워크 프린터 = 313 snmptable 명령 = 314 MIB-2 : TCP 연결 테이블 = 314 MIB-2 : UDP 테이블 = 316 MIB-2의 내용 = 317 SNMP로 값 설정 = 318 sysContact 설정 = 318 sysName 설정 = 321 SNMP 트랩 = 322 snmptrapd로 트랩 수신 = 322 데이터를 전송하는 트랩: linkUp과 linkDown = 324 요약 = 327 14장 SNMP MIB의 설계 = 329 목표 = 330 회사 번호 = 332 MIB 파일 = 333 LADDIE-GROUP-SMI = 334 LAD-MIB 생성 = 337 모듈 정의 = 339 버전과 "zone"의 수 = 341 Alarm 테이블 = 343 트랩 = 346 MIB 검증 = 348 요약 = 349 15장 SNMP MIB 구현 = 351 Net-SNMP 에이전트 = 353 MIB 골격: mib2c = 357 헤더 파일: ladProject.h = 359 코드 파일: ladProject.c = 359 파일 포함 = 350 기본 OID = 360 MIB 객체 정의 = 361 RTA 접근 루틴 = 364 초기화 루틴 = 368 스칼라 = 368 Alarm 테이블 읽기 = 371 Alarm 테이블에 쓰기 = 375 Makefile 재방문 = 379 디버깅 = 381 트랩 = 382 요약 = 382 부록 A RTA 참조 = 385 RTA 개요 = 387 RTA 상수 = 388 데이터 구조 = 389 API 하위 루틴 = 394 dbcommand() 하위 루틴 = 394 rta_add_table() 하위 루틴 = 396 SQL_string() 하위 루틴 = 396 rta_config_dir() 하위 루틴 = 397 rta_save() 하위 루틴 = 398 rta_load() 하위 루틴 = 399 SELECT와 UPDATE 문법 = 399 SELECT 명령 = 399 UPDATE 명령 = 401 내부 RTA 테이블 = 402 rta_tables 테이블 = 403 rta_columus 테이블 = 403 디버깅 구성 = 404 에러 메시지 = 405 SQL 요청 에러 = 405 내부 디버깅 메시지 = 406 콜백 루틴 = 407 읽기 콜백 = 408 쓰기 콜백 = 408 부록 B SNMP 복습 = 409 왜 SNMP인가 = 410 에이전트와 관리자 = 411 네임스페이스, 문법, 프로토콜 = 411 MIB = 412 OID = 412 MIB-2 = 414 SMI = 416 SNMP 프로토콜 = 418 기본 명령: GET, SET, GETNEXT = 418 GETNEXT로 MIB 탐색 = 418 트랩과 알림 = 418 명령 행 툴: 예제 = 419 SNMPv1, SNMPv2, SNMPv3 = 421 SNMP 데이터 유형 = 421 SNMP 테이블 = 423 새로운 유형의 정의 = 425 MIB 파일의 구조 = 426 요약 = 428 부록 C 프레임 버퍼 장치 드라이버 = 429 비디오 카드에 맞는 프레임 버퍼 장치 드라이버 = 430 vesafd 드라이버 = 431 하드웨어별 드라이버 = 431 Laddie에 포함되지 않은 드라이버 = 432 프레임 버퍼 장치 드라이버 구성 = 433 vesafb 드라이버 = 433 하드웨어별 드라이버 = 434 부록 D DB-to-File 유틸리티 = 437 개괄 = 438 테이블 정의 = 439 tbl2file 테이블 = 439 tbl2field 테이블 = 440 tbl2filed 예제 = 442 보안 주의 사항 = 443 부록 E Laddie 어플라이언스 부팅 CD = 445 Laddie 어플라이언스 실행 = 446 CD 부팅 = 446 프레임 버퍼 사용자 인터페이스 탐색 = 447 웹 인터페이스 접근 = 447 리눅스 쉘과 다른 사용자 인터페이스의 사용 = 448 Laddie 어플라이언스의 종료 = 448 CD 내용 탐색 = 449 Laddie 어플라이언스 소스 코드 = 449 Laddie 어플라이언스 라이브러리 = 450 시작 스크립트 = 450 리눅스 From-Scratch 배포판과 추가 패키지 = 451 Laddie 어플라이언스의 재설치 = 451 찾아보기 = 454




