본문 바로가기

추천 검색어

실시간 인기 검색어

코드로 알아보는 ARM 리눅스 커널

ARM64 커널(v4.6)로 전면 개정
제이펍

2020년 01월 02일 출간

종이책 : 2018년 05월 24일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (13.61MB)
ISBN 9791188621965
쪽수 938쪽
지원기기 교보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예정)
소득공제
소장
정가 : 30,800원

쿠폰적용가 27,720

10% 할인 | 5%P 적립

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

카드&결제 혜택

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

작품소개

이 상품이 속한 분야

최신 ARM64 커널을 코드 레벨에서 상세히 분석하다!

현업에서 커널 업무를 하고 있거나, 취미로 커널 분석을 시작했지만 방대한 양과 난해한 코드 때문에 어려움을 겪고 있는가? 시간이 부족하여 어디서부터 시작해야 할지 갈피조차 잡지 못하고 있는가? 오래전에 구입한 책을 뒤적거리지만 커널 버전이 맞지 않아 시간만 낭비하고 있지는 않은가? 최신 커널 학습에 어려움을 겪는 이런 분들을 위해 《코드로 알아보는 ARM 리눅스 커널》을 전면 개정하여 출간했다. 이 책은 최신 ARM64 커널의 주요 서브시스템을 코드 레벨에서 분석하고 있으며, 기존 원리를 코드를 직접 쫓아가며 명쾌하게 소개하고 있어 커널 엔지니어들에게 훌륭한 길잡이가 될 것이다.
1장 ARMv8 아키텍처 1
1.1 ARMv8 소개 4
1.1.1 익셉션 모델 5
1.1.2 익셉션 레벨 변경 6
1.1.3 실행 상태 7
1.1.4 실행 상태 변경 7

1.2 ARMv8 레지스터 8
1.2.1 프로세서 상태 레지스터(PSTATE) 9
1.2.2 AArch64 특수 목적 레지스터 10
1.2.3 시스템 레지스터 12
1.2.4 ABI의 레지스터 사용 규칙 12

1.3 AArch64 익셉션 핸들링 13
1.3.1 익셉션 타입 14
1.3.2 동기 및 비동기 익셉션 15
1.3.3 익셉션 핸들링 16
1.3.4 익셉션에 의해 변경되는 실행 상태와 익셉션 레벨 17
1.3.5 AArch64 익셉션 벡터 테이블 19
1.3.6 인터럽트 핸들링 20
1.3.7 저자 IC 표준 인터럽트 컨트롤러 21

1.4 캐시 21
1.4.1 캐시 구조 22
1.4.2 캐시 컨트롤러 24
1.4.3 캐시 정책 24
1.4.4 캐시 일관성의 두 가지 관점 25
1.4.5 캐시 관리 27
1.4.6 캐시 탐색 27

1.5 MMU 28
1.5.1 가상 주소를 물리 주소로 변환 29
1.5.2 AArch64의 테이블 디스크립터 종류 30
1.5.3 커널과 애플리케이션의 가상 주소 공간 분리 32
1.5.4 변환 테이블의 cacheable과 shareable 속성 33
1.5.5 디스크립터 메모리 속성 34
1.5.6 시큐리티와 MMU 36
1.5.7 컨텍스트 스위칭 36

1.6 메모리 오더링 37
1.6.1 메모리 타입 39
1.6.2 배리어 41
1.6.3 메모리 속성 42

1.7 멀티코어 프로세서 44
1.7.1 멀티프로세싱 시스템 44
1.7.2 캐시 일관성 47
1.7.3 클러스터 내의 멀티코어 캐시 일관성 48
1.7.4 버스 프로토콜과 캐시 일관성 인터커넥트 51

1.8 전력 관리 52
1.8.1 유휴 상태 관리 52
1.8.2 소비전류 관련 인스트럭션 54
1.8.3 PSCI 54

