HOME > 상세정보

상세정보

(최신 리눅스 커널 소스를 단계별로 쉽게 풀어서 설명하는) 리눅스 커널 소스 해설

자료유형
단행본
개인저자
정재준
서명 / 저자사항
(최신 리눅스 커널 소스를 단계별로 쉽게 풀어서 설명하는) 리눅스 커널 소스 해설 / 정재준
발행사항
[남양주] :   커널연구회,   2020  
형태사항
2책 : 삽화 ; 26 cm
ISBN
9788997750139 ([v.1]) 9788997750146 ([v.2])
내용주기
[1]. 기초 입문 (351 p.) -- [2]. RISC-V : CPU 아키텍쳐 (RISC-V) (368 p.)
서지주기
참고문헌 수록
000 00000cam c2200205 c 4500
001 000046023748
005 20200413113527
007 ta
008 200410s2020 ggka b 000c kor
020 ▼a 9788997750139 ([v.1]) ▼g 93560
020 ▼a 9788997750146 ([v.2]) ▼g 13560
035 ▼a (KERIS)BIB000015546448
040 ▼a 211027 ▼c 211027 ▼d 211009
082 0 4 ▼a 005.432 ▼2 23
085 ▼a 005.432 ▼2 DDCK
090 ▼a 005.432 ▼b 2020z1
100 1 ▼a 정재준
245 2 0 ▼a (최신 리눅스 커널 소스를 단계별로 쉽게 풀어서 설명하는) 리눅스 커널 소스 해설 / ▼d 정재준
260 ▼a [남양주] : ▼b 커널연구회, ▼c 2020
300 ▼a 2책 : ▼b 삽화 ; ▼c 26 cm
504 ▼a 참고문헌 수록
505 0 0 ▼n [1]. ▼t 기초 입문 ▼g (351 p.) -- ▼n [2]. ▼t RISC-V : CPU 아키텍쳐 (RISC-V) ▼g (368 p.)
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.432 2020z1 2 등록번호 121252939 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.432 2020z1 1 등록번호 121252940 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

리눅스 커널 소스를 분석한 내용을 바탕으로 이해하기 쉽게 구어체로 설명하는 형식으로 구성되어 있다. 이책을 통해서 최신 리눅스 커널 소스를 컴파일/빌드/분석하는 방법을 단계별로 이해할 수 있다. 리눅스 커널 소스 빌드 및 버전관리 방법, 커널 소스 데이터 타입 및 비트연산 이해, 커널 모듈 프로그래밍 방법. 커널 성능측정 도구(perf, ftrace, crash)등의 내용을 담았다.

이책은 저자가 리눅스 커널 소스를 분석한 내용을 바탕으로
이해하기 쉽게 구어체로 설명하는 형식으로 구성되어 있습니다.

이책을 통해서 최신 리눅스 커널 소스를 컴파일/빌드/분석하는 방법을
단계별로 이해할 수 있습니다.

* 리눅스 커널 소스 빌드 및 버전관리 방법
* 커널 소스 데이터 타입 및 비트연산 이해
* 커널 모듈 프로그래밍 방법
* 커널 성능측정 도구(perf, ftrace, crash)
* 커널 소스 디버깅 방법(kprobes, debug objects)
* user copy 소스 설명
* list sort 소스 설명 및 테스트 방법
* red-black tree 소스 설명 및 API 사용방법
* xarray, radix tree 소스 설명 및 API 사용방법
* IDR, IDA 소스 설명 및 API 사용방법
* percpu 소스 설명


정보제공 : Aladin

저자소개

정재준(지은이)

저자는 학창시절 마이크로프로세서 제어 기술을 배웠으며 리눅스 커널을 연구하고 있다. 15년 이상 쌓아온 실무 경험을 바탕으로 “C언어와 자료구조 알고리즘”, “리눅스 시스템 프로그래밍”, “리눅스 커널과 디바이스드라이버 실습2”, “자료구조 알고리즘 & 머신러닝 상세분석"등의 책을 집필하고, 월간임베디드월드 잡지에 다수의 글을 기고 하였다. 또한 “맞춤형 문장 자동 번역 시스템 및 이를 위한 데이터베이스 구축방법 (The System for the customized automatic sentence translation and database construction method)” 라는 내용으로 프로그래밍을 하여 특허청에 특허출원 하였다. 최근에는 서울시 버스와 지하철 교통카드 요금결재 단말기에 들어가는 리눅스 커널과 디바이스 드라이버 개발 프로젝트를 성공적으로 수행했고 여러가지 임베디드 제품을 개발했다. 저자는 스탠포드대학교의 John L. Hennessy 교수의 저서 “Computer Organization and Design” 책을 읽고 깊은 감명을 받았으며, 컴퓨터구조와 자료구조 알고리즘 효율성 연구를 통한 기술서적 집필에 노력하고 있다. 저자는 온라인 상에서 커널연구회(http://www.kernel.bz/) 웹사이트를 운영하며 연구개발, 교육, 관련기술 공유 등을 위해 노력하고 있다.

