본문 바로가기

추천 검색어

실시간 인기 검색어

임베디드 리눅스 프로그래밍 완전정복

크리스 시먼즈 저자(글) · 김기주 , 김병극 , 송지연 번역
에이콘출판 · 2019년 01월 30일
새로 출시된 개정판이 있습니다. 개정판보기
7.0 (3개의 리뷰)
도움돼요 (50%의 구매자)
  • 임베디드 리눅스 프로그래밍 완전정복 대표 이미지
    임베디드 리눅스 프로그래밍 완전정복 대표 이미지
  • A4
    사이즈 비교
    210x297
    임베디드 리눅스 프로그래밍 완전정복 사이즈 비교 187x235
    단위 : mm
MD의 선택 한정판매 무료배송 이벤트 소득공제
10% 36,000 40,000
적립/혜택
2,000P

기본적립

5% 적립 2,000P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 2,000P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서만 15,000원 이상 구매 시 무료배송
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
서울시 종로구 종로 1

알립니다.

  • 거래처 품절 상태로 재고수량이 충분치 않아 조기 품절될 수 있으며, 상품 상태가 깨끗하지 않을 수 있습니다. 양해 부탁드립니다.

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

패키지

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

임베디드 리눅스를 이용해서 장치를 만들 때 고려할 하드웨어 관련 사항, 툴체인과 부트로더 선택, 커널 구성과 루트 파일시스템 생성, 빌드 시스템 선택, 플래시 메모리, 장치 드라이버, 시스템 부트 과정을 다룬다. 또한 만들어진 임베디드 리눅스 플랫폼 위에서 프로그래밍할 때 고려해야 할 프로세스와 스레드, 메모리 관리, 디버깅, 프로파일링, 실시간 프로그래밍 관련 내용도 다룬다. 2판에서는 OTA(over-the-air) 업데이트를 다루는 8장, ‘소프트웨어 업데이트’, 배터리 수명 연장과 에너지 절약을 통한 환경 보호에 도움이 되는 11장, ‘전원 관리’가 추가됐다.

작가정보

소프트웨어 컨설턴트이자 교육자로 영국 남부에 살고 있다. 20년 가까이 오픈소스 임베디드 시스템 설계와 개발 경험을 쌓아왔으며, 임베디드 리눅스, 리눅스 장치 드라이버, 안드로이드 플랫폼 개발 관련 교육과 멘토링 서비스를 제공하는 2net Ltd의 창업자이자 수석 컨설턴트다. ARM, 퀄컴(Qualcomm), 인텔(Intel), 에릭슨(Ericsson), 제너럴 다이내믹스(General Dynamics) 등 임베디드 업계의 대규모 회사 여러 곳의 엔지니어들을 교육했다. 임베디드 리눅스 콘퍼런스(Embedded Linux Conference)와 임베디드 월드(Embedded World) 등 오픈소스와 임베디드 콘퍼런스에서 자주 강연한다. 블로그 ‘Inner Penguin’(www.2net.co.uk)에서 그의 작업 중 일부를 살펴볼 수 있다.

번역 김기주

포스텍 컴퓨터공학과와 동 대학원을 졸업한 뒤 지금은 elastic.co에서 일래스틱서치(Elasticsearch) 사용자들을 돕고 있다. https://www.elastic.co/kr/blog에 다수의 글을 썼으며 오피셜 일래스틱 트레이닝(Official Elastic Training)(https://training.elastic.co/)에서 강의도 한다. 공저로 『Security PLUS for UNIX』(영진닷컴, 2000), 역서로 에이콘출판사의 『임베디드 프로그래밍 입문』(2006), 『실시간 UML』(2008), 『리눅스 API의 모든 것』(2012), 『리눅스 실전 가이드』(2014), 『한눈에 빠져드는 셸 스크립트 2/e』(2018)가 있다.

번역 김병극

IMF 시절 웹 프로그래밍을 시작으로 SW 개발을 시작했으며, 그 뒤 삼성, 팬택 피처폰의 데이터 서비스 및 애플리케이션 관련 업무 진행 중 자바 VM을 포팅하는 일이 인연이 되어 썬 마이크로시스템즈와 오라클에서 자바 VM 관련 개발 업무를 했다. 현재는 시놉시스(Synopsys)의 정적 분석, 동적 분석 및 퍼징 테스트(Fuzzing test) 제품의 기술지원 업무를 맡고 있으며, 역서로는 『한눈에 빠져드는 셸 스크립트 2/e』(에이콘, 2018)가 있다.

번역 송지연

지엔텔, 노키아 지멘스 네트웍스에서 근무한 경험이 있는 WCDMA, LTE 분야의 통신 기술 엔지니어 출신으로, 취미로 팀을 만들어 한동안 개발에 푹 빠져 있기도 했다. 현재는 주전공인 SW 개발 분야로 돌아와 오라클 자바 개발 팀, 그레이스 노트를 거쳐 닐슨에서 근무 중이다. 역서로는 『스프링 프레임워크 핵심노트 3권』(한빛미디어, 2013)과 『리눅스 실전 가이드』(에이콘, 2014) 등이 있다.

작가의 말