2장 커널 시작하기 57
2.1 커널의 진입점 head.S 60
2.1.1 부트 파라미터 저장 62
2.1.2 EL2 설정 63
2.1.3 CPU 부트 모드 저장 64
2.1.4 페이지 테이블 생성 65
2.1.5 CPU 초기화 71

2.2 익셉션 핸들링 78
2.2.1 익셉션 벡터 79
2.2.2 익셉션 테이블 엔트리 84

2.3 디바이스 트리 94
2.3.1 디바이스 트리의 필요성 94
2.3.2 디바이스 트리 작성하기 95
2.3.3 early FDT 사용 96
2.3.4 FDT를 풀어낸 후 사용 107

3장 페이징과 매핑 125
3.1 ARM64 페이징 127
3.1.1 가상 주소 공간 127
3.1.2 페이지 테이블 개요 130
3.1.3 페이징 초기화 134
3.1.4 페이지 테이블 생성 142
3.1.5 페이지 테이블 레지스터 설정 151
3.1.6 페이지 테이블 및 주소 변환 API 158

3.2 고정 매핑(fixmap) 161
3.2.1 고정 매핑 초기화 162
3.2.2 고정 매핑과 언매핑 164
3.2.3 고정 매핑 관련 API 166

3.3 연속된 가상 주소 공간 매핑(vmap) 168
3.3.1 vmap 영역 관리 168
3.3.2 vmap 172
3.3.3 vmap_area 할당 176
3.3.4 vunmap 186
3.3.5 vmap_area 할당과 해제 192

3.4 I/O 메모리 매핑(ioremap) 200
3.4.1 early I/O 메모리 매핑 200
3.4.2 I/O 메모리 매핑 205

3.5 페이지 디스크립터 매핑(vmemmap) 213
3.5.1 vmemmap 활성화 214

4장 메모리 관리 219
4.1 early 메모리 할당자: memblock 221
4.1.1 memblock 구조 222
4.1.2 memblock 초기화 224
4.1.3 memblock 할당과 해제 229
4.1.4 memblock 추가 232
4.1.5 memblock 삭제 240

4.2 메모리 모델 245
4.2.1 메모리 모델의 종류 246
4.2.2 메모리 맵(mem_map) 249

4.3 존 254
4.3.1 존 타입 254
4.3.2 부트 메모리 초기화 257
4.3.3 vmemmap을 사용하는 sparse 메모리 모델 277

4.4 버디 시스템 309
4.4.1 버디 시스템의 구조 309
4.4.2 최초 버디 구성 과정 312
4.4.3 버디 시스템의 페이지 할당 322
4.4.4 버디 시스템의 페이지 해제 336

4.5 per-cpu 페이지 프레임 캐시(pcp) 343
4.5.1 pcp 초기화 과정 344
4.5.2 pcp 구성하기 344
4.5.3 pcp에서의 페이지 할당 346
4.5.4 pcp로의 페이지 해제 349
4.5.5 pcp를 버디 시스템으로 회수하기 354

4.6 페이지 할당자 356
4.6.1 구조 356
4.6.2 NUMA 지원 357
4.6.3 존 구성 및 zonelist 358
4.6.4 zonelist 초기화 361
4.6.5 NUMA 메모리 정책 초기화 370
4.6.6 페이지 할당 373
4.6.7 fastpath 페이지 할당 375
4.6.8 더티 페이지 384
4.6.9 slowpath 페이지 할당 388
4.6.10 워터마크 395

4.7 슬랩 할당자 410
4.7.1 슬랩, 슬럽, 슬롭 410
4.7.2 슬랩 객체 구조 412
4.7.3 kmem_cache 초기

ARM64 커널의 작동 구조 전격 공개!
최신 커널을 분석하거나 수정하기 위해 라인 단위로 코드 설명!

