Top

리눅스 기반의 임베디드 제품 디자인 [제품의 가치를 높이는 리눅스 어플라이언스 기술]

  • 원서명Linux Appliance Design: A Hands-On Guide to Building Linux Appliances (ISBN 9781593271404)
  • 지은이밥 스미스, 존 하딘, 그레이엄 필립스, 빌 피어스
  • 옮긴이한정애
  • ISBN : 9788960770249
  • 33,000원
  • 2007년 11월 16일 펴냄
  • 페이퍼백 | 472쪽 | 188*250mm
  • 시리즈 : 임베디드 시스템

책 소개

리눅스를 임베디드 운영체제로 사용하면 저렴한 개발 비용만으로도 빠르게 개발해 제품을 시장에 내놓을 수 있다. 현대 어플라이언스는 프로세서, 운영 체제와 애플리케이션 소프트웨어를 갖춘 복잡한 기계다. 임베디드 하드웨어에서 리눅스를 실행하는 방법이나 리눅스 애플리케이션에 대한 책은 많지만 그 둘을 어떻게 결합하여 리눅스 어플라이언스를 만들 것인가에 대해 설명하는 책은 없었다. 이 책에서는 더 나은 어플라이언스를 설계하는 방법을 알려준다. 즉 많은 종류의 인터페이스를 지원하고 좀더 동적인 인터페이스를 제공하며 더 쉽게 디버깅할 수 있는 인터페이스를 알려준다.


[ 책 소개 ]

토스터나 오븐, 식기세척기는 우리 삶에서 쉽게 찾아볼 수 있는 어플라이언스다. 이들 가전제품의 사용법에 익숙해진 나머지 많은 사람들이 그 제품이 어떤 방식으로 동작하는지, 무엇이 제품을 어플라이언스로 만드는지, 아니 어플라이언스 자체에 대해 생각조차 하지 않는다. 이 책에서 어플라이언스는 단순한 기능을 수행하기 위해 개발된 장치를 일컫는다. 앞에서 언급한 어플라이언스에 대해서 조금만 생각을 해보면 앞의 정의처럼 토스터는 토스트할 때에, 오븐은 음식을 구을 때, 식기 세척기는 그릇을 씻을 때 사용된다는 것을 쉽게 알 수 있다. 수만 수천 가지의 일을 할 수 있는 PC에 비한다면 전형적인 어플라이언스는 간단하고 따분하다.
그런데 리눅스로 뭘 한다는 것일까? 그러나 초보자에겐 전형적인 어플라이언스도 사실 간단하지 않다. 전기로 움직이긴 하지만 여전히 기계적인 진공청소기 같은 장치들도 이젠 더 이상 전기로만 움직이는 게 아니라 프로세서와 정교한 사용자 인터페이스를 가지고 있다. 이렇게 전자 제품들이 바뀌어 가고 있기 때문에 새로운 기능을 관리하기 위해서는 어플라이언스에 운영체제를 올려 실행시켜야 한다. 리눅스는 저렴하고(대체로 공짜다), 오픈 소스(즉 원하는 대로 수정할 수 있다)이기 때문에 어플라이언스에 딱 맞는다. 단, 리눅스는 새로 개발되고 있는 어플라이언스에 더 적합하다고 할 수 있다. 디지털 비디오 녹화기(DVR, digital video recorder)는 몇 년 전에는 없던 제품이지만 최초로 개발돼 가장 유명해진 DVR 어플라이언스인 TiVO만 보아도 다른 많은 홈 네트워크 엔터테인먼트 어플라이언스처럼 리눅스를 사용한다.
여러분이 차세대 로봇 청소 시스템을 구축하려할 때 아무 것도 없는 바닥에서 시작하진 않을 것이다. 여러분은 이전 로봇들에서 재사용할 수 있는 부분을 최대한 골라내고 가능하다면 외부에서 만든 부품을 사서 쓰고 싶을 것이다. 이런 식의 재사용이라는 개념이 리눅스 어플라이언스에도 똑같이 적용되며 이 책에서는 리눅스를 쉽게 재사용하는 방법을 제시하려 한다.