리눅스를 임베디드 시스템에 빌드해 넣기 위해 필요한 기법들을 알려준다. 먼저 모든 임베디드 리눅스 프로젝트를 뒷받침하는 기본 요소인 툴체인, 부트로더, 커널, 루트 파일시스템에 대해 배울 것이다. 이들 요소 각각을 만드는 방법을 밑바닥부터 알려준 뒤, Buildroot와 Yocto 프로젝트를 이용해서 자동화하는 방법을 알려준다. 나아가 플래시 메모리를 이용해서 코드와 데이터를 저장하는 방법과 장치가 배포된 뒤에 소프트웨어를 업데이트하는 방법을 배운다. 또한 임베디드 리눅스 코딩의 핵심인 응용 프로그램에서 하드웨어에 접근하는 방법, 멀티프로세스와 멀티스레드 프로그램 설계 방법을 소개한다. 마지막으로 코드를 응용 프로그램 수준과 커널 수준에서 디버그하고 프로파일하는 방법을 익혀 버그를 찾아내고 성능상 병목을 해결할 수 있다.
이 책을 읽고 나면 성공적인 임베디드 리눅스 시스템을 만드는 데 필요한 완전한 개요를 알게 될 것이다.

목차

  • 1장. 시작
    __알맞은 운영체제 선택하기
    __참여 단체
    __프로젝트 생명주기
    ____임베디드 리눅스의 4 요소
    __오픈소스
    ____라이선스
    __임베디드 리눅스용 하드웨어
    __이 책에서 사용하는 하드웨어
    ____비글본 블랙
    ____QEMU
    __이 책에서 사용하는 소프트웨어
    __요약

    2장. 툴체인에 대해 배워보자
    __툴체인 소개
    ____툴체인의 종류
    ____CPU 아키텍처
    ____C 라이브러리 고르기
    __툴체인 찾기
    __crosstool-NG를 이용한 툴체인 빌드
    ____crosstool-NG 설치
    ____비글본 블랙용 툴체인 빌드
    ____QEMU용 툴체인 빌드
    __툴체인의 구조
    ____크로스 컴파일러에 대해 알아보기
    ____sysroot, 라이브러리, 헤더 파일
    ____툴체인 안의 다른 도구들
    ____C 라이브러리의 요소 살펴보기
    __라이브러리와 링크하기: 정적 링크와 동적 링크
    ____정적 라이브러리
    ____공유 라이브러리
    __크로스 컴파일 기술
    ____단순 makefile
    ____Autotools
    ____패키지 구성
    ____크로스 컴파일 관련 문제
    __요약

    3장. 부트로더에 대한 모든 것
    __부트로더는 무슨 일을 하는가?
    __부트 순서
    ____1단계: 롬 코드
    ____2단계: SPL
    ____3단계: TPL
    __UEFI 펌웨어로 부팅하기
    __부트로더에서 커널로 이동
    __장치 트리 소개
    ____장치 트리 기초
    ____reg 프로퍼티
    ____레이블과 인터럽트
    ____장치 트리 include 파일
    ____장치 트리 컴파일
    __부트로더 선택
    __U-Boot
    ____U-Boot 빌드
    ____U-Boot 설치
    ____U-Boot 사용
    ____리눅스 부트
    ____U-Boot를 새로운 보드에 이식
    ____빌드와 테스트
    ____팔콘 모드
    __Barebox
    ____Barebox 구하기
    ____Barebox 빌드하기
    ____Barebox 사용하기
    __요약

    4장. 커널 구성과 빌드
    __커널은 무엇을 하는가?
    __커널 선택하기
    ____커널 개발 주기
    ____안정적 장기 지원 릴리스
    ____벤더 지원
    ____라이선스
    __커널 빌드하기
    ____소스 구하기
    ____커널 구성의 이해: KConfig
    ____LOCALVERSION을 이용한 커널 식별
    ____커널 모듈
    __컴파일: Kbuild
    ____어떤 커널 이미지를 컴파일할지 알아내기
    ____빌드 산출물
    ____장치 트리 컴파일
    ____모듈 컴파일
    ____커널 소스 청소
    ____비글본 블랙용 커널 빌드하기
    ____QEMU용 커널 빌드하기
    __커널 부팅하기
    ____비글본 블랙 부팅하기
    ____QEMU 부팅하기
    __커널 패닉
    ____초기 사용자 공간
    ____커널 메시지
    ____커널 커맨드라인
    __리눅스를 새 보드에 이식하기
    ____새로운 장치 트리
    ____보드 compatible 프로퍼티 설정하기
    __더 읽을거리
    __요약

    5장. 루트 파일시스템 만들기
    __루트 파일시스템에는 무엇이 있어야 하는가?
    ____디렉토리 레이아웃
    ____스테이징 디렉토리
    ____POSIX 파일 접근 권한
    ____스테이징 디렉토리에서 파일 소유권 권한
    ____루트 파일시스템을 위한 프로그램
    ____루트 파일시스템용 라이브러리
    ____장치 노드
    ____proc과 sysfs 파일시스템
    ____커널 모듈
    __루트 파일시스템을 타깃으로 전송하기
    __부트 initramfs 만들기
    ____단독형 initramfs
    ____initramfs 부팅하기
    ____QEMU로 부팅하기
    ____비글본 블랙 부팅하기
    ____initramfs를 커널 이미지에 넣기
    ____장치 테이블을 이용해 initramfs 빌드하기
    ____오래된 initrd 형식
    __init 프로그램
    ____데몬 프로세스 시작하기
    __사용자 계정 구성하기
    ____루트 파일시스템에 사용자 계정 추가하기
    __장치 노드를 관리하는 더 좋은 방법
    ____devtmpfs를 사용하는 예
    ____mdev를 사용하는 예
    ____결국 정적 장치 노드는 그렇게 나쁜 것인가?
    __네트워크 구성하기
    ____glibc용 네트워크 요소
    __장치 테이블을 이용해 파일시스템 이미지 만들기
    ____비글본 블랙 부팅하기
    __NFS를 이용해 루트 파일시스템 마운트하기
    ____QEMU로 테스트하기
    ____비글본 블랙으로 테스트하기
    ____권한 문제
    __TFTP를 이용해 커널 로드하기
    __더 읽을거리
    __요약

    6장. 빌드 시스템 선택하기
    __빌드 시스템
    __패키지 포맷과 패키지 관리자
    __Buildroot
    ____배경
    ____안정 버전 릴리스 및 장기간 지원
    ____설치
    ____구성
    ____실행
    ____커스텀 BSP 생성
    ____자신의 코드 추가
    ____라이선스 준수
    __Yocto프로젝트
    ____배경
    ____안정적인 릴리스 그리고 지원
    ____Yocto 프로젝트 설치
    ____구성하기
    ____빌드
    ____QEMU 타깃 실행
    ____레이어
    ____local.conf를 통한 이미지 커스터마이징
    ____이미지 레시피 쓰기
    ____SDK 만들기
    ____라이선스 검사
    __더 읽을거리
    __요약

    7장. 저장소 전략 만들기
    __저장소 옵션
    ____NOR 플래시
    ____NAND 플래시
    ____컨트롤러가 내장된 플래시
    __부트로더에서 플래시 메모리 접근하기
    ____U-Boot와 NOR 플래시
    ____U-Boot와 NAND 플래시
    ____U-Boot와 MMC, SD, eMMC
    __리눅스에서 플래시 메모리 접근하기
    ____MTD
    ____MMC 블록 드라이버
    __플래시 메모리용 파일시스템
    ____플래시 변환 레이어
    __NOR와 NAND 플래시 메모리용 파일시스템
    ____JFFS2
    ____YAFFS2
    ____UBI와 UBIFS
    __컨트롤러가 내장된 플래시용 파일시스템
    ____플래시벤치
    ____discard와 TRIM
    ____Ext4
    ____F2FS
    ____FAT16/32
    __읽기 전용 압축 파일시스템
    ____squashfs
    __임시 파일시스템
    __읽기 전용 루트 파일시스템 만들기
    __파일시스템 선택
    __더 읽을거리
    __요약

    8장. 소프트웨어 업데이트
    __무엇을 업데이트해야 하는가?
    ____부트로더
    ____커널
    ____루트 파일시스템
    ____시스템 응용 프로그램
    ____장치별 데이터
    ____업데이트가 필요한 컴포넌트
    __소프트웨어 업데이트의 기본
    ____견고한 업데이트
    ____안전한 업데이트
    ____업데이트 보안
    __업데이트 메커니즘 유형
    ____시메트릭(대칭) 이미지 업데이트
    ____어시메트릭(비대칭) 이미지 업데이트
    ____원자 파일 업데이트
    __OTA 업데이트
    __로컬 업데이트 시 Mender 사용하기
    ____Mender 클라이언트 빌드하기
    ____업데이트 설치하기
    __OTA 업데이트 시 Mender 사용하기
    __요약

    9장. 장치 드라이버와의 만남
    __장치 드라이버의 역할
    __문자 장치
    __블록 장치
    __네트워크 장치
    __런타임 시 드라이버 찾기
    ____sysfs에서 정보 가져오기
    __적합한 장치 드라이버 찾기
    __사용자 공간의 장치 드라이버
    ____GPIO
    ____LED
    ____I2C
    ____SPI
    __커널 장치 드라이버 작성
    ____문자 드라이버 인터페이스 설계
    ____장치 드라이버의 구조
    ____커널 모듈 컴파일
    ____커널 모듈 로딩
    __하드웨어 구성 정보 찾기
    ____장치 트리
    ____플랫폼 데이터
    ____장치 드라이버와 하드웨어의 연동
    __더 읽을거리
    __요약

    10장. 시스템 구동: init 프로그램
    __커널 구동 이후
    __init 프로그램의 소개
    __BusyBox init
    ____Buildroot init 스크립트
    __시스템 V init
    ____inittab
    ____init.d 스크립트
    ____새로운 데몬 추가
    ____서비스 시작과 종료
    __systemd
    ____Yocto 프로젝트와 Buildroot에서 systemd 빌드하기
    ____타깃, 서비스, 유닛의 소개
    ____systemd로 시스템을 구동하는 방법
    ____직접 만든 서비스 설치
    ____워치독 추가
    ____임베디드 리눅스에서 중요한 점
    __더 읽을거리
    __요약

    11장. 전원 관리
    __전력 사용량 측정
    __클록 주파수 스케일링
    ____CPUFreq 드라이버
    ____CPUFreq 사용
    __최적의 유휴 상태 선택하기
    ____CPUIdle 드라이버
    ____틱리스 작업
    __주변장치 전원 끄기
    __시스템을 절전 모드로 전환하기
    ____전력 상태
    ____웨이크업 이벤트
    ____실시간 클록(RTC)의 시간 지정 웨이크업
    __더 읽을거리
    __요약

    12장. 프로세스와 스레드
    __프로세스인가 스레드인가?
    __프로세스
    ____새로운 프로세스 만들기
    ____프로세스 종료하기
    ____다른 프로그램 실행하기
    ____데몬
    ____프로세스 간 통신
    __스레드
    ____새로운 스레드 만들기
    ____스레드 종료하기
    ____스레드를 사용하는 프로그램 컴파일하기
    ____스레드 간 통신
    ____상호 배제
    ____조건 바꾸기
    ____문제 나누기
    __스케줄링
    ____공평성 대 결정성
    ____시분할 정책
    ____실시간 정책
    ____정책 선택하기
    ____실시간 우선순위 선택하기
    __더 읽을거리
    __요약

    13장. 메모리 관리
    __가상 메모리 기초
    __커널 공간 메모리 레이아웃
    ____커널이 얼마나 많은 메모리를 사용하는가?
    __사용자 공간 메모리 레이아웃
    __프로세스 메모리 맵
    __스와핑
    ____압축 메모리(zram)로 스왑
    __mmap으로 메모리 매핑
    ____mmap을 사용한 독립된 메모리 할당
    ____mmap을 사용한 메모리 공유
    ____mmap을 사용한 장치 메모리 액세스
    __응용 프로그램에서 얼마나 많은 메모리를 사용하고 있는가?
    __프로세스별 메모리 사용량
    ____top과 ps 사용
    ____smem 사용
    ____고려할 만한 그 밖의 툴
    __메모리 누수 알아내기
    ____mtrace
    ____Valgrind
    __메모리 부족
    __더 읽을거리
    __요약

    14장. GDB로 디버깅하기
    __GNU 디버거
    __디버깅 준비하기
    __응용 프로그램 디버깅
    ____gdbserver를 이용한 원격 디버깅
    ____원격 디버깅을 위한 Yocto 프로젝트 셋업하기
    ____원격 접속을 위한 Buildroot 셋업하기
    ____디버깅 시작하기
    ____네이티브 디버깅
    __JIT 디버깅
    __디버깅 포크와 스레드
    __코어 파일
    ____GDB를 이용해 코어 파일 살펴보기
    __GDB 사용자 인터페이스
    ____터미널 사용자 인터페이스
    ____데이터 디스플레이 디버거
    ____이클립스
    __커널 코드 디버깅
    ____kgdb를 사용한 커널 코드 디버깅
    ____디버그 세션 예제
    ____얼리 코드(early code) 디버깅
    ____디버깅 모듈
    ____kdb를 사용한 커널 코드 디버깅
    ____oops 메시지 살펴보기
    ____oops 메시지의 보존
    __더 읽을거리
    __요약

    15장. 프로파일링과 추적
    __관찰자 효과
    ____심볼 테이블과 컴파일 플래그
    __프로파일 시작하기
    __top으로 프로파일링하기
    __푸어맨 프로파일러
    __perf 소개
    ____perf용 커널 구성
    ____Yocto 프로젝트로 perf 빌딩하기
    ____Buildroot로 perf 빌딩하기
    ____perf로 프로파일링하기
    ____호출 그래프
    ____perf annotate
    __그 밖의 프로파일러: OProfile, gprof
    __이벤트 추적
    __Ftrace 소개
    ____Ftrace 사용 준비
    ____Ftrace 사용
    ____동적 Ftrace 및 trace 필터
    ____이벤트 추적
    __LTTng 사용
    ____LTTng와 Yocto 프로젝트
    ____LTTng와 Buildroot
    ____커널 추적에 LTTng 사용
    __Valgrind 사용
    ____Callgrind
    ____Helgrind
    __strace 사용
    __요약

    16장. 실시간 프로그래밍
    __실시간이란 무엇인가?
    __비결정론의 근원 식별하기
    __스케줄링 대기시간 이해하기
    __커널 선점
    __실시간 리눅스 커널(PREEMPT_RT)
    ____스레드 인터럽트 핸들러
    __선점 가능한 커널 잠금
    ____PREEMPT_RT 패치 얻기
    ____Yocto 프로젝트와 PREEMPT_RT
    __고해상도 타이머
    __페이지 폴트 방지
    __인터럽트 쉴링
    __스케줄링 대기시간 측정
    ____cyclictest
    ____Ftrace 사용
    ____cyclictest와 Ftrace 결합
    __더 읽을거리
    __요약

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 대부분의 SoC나 임베디드 모듈 제조사가 제공하는 BSP 평가하기
■ 빌드루트와 Yocto 프로젝트를 이용해 빠르고 효율적으로 임베디드 리눅스 시스템 구축하기
■ 보안 위협 없이 판매된 IoT 장치 업데이트
■ 장치의 전력 소모량을 줄여 배터리 지속하기
■ 커널 장치 드라이버를 작성하지 않고 하는 하드웨어 상호작용
■ GDB를 이용해 장치를 원격으로 디버그와 perf, ftrace, valgrind 같은 강력한 도구를 이용한 시스템 성능 측정
■ 실시간 운영 체제로 리눅스 구성하기

