본문 바로가기

오탈자 정보

[코드로 알아보는 ARM 리눅스 커널]_오탈자

현재까지 발견된 위 책의 오탈자 정보와 오류 사항 그리고 보다 매끄러운 문장을 위해 수정한 내용들입니다. 불편을 끼쳐드려 죄송합니다.

혹시 이 외의 오탈자 정보를 발견하시는 분이 계시면 출판사 메일 jeipub골뱅이gmail.com이나 저자들 구글그룹 inux-kernel-arm@googlegroups.com으로 연락주시면 고맙겠습니다. 


최종수정일자: 2015년 10월 26일
4쇄본 오탈자


66쪽 그림 5-4의 오른쪽 그림에서 0부터 증가하는 Entry 값 수정(정*훈 님 제보)
1230 ==> 1280

97쪽 그림 7-6의 오른쪽 그림에서 0부터 증가하는 Entry 값 수정(정*훈 님 제보)
1230 ==> 1280

89쪽 두 번째 줄에서(한*권 님 제보)
레지스터 r2, r4, r5, r6에 ==> 레지스터 r3, r4, r5, r6에

100쪽 두 번째 문단 첫 번째 줄에서(한*권 님 제보)
결국 r7에는 0xC1E 값이 설정된다. ==> 결국 r7에는 0xC0E 값이 설정된다

126쪽 상단 두 번째 줄에서(이*화 님 제보)
할성화 이벤트에 ==> 활성화 이벤트에


최종수정일자: 2013년 4월 22일
3쇄본 오탈자


70쪽 하단 15번 각주에서(박*솔 님 제보)
gnuzip은 ==> gunzip


최종수정일자: 2013년 2월 28일
2쇄본 오탈자


V쪽 3행에서(저자 제공)
질핍 후기 XXI ==> 집필 후기 XXI

14쪽 첫 번째 문단의 1행과 세 번째 문단의 1행에서(스카 님 제공)
arch/arm/compressed/Makefile 내에 ==> arch/arm/boot/compressed/Makefile 내에
arch/arm/compressed/vmlinux에 ==> arch/arm/boot/compressed//vmlinux에 

 

156쪽 3행에서(지나가다가 님 제공)

parse_atags로 ==> parse_tags

 

225쪽 하단 주석 43번(지나가다가 님 제공)
43) MAX_ORDER, PAGE_SHIFT 값에 따라 kmalloc()으로 할당할 수 있는 값은 32MB보다 작을 수 있다.

==>

43) 커널이 부트타임 시 사용하는 파일시스템이 위치하는 메모리다. 이 파일시스템은 부트가 완료되면 더이상 사용되지 않는다.

 

205쪽 그림 14-3에서 2단계 페이징의 offset 부분(김남형 님 제공)

11비트 [11:0] ==>12비트 [11:0]

 

XI쪽(저자 제공)

Chapter 17 빌려줄 후원자 구성하기 ==> Chapter 17 메모리를 빌려줄 후원자 구성하기


5쪽 그림 1-2(저자 제공)

I/O and Device Managment ==> I/O and Device Management

Fundamental Process Managment ==> Fundamental Process Management


14쪽 1행(저자 제공)

arm/arch/compressed/Makefile ==> arch/arm/boot/compressed/Makefile


71쪽 코드 6-2 제목(저자 제공)

arch/arm/boot/compressed/head.S의 decompressed_kernel 레이블 

==>

arch/arm/boot/compressed/misc.c의 decompress_kernel 함수


109쪽 6행(저자 제공)

arm/kernel/entry-armv.S에 ==> arch/arm/kernel/entry-armv.S에 


150쪽 코드 11-1 제목(저자 제공)

init/main.c의 setup_arch() ==> arch/arm/kernel/setup.c의 setup_arch()


207쪽 중간 코드 제목(저자 제공)

ainclude/linux/init_task.h ==> include/linux/init_task.h


217쪽 코드 14-13 제목에서(저자 제공)

__alloc_bootmem_nopanic() ==> ___alloc_bootmem_nopainic()


218쪽 코드 14-14 제목에서(저자 제공)

mm/mmu.c의 ==> mm/bootmem.c


221쪽 코드 14-15 제목에서(저자 제공)

flush_dcache() ==> __flush_dcache_page()


223쪽 각주 40에서(저자 제공)

prinft 대신 ==> printf 대신


235쪽 각주 48에서(저자 제공)

leve 1의 ==> level 1의


240쪽 본문 세 번째 문단 1행(저자 제공)

DESCLARE_BITMAP 매크로에 의해서 ==> DECLARE_BITMAP 매크로에 의해서


296쪽 아래에서 6행(저자 제공) 

노드 0  ==> 노드 0


328쪽 코드 18-11 아래 첫 번째 문단 1행(저자 제공)

IRQ_NOIRQ를 ==> IRQ_NOREQUEST


460쪽 그림 24-6의 맨 아래 코드 파일명(저자 제공)

include/linux/percpu_counter.c ==> include/linux/percpu_counter.h

 

