본문 바로가기

추천 검색어

실시간 인기 검색어

ARM 리눅스 커널

제이펍

2020년 06월 04일 출간

종이책 : 2012년 08월 22일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (26.22MB)
ISBN 9791190665353
쪽수 701쪽
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 24,500원

쿠폰적용가 22,050

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

리눅스 커널 코드 분석을 위한 실용적인 안내서!

2년간의 코드 분석, 1년간의 집필로 집대성한 최초의 ARM 리눅스 커널 분석서『코드로 알아보는 ARM 리눅스 커널』. 리눅스 커널을 커널 소스 코드를 통해 분석하고자 하는 독자들을 위한 ARM 리눅스 커널 분석서이다. 커널의 부팅 시작에서 끝까지 순서대로 설명하고 있으며, ‘line by line 분석’으로 이해를 도왔다. 특히 기존의 이론서와 달리 ARM용 리눅스 커널을 다루고 있으며, 리눅스 커널과 ARM에 대한 정확한 지식을 쌓을 수 있도록 상세한 코드 분석과 풍부한 그림을 곁들였다. 그 밖에도 ARM 프로세서의 구조, 커널 분석 시 자주 사용되는 API, ARM 명령어, GAS 키워드, 인터럽트가 발생한 다음 핸들러가 호출되기까지의 자세한 과정 등을 다루고 있다.
PART I ARM 리눅스 커널 - 커널 분석을 위해 어떤 준비가 필요할까?
Chapter 1 커널에 대한 소개 그리고 2.6과 3.2의 차이 002

1.1 커널의 탄생과 역할 그리고 내부 구조 002
1.1.1 리누스에 의해 탄생한 리눅스 002
1.1.2 다양한 서브시스템이 모여 동작하는 모노리딕 커널 003
1.1.3 전 세계에서 가장 유명한 범용 운영체제 005
1.2 커널 2.6과 3.2의 차이 006

Chapter 2 커널 빌딩 시스템 008
2.1 커널 초기화 008
2.2 커널 설정 009
2.3 커널 빌딩 011
2.4 커널 설치 019

Chapter 3 ARM 프로세서 알아보기 021
3.1 프로세서 개요와 특징 021
3.2 프로세서 아키텍처와 코어 022
3.3 프로세서 명명법 023
3.4 프로세서 내부 구조 024
3.5 프로세서 모드와 레지스터 026
3.6 프로세서 익셉션 028
3.7 하드웨어 확장 기능 030
3.7.1 캐시 030
3.7.2 메모리 관리 장치 031
3.7.3 코프로세서 031

Chapter 4 분석 환경 구축하기 032
4.1 리눅스 커널 소스 다운로드하여 설치하기 032
4.1.1 커널 소스 다운로드하기 032
4.1.2 소스 설치하기 034
4.2 ctags + cscope 설치하기 035
4.2.1 ctags로 소스 코드 태그 만들기 035
4.2.2 cscope 태그 데이터베이스 만들기 037
4.3 vim 플러그인 다운로드 및 환경설정 038
4.3.1 vim 플러그인 다운로드하기 039
4.3.2 vim + plugin 환경구성 043
4.3.3 vim 환경설정하기 044
4.4 소스 분석 환경 툴 둘러보기 047

PART II 커널의 시작 - start_kernel은 어떻게 호출될까?
Chapter 5 커널 압축 해제 준비하기 056

5.1 부트로더에 이어 첫 스타트 끊기 - start 레이블 057
5.2 BSS 영역 초기화하기 - not_relocated 레이블 059
5.3 캐시 활성화하기 - cache_on 레이블 062
5.4 페이지 디렉터리 엔트리 초기화하기 - _ _setup_mmu 레이블 065
5.5 I-Cache 활성화 및 캐시 정책 적용하기 - _ _common_mmu_cache_on 레이블 069

Chapter 6 압축된 커널 이미지인 zImage로부터 커널 이미지 복원하기 070
6.1 덮어쓰지 않게 커널 압축 풀기 - wont_overwrite, decompress_kernel 레이블 071
6.2 압축 해제된 커널 호출하기 - call_kernel 레이블 072
6.3 캐시클린 및 플러시 - cache_clean_flush 레이블 073
6.4 캐시 비활성화하기 - cache_off 레이블 075