[ 이 책에서 다루는 내용 ]

▶ 데몬에서 사용자 인터페이스를 분리시키는 방법
▶ 사용자 인터페이스가 실시간으로 구성, 상태, 통계 정보에 접근할 수 있게 하는 법
▶ 애플리케이션에 전문적인 네트워크 관리 기능 추가
▶ SNMP 사용과 MIB 설계
▶ 웹 기반 어플라이언스 인터페이스 설계
▶ 명령행 인터페이스(CLI) 설계
▶ 적외선 리모컨에서 입력을 받는 프레임버퍼 인터페이스 설계
▶ 어플라이언스에서 로그와 알람 관리


[ 이 책의 대상 ]

맞춤형 리눅스 어플라이언스를 구축하고 다양한 사용자 인터페이스를 지원할 뿐만 아니라 안전하기까지 한 데몬을 만들고 로그와 이벤트 관리를 지원하고 싶은 리눅스 프로그래머에게 적합한 책이다. 또한 데몬의 사용자 인터페이스를 다른 운영체제나 다른 프로그래밍 언어로 포팅해야 할 때 드는 노력을 최소화하고 싶은 개발자라면 이 책을 추천한다. 이 책은 독자가 리눅스 환경 하에서 C로 프로그래밍하는 데 익숙하다고 가정했다.


[ 부록 CD 제공 ]

▶ 복잡하게 리눅스를 깔지 않아도 간단히 CD 부팅만으로 리눅스 환경에서 개발 가능
▶ 이 책에 들어있는 모든 소스코드 제공
▶ 독자가 직접 소스를 추가하고 기능들을 채워넣을 수 있는 비어 있는 데몬 제공

저자/역자 소개

[ 저자 소개 ]

밥 스미스, 존 하딘, 그레이엄 필립스, 빌 피어스
밥 스미스(Bob Smith), 존 하딘(John Hardin), 그레이엄 필립스(Graham Phillips)와 빌 피어스(Bill Pierce)는 임베디드 시스템, 상업 리눅스와 BSD 어플라이언스, 네트워크 관리 시스템 및 기업용 소프트웨어 솔루션 설계 등 다양한 업무를 해왔다.


[ 역자 소개 ]

한정애
서울대학교 컴퓨터공학과를 졸업하고 동 대학원에 재학 중이다. 현재 세부 전공은 무선 통신 분야이지만 리눅스와 리눅스 프로그램 등을 포함한 컴퓨터와 관련된 다양한 분야에 관심이 많다. 역서로 에이콘출판사에서 출간한 『리눅스 실전 가이드』(2007) 등이 있다.

[ 역자 서문 ]

대다수 사람들이 임베디드 리눅스 제품이라고 하면 낯설고 어려운 것이라고 생각할 것 같다. 나 역시 처음 어플라이언스라는 단어를 들었을 때에는 생소하고 나와는 거리가 먼 것이라고 생각했었다. 하지만 사실 어플라이언스, 그 중에서도 임베디드 리눅스가 적용된 가전제품은 우리 주위에서 점점 늘어나고 있는 추세다. 어플라이언스란 범용 컴퓨터가 아닌 특정 기능을 위한 컴퓨터로서, LCD로 현재 냉장 상태를 알려주는 냉장고나 밥짓기 코스를 한눈에 보여주는 전기 밥솥처럼 우리가 늘 사용하고 있는 가전 제품을 들 수 있다. 이 책에서는 이들 어플라이언스의 특징과 함께 어플라이언스와 사용자간의 대화 통로를 다양하게 만들기 위한 여러 기술들을 설명하고 있다.

앞서 예를 든 것처럼 가전 제품은 진화하고 있으며 이러한 과정 속에서 사용자들은 더 다양한 방식으로 자신의 어플라이언스와 대화하길 바라게 되었다. 따라서 이제 간단한 토스터기를 만들 때조차도 그 안에 CPU를 장착하고, 임베디드 리눅스를 설치하여 어떻게 하면 사용자들이 더 쉽고 빠르게 익힐 수 있게 하는 다양한 종류의 사용자 인터페이스를 제공할 것인를 고민해야 하는 시대가 된 것이다.