★ 이 책의 대상 독자 ★

임베디드 컴퓨팅과 리눅스에 관심이 있고, 다양한 주제에 대한 지식을 넓히고자 하는 개발자를 위한 책이다. 리눅스 커맨드라인에 대한 기초적인 이해가 있다고 가정했고, 프로그래밍 예에서는 C 언어에 대한 실용적인 지식이 있다고 가정했다. 몇몇 장은 임베디드 타깃 보드에 들어가는 하드웨어에 초점을 맞추므로, 하드웨어와 하드웨어 인터페이스에 친숙하면 도움이 될 것이다.

★ 이 책의 구성 ★

1장 ‘시작’에서는 임베디드 리눅스 생태계를 설명하고, 프로젝트를 시작할 때 시스템 설계자가 할 수 있는 선택에 대해 설명한다.
2장 ‘툴체인에 대해 배워보자’에서는 툴체인의 요소에 대해 설명하고, 타깃 보드용으로 크로스 컴파일하기 위한 툴체인을 만드는 방법을 보여준다. 어디서 툴체인을 구할 수 있는지와 소스 코드로부터 빌드하는 방법에 대해 자세히 설명한다.
3장 ‘부트로더에 대한 모든 것’에서는 리눅스 커널을 메모리로 로드하는 부트로더의 역할에 대해 설명하고, U-Boot와 Bareboot를 예로 사용한다. 장치 트리도 설명하는데, 장치 트리는 하드웨어의 자세한 내용을 부호화하는 수단으로, 거의 대부분의 임베디드 리눅스 시스템에 쓰인다.
4장 ‘커널 구성과 빌드’에서는 임베디드 시스템용 커널을 고르고 장치 내의 하드웨어를 위해 구성하는 방법에 관한 정보를 제공한다. 리눅스를 새로운 하드웨어에 이식하는 방법도 다룬다.
5장 ‘루트 파일시스템 만들기’에서는 루트 파일시스템 구성법에 대한 단계별 안내를 통해 임베디드 리눅스 구현의 사용자 공간 부분 뒤에 감춰진 아이디어를 소개한다.
6장 ‘빌드 시스템 선택하기’에서는 앞의 네 장에서 설명한 단계를 자동화하는 두 가지 임베디드 리눅스 빌드 시스템(Buildroot와 Yocto 프로젝트)을 다루면서 책의 첫 번째 부분을 마친다.
7장 ‘저장소 전략 만들기’에서는 플래시 메모리를 관리함으로써 생기는 플래시 칩과 임베디드 MMC eMMC 패키지 등의 도전에 대해 알아본다. 기술의 종류에 따라 적용할 수 있는 파일시스템을 설명한다. 또한 이미 배치돼 있는 장치의 펌웨어를 갱신하는 기법도 다룬다.
8장 ‘소프트웨어 업데이트’에서는 완전 관리형(OTA Over the Air)을 포함해서, 장치가 배치된 다음 소프트웨어를 업데이트하는 다양한 방법을 검토한다. 논의되는 핵심 주제는 신뢰성과 보안이다.
9장 ‘장치 드라이버와의 만남’에서는 커널 장치 드라이버가 하드웨어와 상호작용하는 방법을 간단한 드라이버의 작동 예제를 가지고 설명한다. 또한 사용자 공간에서 장치 드라이버를 호출하는 다양한 방법도 설명한다.
10장 ‘시스템 구동: init 프로그램’에서는 나머지 시스템을 시작하는 첫 번째 사용자 공간 프로그램인 init에 대해 이야기한다. 다양한 부류의 임베디드 시스템에 적합한 세 가지 버전의 init 프로그램(비교적 간단한 BusyBox init에서 복잡한 systemd까지)을 설명한다.
11장 ‘전원 관리’에서는 동적 주파수/전압 제어, 더 깊은 유휴 상태 선택, 시스템 중단 등 전력 소비를 최소화하도록 리눅스를 튜닝하는 다양한 방법을 고려한다. 목표는 장치가 배터리를 이용해 더 오래 실행되게 하고 발열을 줄이는 것이다.
12장 ‘프로세스와 스레드’에서는 응용 프로그램 프로그래머의 관점에서 임베디드 시스템에 대해 설명한다. 프로세스와 스레드, 프로세스 간 통신, 스케줄링 정책을 살펴본다.
13장 ‘메모리 관리’에서는 가상 메모리의 개념과 주소 공간을 메모리 매핑으로 나누는 방법을 소개한다. 또한 메모리 사용량을 정확히 측정하고 메모리 누수를 감지하는 방법도 설명한다.
14장 ‘GDB로 디버깅하기’에서는 GNU 디버거 GDB를 디버그 에이전트와 함께 사용해 원격으로 타깃 장치에서 실행되는 응용 프로그램을 디버깅하는 방법을 설명한다. 계속해서 이 모델을 확장해 커널 디버그 스텁 KGDB을 활용한 커널 코드 디버깅 방법도 보여준다.
15장 ‘프로파일링과 추적’에서는 시스템 성능을 측정하는 데 사용할 수 있는 기술에 대해 설명한다. 전체 시스템 프로파일에서 시작해 병목 현상으로 인해 성능이 저하되는 특정 영역으로 좁혀간다. 또한 응용 프로그램에서 스레드 동기화와 메모리 할당의 정확성을 검사하는 도구인 Valgrind에 대해 설명한다.
16장 ‘실시간 프로그래밍’에서는 커널 구성과 실시간 PREEMPT_RT 커널 패치 등을 비롯해 리눅스에서의 실시간 프로그래밍에 대해 자세히 설명하고, 실시간 대기시간을 측정하는 도구들도 설명한다. 커널 추적 도구인 Ftrace를 이용해 커널 대기시간을 측정하고 다양한 커널 구성의 효과를 보여준다.