Chapter 7 start_kernel() 호출하기 076
7.1 초기화 조망하기 - stext 레이블 076
7.2 프로세서 정보 찾기 - _ _look_processor_type 081
7.2.1 _ _lookup_processor_type 레이블 081
7.2.2 _ _proc_info_begin과 _ _proc_info_end에 저장된 정보 083
7.2.3 MMU 비활성화 상태에서 가상 주소를 물리 주소로 변경하기 085
7.2.4 proc_info_list 구조체를 찾아 프로세서 정보 비교하기 087
7.3 내 머신 타입 찾기 - _ _lookup_machine_type 088
7.3.1 _ _lookup_machine_type 레이블 088
7.3.2 _ _arch_info_begin과 _ _arch_info_end에 저장된 machine_desc 정보와 접근 방법 090
7.3.3 machine_desc 구조체를 찾아 머신 정보 비교하기 091
7.4 부트로더에서 온 atags - _ _vet_atags 레이블 092
7.5 가상 메모리를 사용하기 위해 기초 공사하기 - _ _create_page_table 레이블 095
7.6 코어를 설정하자 - v6_setup 레이블 101
7.7 MMU를 켜고 가상 주소 사용하기 - _ _enable_mmu / _ _turn_mmu_on 레이블 102
7.8 start_kernel로 점프 - _ _mmap_switched 레이블 107

PART III 커널의 실행 - 커널의 시작과 끝은 어디인가?
Chapter 8 smp_setup_processor_id() ~ lock_kernel() 112

8.1 smp_setup_processor_id(), lockdep_init(), debug_objects_early_init() 113
8.1.1 smp_setup_processor_id() 113
8.1.2 lockdep_init() 113
8.1.3 debug_objects_early_init() 115
8.2 스택 오버플로우 감지하기 - boot_init_stack_canary() 117
8.3 프로세스를 그룹화하는 방법을 제공하는 cgroup 초기화하기 ? cgroup_init_early() 118
8.3.1 cgroupfs_root와 cgroup의 관계 초기화하기 - init_cgroup_root() 123
8.3.2 서브시스템 초기화하기 - cgroup_init_subsys() 123
8.4 irq를 비활성화하기 - local_irq_disable() 125
8.5 early_boot_irqs_off(), early_init_irq_lock_class() 125
8.6 빅 커널 락 - lock_kernel() 127

Chapter 9 클럭 이벤트에 대한 핸들러 등록하기 134
9.1 함수의 선언과 정의 - tick_init() 134
9.2 이벤트 처리 핸들러 등록하기 - clockevents_register_notifier() 136
9.2.1 clockevents_lock에 대한 스핀 락 걸기 137
9.2.2 clockevents_chain이 생성되는 원리 139
9.2.3 clockevents_chain에 tick_notifier를 등록하는 방법 140
9.2.4 clockevents_lock에 대한 스핀 락을 해제하는 원리 14

2년간의 코드 분석, 1년간의 집필로 집대성한 최초의 ARM 리눅스 커널 분석서!
리눅스 커널 코드 분석의 혁명적인 방법을 제공한다!
리눅스 커널 코드 분석을 위한 가장 실용적인 지침서!


이 책은 저자들이 3년간 리눅스 커널을 분석한 경험과 자료를 바탕으로 집필되었다. 어떤 책에서도 다루어주지 않았던 내용, 수박 겉핥기식으로 알아보았던 내용에 대해 철저하게 함수 흐름을 따라가며 분석하고 있다. 어려울 법한 이러한 과정을 저자들은 ‘line by line 분석’이라는 직구로 승부함으로써 기존의 이론서에 답답함을 느꼈던 독자들에게 지적 쾌감을 안겨줄 것이다.

기존의 이론서와 달리 ARM용 리눅스 커널을 다루고 있는 이 책은 리눅스 커널과 ARM에 대한 정확한 지식을 쌓을 수 있도록 상세한 코드 분석과 풍부한 그림으로 구성하였고, 독자는 이 책을 통해 주기적으로 릴리즈되는 최신 리눅스 커널을 분석할 수 있는 효율적인 방법을 자연스럽게 배울 수 있을 것이다.

