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
'오탈자 정보' 카테고리의 다른 글
[인스파이어드]_오탈자 (0) | 2013.02.13 |
---|---|
[레시피로 배우는 아두이노 쿡북]_오탈자 (0) | 2012.11.15 |
[코드로 알아보는 ARM 리눅스 커널]_오탈자 (6) | 2012.09.17 |
[아론 힐리가스의 오브젝티브-C 프로그래밍]_오탈자 (7) | 2012.07.06 |
[MongoDB(몽고디비) 인 액션]_오탈자 (0) | 2012.07.05 |
[UNITY 3D로 배우는 실전 게임 개발]_오탈자 (4) | 2012.06.25 |
[Page 13]
Line 5 (3번째 Box)
@: ----> @$(check_for_bad_syms) 정도로 하면...
[Page 14]
Line 1 : arch\arm\compressed ----> arch\arm\boot\compressed
Line 7 : arch\arm\compressed ----> arch\arm\boot\compressed
;
안녕하세요?
댓글 남겨주셔서 감사드립니다. 여러번 리뷰를 하였음에도 찾지 못했던 오타가 계속 나오고 있습니다 ㅠ.ㅠ.
page 13의 오타로 말씀해주신 부분은 책이 기반을 두고 있는 커널이 2.6.30.4 버전인데 소스를 확인해본 결과 책에 기술된 코드가 맞습니다. 다음 링크를 통해서 확인할 수 있습니다.
http://lxr.linux.no/linux+v2.6.30.4/arch/arm/boot/compressed/Makefile
page 14의 오타는 지적해주신대로 중간에 boot 디렉토리가 빠져있습니다. 따라서 다음과 같아야 합니다.
arch/arm/boot/compressed
에라타 정리파일에 추가하도록 하겠습니다.
감사합니다.
225page에 있는 43) 주석 설명과 224page에 있는 42) 주석 설명이 똑같습니다.
43) 주석 내용이 잘못된 것 같습니다.
156page 3번째 줄에 parse_atags -> parse_tags로 수정 필요해 보입니다.
안내 고맙습니다. 두 건 모두 저자에게 보내 확인을 받은 후에 다시 안내해드리도록 하겠습니다. 곧 다시 댓글로 연락드리겠습니다.
안녕하세요?
먼저 시간내주셔서 오탈자정보에 오류 사항을 남겨주셔서 감사합니다.
두 건에 대해서 답변드리겠습니다.
page 156 parse_atags건
parse_tags가 되어야 합니다. 감사합니다.
주석 42/43 중복건
주석 43의 내용을 다음과 같이 바로 잡습니다.
"커널이 부트타임 시 사용하는 파일시스템이 위치하는 메모리다. 이 파일시스템은 부트가 완료되면 더이상 사용되지 않는다."
에라타 정리파일에 추가하고 차후 인쇄에는 정정하도록 하겠습니다.
오류사항을 발견하고 알려주셔서 다시한번 감사드립니다.