따라서 좀 더 매력적이고, 차별화된 제품을 내놓기 원하는 사람이라면 LCD 프론트 패널이나 리모컨 기능과 같이 사용자들의 눈길을 확 끌어당기는 기술을 배워야만 할 것이다. 그렇다고 너무 좌절하지는 말자. 이 책에서 어플라이언스에 필요한 개념을 확실히 설명하면서 쉽고 빠르게 사용자 인터페이스를 만들기 위해 필요한 모든 것을 제공하고 있으니까 말이다.

이 책에서 그저 가전 제품에 적용되는 기술만을 다루는 것은 아니다. 전통적인 어플라이언스인 네트워크 기기들에서 필요한 기술들도 충분히 살펴보고 있으니 자신의 제품이 좀 더 똑똑하게 보이길 원하는 사람이라면 이 책을 꼭 읽어보자.

목차

목차
  • 들어가며 / 21
    • 이 책에서 다루는 내용 / 22
    • 이 책에서 다루지 않는 내용 / 23
    • 누구를 위한 책인가 / 24
    • 왜 리눅스인가? / 24
      • 공개된 소스 코드 / 24
      • 다양한 하드웨어 지원 / 24
      • 많은 리눅스 개발자 / 25
      • 신뢰성 / 25
      • 높은 품질의 컴파일러 / 25
      • 좋은 문서 / 25
      • 다양한 소프트웨어 패키지 / 25
      • 저렴한 개발 비용 / 25
      • 개발 시 라이센스 비용 없음 / 26
      • 보안 / 26
    • 리눅스 어플라이언스 설계 / 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
      • 설치와 링크 / 67
      • 검사 / 68
    • 작은 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
      • appInit() 콜백 하위 루틴 / 116
      • poll_timeout() 콜백 하위 루틴 / 118
      • user_update() 콜백 하위 루틴 / 120
    • ladd 만들기와 검사 / 122
    • 요약 / 123
  • 6장 로그 / 125
    • 로그가 필요한 이유 / 126
    • 로그 시스템의 구조 / 127
      • 메시지 출발지 / 127
      • 메시지 경로 설정 / 129
      • 메시지 목적지 / 129
    • syslog / 132
      • syslog 구조 / 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 / 164
      • 자바스크립트 / 164
      • 진화하는 기술 / 164
    • 요구 사항의 설정 / 165
    • 웹서버의 선택 / 165
      • 선택 사항 / 165
      • PHP 사용 / 166
      • 예제: 링크시스 WRT54G 무선 라우터 / 166
      • 예제: TUX 웹서버 / 167
      • 웹서버의 비교 / 167
    • UI 설계 / 173
      • 메뉴 시스템 / 173
      • 대화상자 / 175
      • 에러 메시지 / 175
      • Ajax로 응답성 높이기 / 177
    • 구현 / 178
      • 데몬과 통신 / 179
      • 알람 상태 페이지 / 182
      • 알람 설정 페이지 / 183
      • 페이지 레이아웃과 메뉴 시스템 / 184
      • 웹서버의 독립성 / 185
      • Ajax를 사용한 비동기 갱신 / 186
    • 설계 개선 / 193
    • 참고 자료 / 194
    • 요약 / 195
  • 9장 명령 행 인터페이스 설계 / 197
    • 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 / 206
      • 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
      • 파일 포함 / 360
      • 기본 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
      • rtaaddtable() 하위 루틴 / 396
      • SQL_string() 하위 루틴 / 396
      • rtaconfigdir() 하위 루틴 / 397
      • rta_save() 하위 루틴 / 398
      • rta_load() 하위 루틴 / 399
    • SELECT와 UPDATE 문법 / 399
      • SELECT 명령 / 399
      • UPDATE 명령 / 401
    • 내부 RTA 테이블 / 402
      • rta_tables 테이블 / 403
      • rta_columns 테이블 / 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

관련 블로그 글