★ 옮긴이의 말 ★

지난 10년간 임베디드 장치에서 리눅스의 쓰임은 엄청나게 늘어났다. 2007년 안드로이드가 발표된 이후 리눅스 커널은 임베디드 장치에서, 어쩌면 PC를 포함한 모든 디지털 기기에서 가장 널리 쓰이는 운영체제 커널이 된 것으로 보인다. 안드로이드 외에도 삼성전자의 일부 스마트폰과 기어, 스마트 TV에 사용되는 타이젠(Tizen)(https://www.tizen.org)과 미국 팜 사에서 개발해 HP를 거쳐 LG전자에 인수돼 스마트 TV에 사용되고 있는 WebOS(http://webostv.developer.lge.com)도 리눅스에 기반을 두고 있으며, 자동차 업계에서도 GENEVI(https://www.genivi.org) 등 리눅스를 이용한 범용 플랫폼을 만들려는 노력을 하고 있다.
이 책은 원서 『Mastering Embedded Linux Programming ? Second Edition』을 번역한 것으로, 임베디드 리눅스를 이용해 장치를 만들 때 고려할 하드웨어 관련 사항, 툴체인과 부트로더 선택, 커널 구성과 루트 파일시스템 생성, 빌드 시스템 선택, 플래시 메모리, 장치 드라이버, 시스템 부트 과정, 그리고 만들어진 임베디드 리눅스 플랫폼 위에서 프로그래밍할 때 고려해야 할 프로세스와 스레드, 메모리 관리, 디버깅, 프로파일링, 실시간 프로그래밍 관련 내용 등을 다룬다. 특히 2판에서는 OTA over-the-air 업데이트를 다루는 8장, ‘소프트웨어 업데이트’, 배터리 수명 연장과 에너지 절약을 통한 환경 보호에 도움이 되는 11장, ‘전원 관리’가 추가됐다.
임베디드 리눅스 플랫폼을 만들고 그 위에서 프로그래밍하기 위한 전반적인 내용을 다루고 있으므로, 기존에 VxWorks나 퀄컴 BREW 같은 플랫폼을 사용하다가 리눅스로 전환하려는 사람들에게 도움이 될 것으로 보인다. 빌드 시스템의 경우 요즘 리눅스에 기반을 둔 플랫폼과 응용 프로그램들을 한꺼번에 빌드하도록 도와주는 Yocto 프로젝트가 많이 쓰이고 있는데, 이에 대해서도 다루고 있으므로 도움이 될 것이다. 스레드에 대해서도 일반 스케줄링 정책과 실시간 스케줄링 정책을 구별해 설명하고 있어 그 차이를 이해하는 데 도움이 될 것이다.
리눅스는 임베디드 시스템뿐만 아니라 전통적으로 유닉스가 주로 쓰이던 서버에도 널리 사용된다. 내가 몸담고 있는 elastic.co에서 개발하는 검색 엔진인 일래스틱서치(Elasticsearch)는 리눅스와 윈도우만 지원할 뿐 그 밖의 유닉스는 지원하지 않는다. 메모리 크기만 다를 뿐 기본적인 작동 방식은 같으므로, 리눅스에 익숙하면 임베디드 시스템에서 서버까지 쉽게 적용해 사용할 수 있다는 뜻이다.
처음으로 임베디드 시스템 소프트웨어를 작성할 때에 비해 개발 환경이 많이 좋아지고 임베디드 시스템의 성능도 획기적으로 향상돼 응용할 수 있는 영역이 매우 넓어졌으므로 이 책을 통해 많은 분이 흥미로운 임베디드 시스템 소프트웨어를 개발할 수 있게 되기를 바란다.
-김기주

기본정보

상품정보
ISBN 9791161752549
발행(출시)일자 2019년 01월 30일
쪽수 588쪽
크기
187 * 235 * 35 mm / 1078 g
총권수 1권
원서명/저자명 Mastering Embedded Linux Programming-Second Edition/Simmonds, Chris
이 책의 개정정보
새로 출시된 개정판이 있습니다. 개정판보기

Klover

Klover 리뷰 안내
교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1.리워드 안내
구매 후 90일 이내에 평점과 10자 이상의 리뷰 작성 시 e교환권 200원을 적립해 드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
한달 후 리뷰
구매 후 30일~ 120일 이내에 작성된 두 번째 구매리뷰에 대해 한 달 후 리뷰로 인지하고 e교환권 100원을 추가 제공합니다.

* 강연, 공연, 여행, 동영상, 사은품, 기프트카드 상품은 지급 제외
2.운영 원칙 안내
Klover 리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
3.신고하기
다른 고객이 작성리뷰에 대해 불쾌함을 느끼는 경우 신고를 할 수 있으며, 신고 자가 일정수준 이상 누적되면 작성하신 리뷰가 노출되지 않을 수 있습니다.

구매 후 리뷰 작성 시, e교환권 200원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요

교환/반품/품절 안내

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

이벤트
TOP

저자 모두보기

매장별 재고 및 도서위치

할인쿠폰 다운로드

  • 쿠폰은 주문결제화면에서 사용 가능합니다.
  • 다운로드한 쿠폰은 마이 > 나의 통장 에서 확인 가능합니다.
  • 도서정가제 적용 대상 상품에 대해서는 정가의 10%까지 쿠폰 할인이 가능합니다.
  • 도서정가제 적용 대상 상품에 10% 할인이 되었다면, 해당 상품에는 사용하실 수
    없습니다.

적립예정포인트 안내

  • 통합포인트 안내

    • 통합포인트는 교보문고(인터넷, 매장), 핫트랙스(인터넷, 매장), 모바일 교보문고 등 다양한 곳에서 사용하실 수 있습니다.
    • 상품 주문 시, 해당 상품의 적립률에 따라 적립 예정 포인트가 자동 합산되고 주문하신 상품이 발송완료 된 후에 자동으로 적립됩니다.
    • 단, 쿠폰 및 마일리지, 통합포인트, e교환권 사용 시 적립 예정 통합포인트가 변동될 수 있으며 주문취소나 반품시에는 적립된 통합포인트가 다시 차감됩니다.
  • 통합포인트 적립 안내

    • 통합포인트는 도서정가제 범위 내에서 적용됩니다.
    • 추가적립 및 회원 혜택은 도서정가제 대상상품(국내도서, eBook등)으로만 주문시는 해당되지 않습니다.
  • 기본적립) 상품별 적립금액

    • 온라인교보문고에서 상품 구매시 상품의 적립률에 따라 적립됩니다.
    • 단 도서정가제 적용 대상인 국내도서,eBook은 15%내에서 할인율을 제외한 금액내로 적립됩니다.
  • 추가적립) 5만원 이상 구매시 통합포인트 2천원 추가적립

    • 5만원 이상 구매시 통합포인트 2천원 적립됩니다.
    • 도서정가제 예외상품(외서,음반,DVD,잡지(일부),기프트) 2천원 이상 포함시 적립 가능합니다.
    • 주문하신 상품이 전체 품절인 경우 적립되지 않습니다.
  • 회원혜택) 3만원이상 구매시 회원등급별 2~4% 추가적립

    • 회원등급이 플래티넘, 골드, 실버 등급의 경우 추가적립 됩니다.
    • 추가적립은 실결제액 기준(쿠폰 및 마일리지, 통합포인트, e교환권 사용액 제외) 3만원 이상일 경우 적립됩니다.
    • 주문 후 취소,반품분의 통합포인트는 단품별로 회수되며, 반품으로 인해 결제잔액이 3만원 미만으로 변경될 경우 추가 통합포인트는 전액 회수될 수 있습니다.