462쪽 그림 24-7에서 코드 파일명 수정(저자 제공)

상단 

include/linux/percpu_counter.c ==> lib/percpu_counter.c

하단 

include/linux/percpu_counter.c ==> lib/percpu_counter.c

 

529쪽 그림 30-2에서 파일명 /* ... */ 에서 /* */ 빼기(저자 제공)

/* include/linux/workqueue.h */ ==> include/linux/workqueue.h

/* include/linux/workqueue.h */ ==> include/linux/workqueue.h

/* kernel/workqueue.c */ ==> kernel/workqueue.c


529쪽 그림 30-2의 두 번째 코드 박스에서(저자 제공)

define create_==> #define create_


537쪽 그림 30-5에서 파일명 /* ... */ 에서 /* */ 빼기(저자 제공)

/* include/linux/kmod.h*/ ==> include/linux/kmod.h


537쪽 코드 30-11에서(저자 제공)

kernel/kmod.c의 usermodhelper_init()

==> 

kernel/kmod.c의 usermodehelper_init()


538쪽 그림 30-6에서 파일명 /* ... */ 에서 /* */ 빼기(저자 제공)

/* include/linux/workqueue.h*/ ==> include/linux/workqueue.h

/* include/linux/workqueue.h*/ ==> include/linux/workqueue.h

/* kernel/workqueue.c*/ ==> kernel/workqueue.c


558쪽 본문 5번째 문단 4행(저자 제공)

32.6절에서 자세히 다루었다. ==> 코32.6절에서 자세히 다루겠다.

560쪽 3번째 문단(저자 제공)

시그널들을 flush_signal() 함수를 호출하여 처리한다. 아래는 flush_signal() 함수를 

==>

시그널들을 flush_signals() 함수를 호출하여 처리한다. 아래는 flush_signals() 함수를


560쪽 코드 31-3 제목(저자 제공)

kernel/signal.c의 flush_signal() ==> kernel/signal.c의 flush_signals()


560쪽 각주 98번(저자 제공)

17장의 "알아봅시다! ==>8장의 "알아봅시다!


563쪽 첫 번째 문단 2-3행(저자 제공)

현재 태스크의 나이스 값과 ==> 현재 태스크의 나이스 값이


564쪽 알아봅시다 박스 두 번째 문단 2행(저자 제공)

set_load_weight() 함수를 설명할 때 설명하기로 하자. ==> set_load_weight() 함수를 설명할 때 알아보기로 하자.


568쪽 아래에서 2-3행(저자 제공)

set_cpu_allowed() 함수가 존재하면, set_cpu_allowed() 함수를 

==> 

set_cpus_allowed() 함수가 존재하면, set_cpus_allowed() 함수를



569쪽 1-2행(저자 제공)

set_cpu_allowed() 함수가 존재하지 않는 경우는 직접 p->cpu_allowed 필드의 

==>

set_cpus_allowed() 함수가 존재하지 않는 경우는 직접 p->cpus_allowed 필드의


570쪽 마지막 문단 1행에서 띄어쓰기(저자 제공)

kthread_create_info구조체의 ==> kthread_create_info 구조체의


574쪽 1행(저자 제공)

커널 스래드를 ==> 커널 스레드를


574쪽 코드 박스 위치 수정(저자 제공)

kernel/kthread.c 첫 번째 코드 박스를 두 번째 문단의 '다음과 같이 검사한다.' 문장 아래로 이동 

kernel/kthread.c 두 번째 코드 박스를 세 번째 문단의 '중지시킬 수 있다.' 문장 아래로 이동


576쪽 첫 번째 문단 3행(저자 제공)

find_task_by_pid_ns다. ==> find_task_by_pid_ns()다.


580쪽 마지막 문단 1행(저자 제공)

마지막으로 코드 섹션 ③에서는 ==> 마지막으로 코드 섹션 에서는


591쪽 A.2의 표 11번째 라인에 마침표 제거(저자 제공)

CS와 동일. ==> CS와 동일


597쪽 맨 아래 코드에서(저자 제공)

/* seggid 비트 지정 */ ==> /* setgid 비트 지정 */


608쪽 첫 번째 문단 4행(저자 제공)

미묘한 차이가 점이 있다. ==> 미묘한 차이점이 있다.


613쪽 코드 박스에서 원숫자 ① 위치 수정(저자 제공)

원숫자 ①을  맨 우측으로 정렬


618쪽 1행(저자 제공)

Makers ==> Markers


620쪽 아래에서 2행(저자 제공)

stack unwiding ==> stack unwinding



최종수정일자: 2012년 9월 17일
1쇄본 오탈자


아래 파일로 제공하는 오탈자 사항은 2쇄본에 모두 반영되었음을 알려드립니다. 집필과 편집 시에 미처 확인을 하지 못해 불편을 끼쳐드려 다시 한 번 죄송하다는 말씀을 드립니다.  


ARM리눅스커널_1쇄에라타_홈페이지용.pdf