현업에서 커널 업무를 하고 있거나, 취미로 커널 분석을 시작했지만 방대한 양과 난해한 코드 때문에 어려움을 겪고 있는가? 시간이 부족하여 어디서부터 시작해야 할지 갈피조차 잡지 못하고 있는가? 오래전에 구입한 책을 뒤적거리지만 커널 버전이 맞지 않아 시간만 낭비하고 있지는 않은가? 최신 커널 학습에 어려움을 겪는 이런 분들을 위해 《코드로 알아보는 ARM 리눅스 커널》을 전면 개정하여 출간했다. 이 책은 최신 ARM64 커널의 주요 서브시스템을 코드 레벨에서 분석하고 있으며, 기존 원리를 코드를 직접 쫓아가며 명쾌하게 소개하고 있어 커널 엔지니어들에
게 훌륭한 길잡이가 될 것이다.

ARM64 커널 개발을 시작했거나 좀 더 깊고 다양하게 이해하고 싶은 엔지니어, (놀랍게도) 취미로 ARM64 커널을 이해하고자 하는 엔지니어를 위한 이 책은 ARMv8 아키텍처에 대한 내용뿐만 아니라 커널의 핵심 구동 원리를 완벽히 습득하는 데 필요한 거의 모든 내용을 담고 있다. 더욱이 360여 개의 그림을 통해 이해를 돕고 있어 기나긴 커널 분석의 길에 든든한 동반자가 될 수 있을 것이다.

이 책의 주요 내용
ㆍ ARMv8 아키텍처 구조
ㆍ 메모리 매핑, 페이징
ㆍ 태스크 관리와 스케줄링
ㆍ 인터럽트와 타이머
ㆍ ARM64 커널의 시작과 익셉션 핸들링, 디바이스 트리
ㆍ 메모리 할당자
ㆍ SMP와 cpu 토폴로지

작가정보

저자(글) 윤석훈

저자 : 윤석훈
저자 윤석훈
9년째 임베디드 리눅스 엔지니어로 일하고 있다. 주로 커널을 최적화하는 업무에 참여했으며, 임베디드 리눅스 커널에 관한 콘텐츠를 지속적으로 생산, 배포하는 것과 디버깅 툴에 관심이 많다. 커널 엔지니어로 오래 먹고 살기 위한 궁리의 일환으로 최근에는 잘 다니던 회사를 나와 무언가를 준비 중에 있다.

저자 : 문영일
저자 문영일
수년간 광통신을 이용하여 기가비트 인터넷을 전송하는 시스템인 저자 PON 네트워크 관련 개발을 하고 있다. 이전에는 ARM, PPC, MIPS 아키텍처 기반의 각종 임베디드 시스템뿐 아니라 콜센터 및 데이터센터 분야의 애플리케이션 설계와 개발을 수행했었다.

저자 : 구본규
저자 구본규
국내 손꼽히는 SoC 팹리스에서 리눅스 엔지니어로 근무하고 있다. 10년 넘게 각종 IT 세미나, 콘퍼런스, 커뮤니티 활동을 했으며, 요즘은 로봇과 인공지능이 바꿀 미래를 꿈꾸며 머신러닝 스터디 모임을 운영하고 있다.

저자 : 유희재
저자 유희재
임베디드 리얼타임 컴퓨팅 랩에서 멀티코어 환경에서의 임베디드 시스템을 전공했다. 대학원을 졸업한 후에는 시스템 엔지니어로 컴퓨터 비전을 활용한 스마트 네트워크 시스템과 x-ray 디텍터 및 바이오 진단기기를 개발했고, 플래그십 AP와 FP저자 A를 활용한 펌웨어 엔지니어로 최첨단 의료기기인 복강경 수술로봇의 국산화에도 힘썼다. 지금은 종합 반도체 회사에서 UFS를 위한 모바일 펌웨어 엔지니어로 근무하고 있다.

저자(글) 문영일

저자(글) 구본규

저자(글) 유희재

이 상품의 총서

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 리눅스 커널
    ARM64 커널(v4.6)로 전면 개정
    저자 모두보기
    낭독자 모두보기
    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일)