『리눅스 기반의 임베디드 제품 디자인』 출간 안내

리눅스 기반의 임베디드 제품 디자인
제품의 가치를 높이는 리눅스 어플라이언스 기술
밥 스미스, 존 하딘, 그레이엄 필립스, 빌 피어스 지음 | 한정애 옮김
33,000원 | 2007-11-16 출간 | 472쪽 | 9788960770249

중고급 Ajax 개발자에게 통찰력을 심어주는『Ajax 패턴과 베스트 프랙티스』, 80년대초부터 90년대 중반까지 십여 년 동안 IT업계에 몸담으며 실제로 듣고 보고 경험한 IT 업계의 초대박 뒷담화를 담은『초난감 기업의 조건』을 기다리고 계신 독자분들을 즐겁게 할 또 하나의 에이콘 신간 소식입니다.

에이콘 임베디드 시스템 프로그래밍 시리즈의 24번째 책인 『리눅스 기반의 임베디드 제품 디자인: 제품의 가치를 높이는 리눅스 어플라이언스 기술』이 곧 출간됩니다. 날짜로 봐서는 『초난감 기업의 조건』을 며칠 앞지른 11월 16일에 독자분들을 찾아가겠네요.

현대 어플라이언스는 프로세서, 운영 체제와 애플리케이션 소프트웨어를 갖춘 복잡한 기계다. 리눅스를 임베디드 운영체제로 사용하면 저렴한 개발 비용만으로도 빠르게 개발해 제품을 시장에 내놓을 수 있다. 임베디드 하드웨어에서 리눅스를 실행하는 방법이나 리눅스 애플리케이션에 대한 책은 많지만 그 둘을 어떻게 결합하여 리눅스 어플라이언스를 만들 것인가에 대해 설명하는 책은 없었다. 이 책에서는 더 나은 어플라이언스를 설계하는 방법을 알려준다.
임베디드 시스템, 상용 리눅스와 BSD 어플라이언스, 네트워크 관리 시스템 및 기업용 소프트웨어 솔루션 설계 등 다양한 업무를 해온 저자진 밥 스미스(Bob Smith), 존 하딘(John Hardin), 그레이엄 필립스(Graham Phillips)와 빌 피어스(Bill Pierce)가 집필하고, 에이콘에서 지난 6월 출간한『리눅스 실전 가이드』를 옮기고 서울대학교 컴퓨터공학과 대학원에서 무선통신 분야를 전공 중인 한정애님이 번역을 했습니다.

대다수 사람들이 임베디드 리눅스 제품이라고 하면 낯설고 어려운 것이라고 생각할 것 같다. 나 역시 처음 어플라이언스라는 단어를 들었을 때에는 생소하고 나와는 거리가 먼 것이라고 생각했었다.

하지만 사실 어플라이언스, 그 중에서도 임베디드 리눅스가 적용된 가전제품은 우리 주위에서 점점 늘어나고 있는 추세다. 어플라이언스란 범용 컴퓨터가 아닌 특정 기능을 위한 컴퓨터로서, LCD로 현재 냉장 상태를 알려주는 냉장고나 밥짓기 코스를 한눈에 보여주는 전기 밥솥처럼 우리가 늘 사용하고 있는 가전 제품을 들 수 있다.

이 책에서는 이들 어플라이언스의 특징과 함께 어플라이언스와 사용자간의 대화 통로를 다양하게 만들기 위한 여러 기술들을 설명하고 있다.  
- 옮긴이의 말 중에서

특히 이 책에서는 복잡하게 리눅스를 깔지 않고서도 리눅스 개발이 가능하도록 부팅시킬 수 있는 LiveCD를 제공합니다. 이 부록 CD 안에는 이 책에 들어있는 모든 소스코드와 독자가 직접 소스를 추가하고 기능들을 채워넣을 수 있는 비어 있는 데몬도 들어 있습니다.

가전 제품 등의 하드웨어와 임베디드 리눅스에 관심이 많은 독자여러분의 입맛을 다시게 할 재미있는 책입니다. 많이 기대해주세요!

CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안