제휴 포인트 안내

제휴 포인트 사용

  • OK CASHBAG 10원 단위사용 (사용금액 제한없음)
  • GS&POINT 최대 10만 원 사용
더보기

구매방법 별 배송안내

지역별 도착 예정일

수도권 지역

배송 일정 안내 테이블로 결제 완료 시간, 도착예정일 결제 완료 시간 컬럼의 하위로 평일 0시 ~ 12시 토요일 0시 ~ 11시 평일 12시 ~ 22시 평일 12시 ~ 24시 토요일 11시 ~ 21시 을(를) 나타낸 표입니다.
결제 완료 시간 도착예정일
평일 0시 ~ 12시

토요일 0시 ~ 11시
당일배송 오늘

당일배송 오늘
평일 12시 ~ 22시

평일 12시 ~ 24시

토요일 11시 ~ 21시
새벽배송 내일 07시 이전

내일

일요배송 일요일

수도권 외 (천안, 대전, 울산, 부산, 대구, 창원)

배송 일정 안내 테이블로 결제 완료 시간, 도착예정일 결제 완료 시간 컬럼의 하위로 월~토 0시 ~ 11시 30분 을(를) 나타낸 표입니다.
결제 완료 시간 도착예정일
월~토 0시 ~ 11시 30분
당일배송 오늘