이 책은 리눅스 커널의 부팅 시작에서부터 끝까지를 순서대로 설명하고 있어 리눅스 커널을 커널 소스 코드를 통해 제대로 분석해보고자 하는 독자에게 적합하다. 리눅스 코드를 한 번 정도 분석해보고는 싶었는데 방대한 양과 망망대해를 표류할 것 같은 느낌에 엄두를 못 내시던 분, 리눅스의 실제 동작 과정이 궁금하셨던 분, 실제 OS 레벨의 지식에 목말라하시던 분, 이러한 독자들에게 이 책이 빛과 소금과 같은 존재가 되기를 바란다.

이 책에서 다루는 주요 내용은 다음과 같다.
· 커널 소스 빌드 시스템
· ARM 프로세서의 구조
· 효과적인 분석 환경 구축
· 어셈블리 레벨의 부팅 과정
· 커널 분석 시 자주 사용되는 API, ARM 명령어, GAS 키워드
· 인터럽트가 발생한 다음 핸들러가 호출되기까지의 자세한 과정

작가정보

저자(글) 노서영

저자 : 노서영
저자 노서영은 한국과학기술정보연구원(KISTI) 슈퍼컴퓨팅센터 연구원이다. LG전자에서 리눅스 모바일 플랫폼, 임베디드 데이터베이스 프로젝트 등을 수행하였다. 리눅스 커널 분석을 취미로 하고 있으며, 현재는 과학용 클러스터 서버에 사용되는 Scientific Linux 배포판 개발에 관심을 갖고 있다.

저자 : 윤석훈
저자 윤석훈은 리눅스, 안드로이드 기반의 무선 단말기를 만드는 회사에서 3년차 엔지니어로 근무 중이다. C, 파이썬, 자바를 기반으로 제품 개발을 해왔으며, 요즘은 전방위로 펼쳐놓은 오지랖을 리눅스 커널과 창업에 집중하려고 부단히 애를 쓰고 있다.

저자 : 강진성
저자 강진성은 임베디드(ARM) 기반의 OS 에뮬레이터와 Dynamic Binary Translator 등 다양한 시스템 소프트웨어를 개발해왔다. 최근 jcdsoft라는 벤처 회사를 설립하여 안드로이드와 iOS 모바일 애플리케이션 개발을 진행하고 있다.

저자 : 송원준
저자 송원준은 학부 시절 삼성 소프트웨어 멤버십과 여러 가지 활동을 통해 임베디드 리눅스 시스템에 큰 관심을 가지게 되었고, 지금은 컴퓨터 아키텍처와 운영체제를 깊이 있게 알고자 분투 중이다. 훌륭한 시스템 엔지니어가 되고자 하는 꿈을 갖고 있고, 그 과정에 삶의 행복이 있을 거라 믿으며 살고 있다. 현재 카이스트에서 석사 과정 중이다.

저자 : 이윤재
저자 이윤재는 셋톱박스 회사에서 연구원으로 근무 중이다. 시스템 분야에 지대한 관심이 있으며, 여기저기 관심이 가는 분야마다 우물을 파다 보니 깊이가 얕은 것이 걱정이다.

감수 : 백창우
감수자 백창우는 삼성전자, 삼성SDS, (주)누스코에서 여러 종류의 RTOS를 주도적으로 개발하였다. 삼성종합기술원에서 컴파일러를 개발하였다. (주)누스코에서 디버거와 하이퍼바이저 및 각종 시스템 S/W를 개발하였다. 현재는 (주)누스코의 대표이사로 근무하고 있고, 소프트웨어 마애스트로 멘토로 있으며, 오프라인 시스템 S/W 스터디 그룹인 http://www.iamroot.org를 10년째 운영 중에 있다.

저자 : 임윤재
저자 임윤재는 IT 분야에서 연구원으로 근무 중이다. 임베디드 리눅스 시스템 기반에서 데이터베이스, 멀티미디어, 네트워크 분야의 소프트웨어 플랫폼을 개발해왔으며, 최근에는 스마트 그리드와 같은 IT 융합기술에 관심을 가지고 있다.

저자(글) 윤석훈

저자(글) 강진성

저자(글) 송원준

저자(글) 이윤재

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

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

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    ARM 리눅스 커널 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    ARM 리눅스 커널 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

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

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


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    ARM 리눅스 커널
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)