정보제공 : Aladin

목차

[v1]

Table of Contents
리눅스 커널 소스 해설 [기초입문] 1
저작권 2
ISBN 3
저자 소개 4
머리말 5
목차 7
커널 소스 빌드 및 버전관리 13
커널 소스 다운로드 16
커널 소스 빌드 및 설치 20
커널 소스 버전업 27
커널 소스 코딩 형식 32
들여쓰기 33
긴줄과 문자열 나누기 34
괄호와 공백 배치 35
공백 37
작명 39
타입 재정의 40
함수들 41
goto 사용 42
주석문 44
Macros, Enums 46
커널 메세지 출력 47
메모리 할당 48
inline 함수 48
함수 반환값 49
bool 사용 49
커널 매크로 활용 50
Inline assembly 50
GCC 확장속성(attributes) 51
커널 데이터 타입 이해 57
커널 비트 단위 연산 78
커널 비트맵 이해 94
커널 모듈 프로그래밍 106
커널 sort 테스트 116
커널 성능측정 도구 122
perf 설치하기 123
perf 활용하기 127
perf record 130
perf report 132
perf probe 135
perf 소스 빌드하기 137
ftrace 활용 139
추적 가능 항목들 141
이벤트 단위 추적 145
함수 단위 추적 147
함수 그래프 추적 150
ftrace 중요 옵션들 153
crash 도구 사용 154
crash 설치하기 155
crash 실행(Live) 157
crash 실행(덤프 파일) 162
crash 명령어 168
backtrace 명령 170
ps 명령 172
struct 명령 174
task 명령 177
vm 명령 179
kmem 명령 181
sym 명령 183
p 명령 184
list 명령 186
tree 명령 186
foreach 명령 187
kprobes 이해 188
debug objects 이해 197
debug objects 개념 198
debug objects 함수들 200
debug_objects_early_init() 200
debug_object_init() 203
debug_object_free() 205
debug_object_activate() 206
debug_object_deactivate() 208
debug objects 활용 210
커널 디버그 메세지 출력 216
메세지 출력 레벨 조정 216
다이나믹 레벨 조정 219
kobject 이해 221
user copy 테스트 235
커널 메모리 주소 이해 236
메모리 user copy 실습 241
list sort 테스트 248
커널 Linked List 개념 249
커널 List Sort 예제 253
red-black tree 테스트 259
red-black tree 이해 260
red-black tree 실습 예제 264
노드 삽입, 삭제 테스트 267
노드 탐색 테스트 271
커널 XArray 이해 274
XArray 구조체 정의 281
XArray 테스트 모듈 286
radix tree 테스트 290
radix_tree_init() 296
xarray_tests() 300
regression1_test() 301
benchmark() 304
radix tree 테스트 모듈 305
IDR, IDA 관리 308
idr, ida 구조체 309
idr 할당 312
idr 테스트 314
ida 테스트 317
percpu 이해 321
ELF Sections 이해 321
percpu 정의 하기 330
percpu 사용 하기 333
percpu 소스 분석 342
percpu구조체 342
pcpu 함수 실행 흐름 347
참고 문서 349

[v2]