배송 유의사항

  • 새벽배송과 일요배송은 수도권 일부 지역을 대상으로 합니다. 상품 상세페이지에서 도착 예정일을 확인해 주세요.
  • 수도권 외 지역에서 선물포장하기 또는 사은품을 포함하여 주문할 경우 당일배송 불가합니다.
  • 무통장입금 주문 후 당일 배송 가능 시간 이후 입금된 경우 당일 배송 불가합니다.
  • 새벽배송의 경우 공동 현관 출입 번호가 누락 되었거나 틀릴 경우 요청하신 방법으로 출입이 어려워, 부득이하게 공동 현관 또는 경비실 앞에 배송 될 수 있습니다.
  • 학교, 관공서, 회사 등 출입 제한 시간이 있는 곳은 당일배송, 새벽배송, 일요배송이 제공되지 않을 수 있습니다.
  • 공휴일과 겹친 토요일, 일요일은 일요일 배송에서 제외됩니다. 일요배송은 한정 수량에 한해 제공됩니다. 수량 초과 시 일반배송으로 발송되니 주문 시 도착 예정일을 확인해 주세요.
  • 주문 후 배송지 변경 시 변경된 배송지에 따라 익일 배송될 수 있습니다.
  • 수도권 외 지역의 경우 효율적인 배송을 위해 각 지역 매장에서 택배를 발송하므로, 주문 시의 부록과 상이할 수 있습니다.
  • 각 지역 매장에서 재고 부족 시 재고 확보를 위해 당일 배송이 불가할 수 있습니다.
  • 기상악화로 인한 도로 사정으로 일부 지역의 배송 지연이 발생될 수 있습니다.
  • 출고 예정일이 5일 이상인 상품의 경우(결제일로부터 7일 동안 미입고), 출판사 / 유통사 사정으로 품/절판 되어 구입이 어려울 수 있습니다. 이 경우 SMS, 메일로 알려드립니다.
  • 분철상품 주문 시 분철 작업으로 인해 기존 도착 예정일에 2일 정도 추가되며, 당일 배송, 해외 배송이 불가합니다.
  • 해외주문도서는 해외 거래처 사정에 의해 품절/지연될 수 있습니다.
  • 스페셜오더 도서나 일서 해외 주문 도서와 함께 주문 시 배송일이 이에 맞추어 지연되오니, 이점 유의해 주시기 바랍니다.

