본문 바로가기
장바구니0

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

상품간략정보 및 구매기능

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

기본설명

상품 선택옵션 0 개, 추가옵션 0 개

제조사 에이콘출판
원산지 국내산
브랜드 에이콘출판
시중가격 40,000원
판매가격 36,000원
배송비결제 주문시 결제
최소구매수량 1 개
최대구매수량 999 개
  • 임베디드 리눅스 프로그래밍 완전정복
    +0원

관련상품

등록된 관련상품이 없습니다.

  • 상품 정보

    상품 상세설명

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

    9791161752549.jpg

    도서명:임베디드 리눅스 프로그래밍 완전정복
    저자/출판사:크리스,시먼즈/에이콘출판
    쪽수:588쪽
    출판일:2019-01-30
    ISBN:9791161752549

    목차
    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 결합
    __더 읽을거리
    __요약
    delivery.jpg
  • 사용후기

    사용후기가 없습니다.

  • 상품문의

    상품문의가 없습니다.

  • 배송/교환정보

    배송정보

    배송업체 : 한진택배 (1588-0011)
     배송비
     2,500원 (25,000원 이상 구매 시 무료 배송/일부상품제외) 군부대 및 도서산간 지역은 추가 배송비가 발생할 수 있습니다.
     ◆배송기간
     : 평일 오전 7시 이전 주문 시 당일 발송 (2~3일 소요) : 단, 공휴일, 연휴, 천재지변 등으로 인해 발송이 지연될 수 있습니다.
     ◆배송추적
     : 당일 발송건에 한해 익일 오전 9시 이후 확인 가능합니다.


    교환/반품

     ◆반품/교환을 원하는 경우 반드시 고객센터로 연락 후 신청하시기 바랍니다.
     ◆반품/교환은 상품 수령일로 부터 7일 이내에만 가능합니다. 단, 상품이 훼손되지 않았거나, 속 비닐이 있는 경우 듣지 않았을    때 가능합니다.
     •고객님의 변심 또는 잘못 주문하신 경우에는 왕복 배송비는 고객님의 부담입니다.
     ◆오배송, 파본, 불량 상품에 대해서는 고객센터로 연락주시면 상담 후 교환해 드립니다.
     ◆오배송, 파본, 불량상품의 배송비는 환불처에서 부담합니다.
     교환/반품
     ◆환불은 상품이 환불에 도착 시 처리됩니다. (카드 취소는 3~5일이 소요될 수 있습니다.)

고객센터 1234-5678

회사명 (주)꼭대기 주소 서울 특별시 마포구 연희로 11,5층 S-537호
사업자 등록번호 795-87-00429 대표 오주봉 전화 02-356-5779 팩스 02-356-5779
통신판매업신고번호 제2017-서울마포-0052호 개인정보 보호책임자 dhwnqhd

Copyright © 2001-2013 (주)꼭대기. All Rights Reserved.

상단으로