Table of Contents
리눅스 커널 소스 해설 [RISC-V] 1
저작권 2
ISBN 3
저자 소개 4
머리말 5
목차 7
RISC-V 실습보드 14
RISC-V 64비트 FU540 14
FU540 보드 셋업하기 15
FU540 SDK 빌드 및 설치 20
다운로드 하기 20
빌드하기 21
설치하기 24
부팅하기 31
RISC-V SDK 소스 설치 33
컴파일러(toolchain) 소스 33
부트로더 소스 36
riscv-pk 36
OpenSBI 39
u-boot 43
커널 소스 44
buildroot(ramfs) 47
riscv simulator 49
qemu 50
RISC-V 명령셋 53
CPU별 명령셋 비교 57
RISC-V 레지스터 정리 62
RISC-V 기본 명령 형식 64
읽기와 저장 명령들 68
정수 연산 명령들 69
제어 분기 명령들 76
곱셈 명령들 81
나눗셈 명령들 85
연산 명령 정리 89
Memory Barrier 91
Atomic Operation 95
SpinLock 101
FU540 하드웨어 106
장치 계층 구조 109
CPU core 110
Clock(PRCI) 119
PRCI 레지스터 정리 122
coreclk 설정 방법 125
DDR과 이더넷 클럭 설정 방법 126
Device Tree 127
Interrupts(CLINT, PLIC) 129
UART 132
PWM 135
I2C 141
SPI 143
GPIO 148
Ethernet 152
DDR Subsystem 154
FU540 부팅 소스 분석 156
head.S 소스 분석 157
setup_vm() 가상주소값 설정 159
relocate 페이지 테이블 재설정 167
sbi_save() DTB 저장, 스캔 169
start_kernel () 171
FU540 아키텍쳐 포팅 174
SOC_SIFIVE 179
FU540 클럭 포팅 181
FU540 timer 포팅 184
FU540 irqchip 포팅 186
FU540 UART 콘솔 포팅 187
tty 드라이버 포팅 189
FU540 PWM 포팅 194
PWM LEDs 디바이스 트리 198
PWM LEDs 테스트 199
PWM driver init 소스 201
PWM probe 소스 202
PWM remove 소스 204
FU540 SPI 포팅 205
SPI driver init 소스 206
SPI probe 소스 208
SPI remove 소스 211
FU540 GPIO 포팅(new) 212
GPIO driver init 소스 214
GPIO probe 소스 215
FU540 MMC/SD/SDIO 포팅 219
FU540 디바이스 트리 229
디바이스 트리 용어 정리 230
FU540 디바이스 트리 소스 232
sifive-fu540-prci.h 233
fu540-c000.dtsi 233
hifive-unleashed-a00.dts 240
계층구조 정리 243
FU540 클럭 소스 상세분석 245
u54-prci.c 소스 분석 245
데이터 구조체 정의 245
드라이버 등록 247
probe 소스 분석 248
데이터 읽기/쓰기 함수 250
fu540-prci.c (new) 소스 분석 252
PRCI driver init 소스 252
PRCI probe 소스 254
FU540 GPIO 소스 정리(new) 256
구조체 정리 256
GPIO 소스 정리 259
gpio_sifive_probe() 259
GPIO 동작 함수 262
GPIO 레지스터 설정 263
GPIO 디바이스 트리 264
GPIO 테스트 265
FU540 커널 포팅 내역 정리 270
V5.1.9 버전업 내용 271
arch/riscv/Kconfig 273
arch/riscv/kernel/setup.c 273
arch/riscv/mm/init.c 275
drivers/clk/Kconfig 276
drivers/clk/Makefile 277
drivers/clk/sifive/Kconfig (new) 277
drivers/clk/sifive/Makefile (new) 278
drivers/clk/sifive/gemgxl-mgmt.c (new) 278
drivers/clk/sifive/u54-prci.c 282
drivers/gpio/Kconfig 290
drivers/gpio/Makefile 290
drivers/gpio/gpio-sifive.c (new) 291
drivers/irqchip/Kconfig 299
drivers/irqchip/Makefile 300
drivers/irqchip/irq-riscv-intc.c (new) 300
drivers/irqchip/irq-riscv-plic.c (new) 306
drivers/leds/leds-pwm.c 316
drivers/mtd/spi-nor/spi-nor.c 317
drivers/nvmem/Kconfig 319
drivers/nvmem/Makefile 320
drivers/nvmem/sifive-u500-otp.c (new) 320
drivers/pwm/Kconfig 329
drivers/pwm/Makefile 329
drivers/pwm/pwm-sifive.c (new) 330
부팅 로그 337
V5.4.8 버전업 내용 342
빌드 로그 343
부팅 로그 345
arch/riscv/* 소스 버전업 내역 351
v4.15 → v5.0 351
v5.0 → v5.1 354
v5.1 → v5.2 355
v5.2 → v5.3 359
v5.3 → v5.4 361
v5.4 → v5.5 363
참고 문서 366

관련분야 신착자료

한국데이터산업진흥원 (2020)