바로드림존에서 받기

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상 시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함 되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해 주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반 코너에서 수령확인이 가능합니다
  • 선물 받는 분의 휴대폰번호만 입력하신 후 결제하시면 받는 분 휴대폰으로 선물번호가 전달됩니다.
  • 문자를 받은 분께서는 마이 > 주문관리 > 모바일 선물내역 화면에서 선물번호와 배송지 정보를 입력하시면 선물주문이 완료되어 상품준비 및 배송이 진행됩니다.
  • 선물하기 결제하신 후 14일까지 받는 분이 선물번호를 등록하지 않으실 경우 주문은 자동취소 됩니다.
  • 또한 배송 전 상품이 품절 / 절판 될 경우 주문은 자동취소 됩니다.

바로드림 서비스 안내

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.
  1. STEP 01
    픽업박스에서 찾기 주문
  2. STEP 02
    도서준비완료 후 휴대폰으로 인증번호 전송
  3. STEP 03
    매장 방문하여 픽업박스에서 인증번호 입력 후 도서 픽업
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.

도서 소득공제 안내

  • 도서 소득공제란?

    • 2018년 7월 1일 부터 근로소득자가 신용카드 등으로 도서구입 및 공연을 관람하기 위해 사용한 금액이 추가 공제됩니다. (추가 공제한도 100만원까지 인정)
      • 총 급여 7,000만 원 이하 근로소득자 중 신용카드, 직불카드 등 사용액이 총급여의 25%가 넘는 사람에게 적용
      • 현재 ‘신용카드 등 사용금액’의 소득 공제한도는 300만 원이고 신용카드사용액의 공제율은 15%이지만, 도서·공연 사용분은 추가로 100만 원의 소득 공제한도가 인정되고 공제율은 30%로 적용
      • 시행시기 이후 도서·공연 사용액에 대해서는 “2018년 귀속 근로소득 연말 정산”시기(19.1.15~)에 국세청 홈택스 연말정산간소화 서비스 제공
  • 도서 소득공제 대상

    • 도서(내서,외서,해외주문도서), eBook(구매)
    • 도서 소득공제 대상 상품에 수반되는 국내 배송비 (해외 배송비 제외)
      • 제외상품 : 잡지 등 정기 간행물, 음반, DVD, 기프트, eBook(대여,학술논문), 사은품, 선물포장, 책 그리고 꽃
      • 상품정보의 “소득공제” 표기를 참고하시기 바랍니다.
  • 도서 소득공제 가능 결제수단

    • 카드결제 : 신용카드(개인카드에 한함)
    • 현금결제 : 예치금, 교보e캐시(충전에한함), 해피머니상품권, 컬쳐캐쉬, 기프트 카드, 실시간계좌이체, 온라인입금
    • 간편결제 : 교보페이, 네이버페이, 삼성페이, 카카오페이, PAYCO, 토스, CHAI
      • 현금결제는 현금영수증을 개인소득공제용으로 신청 시에만 도서 소득공제 됩니다.
      • 교보e캐시 도서 소득공제 금액은 교보eBook > e캐시 > 충전/사용내역에서 확인 가능합니다.
      • SKpay, 휴대폰 결제, 교보캐시는 도서 소득공제 불가
  • 부분 취소 안내

    • 대상상품+제외상품을 주문하여 신용카드 "2회 결제하기"를 선택 한 경우, 부분취소/반품 시 예치금으로 환원됩니다.

      신용카드 결제 후 예치금으로 환원 된 경우 승인취소 되지 않습니다.

  • 도서 소득공제 불가 안내

    • 법인카드로 결제 한 경우
    • 현금영수증을 사업자증빙용으로 신청 한 경우
    • 분철신청시 발생되는 분철비용

알림 신청

아래의 알림 신청 시 원하시는 소식을 받아 보실 수 있습니다.
알림신청 취소는 마이룸 > 알림신청내역에서 가능합니다.

임베디드 리눅스 프로그래밍 완전정복
단계별로 따라 하는
2 판
신고

신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.

허위 신고일 경우, 신고자의 서비스 활동이 제한될 수 있으니 유의하시어
신중하게 신고해주세요.

판형알림

  • A3 [297×420mm]
  • A4 [210×297mm]
  • A5 [148×210mm]
  • A6 [105×148mm]
  • B4 [257×364mm]
  • B5 [182×257mm]
  • B6 [128×182mm]
  • 8C [8절]
  • 기타 [가로×세로]
EBS X 교보문고 고객님을 위한 5,000원 열공 혜택!
자세히 보기

해외주문양서 배송지연 안내

현재 미국 현지 눈폭풍으로 인해
해외 거래처 출고가 지연되고 있습니다.

해외주문양서 주문 시
예상 출고일보다 배송기간이 더 소요될 수 있으니
고객님의 너그러운 양해 부탁드립니다.

감사합니다.