일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- kmalloc
- kafka
- BLOCK
- allocator
- fastpath
- memory
- slowpath
- Linux
- spinlock
- strex
- Network
- vmalloc
- Kernel
- slab
- blk-mq
- mm_struct
- buddy_system
- lruvec
- 카프카
- devicedriver
- Apache
- page
- vm_area_struct
- multiqueue
- commit
- NDK
- proc
- Android
- slub
- pmap
- Today
- Total
Art of Pr0gr4m
리눅스 커널 책 리뷰 및 가이드 본문
1. 디버깅을 통해 배우는 리눅스 커널의 구조와 원리
www.yes24.com/Product/Goods/90085976
www.yes24.com/Product/Goods/90087307
기본적인 커널 컨셉 설명, 구조체와 함수 설명, 커널 디버깅 설명을 쉽게 풀어쓴 책이다.
커널 공부를 본격적으로 시작하기 가장 좋은 책같다.
아주 깊은 내용을 세세하게 설명하지는 않는다.
여태까지 공부했던 커널 책중에 가장 가독성이 뛰어나다.
2. 코드로 알아보는 ARM 리눅스 커널
www.yes24.com/Product/Goods/60856943
리눅스 커널 코드의 핵심부분을 세세하게 분석한 책이다.
아키텍처 종속적인 부분은 ARM 코드로 분석하는데, 많은 내용이 아키텍처 독립적이고 범용적이다.
솔직히 가독성이 좋지는 않다.
1번 책을 완독한 후 더 자세하게 분석한 자료가 필요하다면 해당 책을 공부하면 좋다.
3. 리눅스 커널 소스 해설 기초입문
www.yes24.com/Product/Goods/89174355
아예 리눅스 커널 자체를 처음 접하는 사람이 입문하기 좋은 책이다.
커널 설정, 빌드와 수정 등을 어떻게 하면 되는지와, 커널에서 대표적으로 사용하는 자료구조를 설명한다.
사실 그다지 깊은 내용을 다루지는 않는다.
4. DevOps와 SE를 위한 리눅스 커널 이야기
www.yes24.com/Product/Goods/44376723
책 제목에서 볼 수 있는 것과 같이, 주로 SE를 위한 커널 컨셉과 설정들을 설명한다.
소스 코드를 분석하거나 수정하기 위한 책은 아니다.
리눅스 시스템을 조금 더 전문적으로 관리할 수 있는 지식을 쌓을 수 있다.
5. 리눅스 커널 프로그래밍
www.yes24.com/Product/Goods/19660111
2.4 - 2.6 버전 커널을 실습하며 익힐 수 있는 책이다. (절판되었다.)
깊은 내용을 세세하게 설명하지는 않지만, 커널 수정 및 모듈 프로그래밍 실습을 진행하며 이해도를 높일 수 있다.
커널 4,5버전과는 맞지 않는 내용이 대부분이지만, 해당 내용들을 최신 커널에 맞춰 업데이트해가며 실습하면 이해도를 더욱 높일 수 있다.
6. 리눅스 커널 네트워킹
www.yes24.com/Product/Goods/31918354
커널 네트워크 부분을 상세하게 설명한 책이다.
1,2번 책이 네트워크 부분을 다루지는 않는데, 이 책을 공부하면서 해당 부분을 커버할 수 있다.
7. 리눅스 커널 HACKS
www.yes24.com/Product/Goods/12474141
리눅스 커널에 있는 컨셉들을 설명하고 어떻게 시스템을 최적화하는지 설명한 책이다.
절판된 책이며 2.6버전 커널이기에 커널 4,5버전과 일부 맞지 않을 수는 있다.
하지만 수록된 테크닉들은 전반적인 시스템 세팅 능력 향상에 도움이 된다.
8. 리눅스 커널 IN A NUTSHELL
www.yes24.com/Product/Goods/3224540
커널 권위자 그렉옹의 레퍼런스북이다.
마찬가지로 구버전 커널 내용이긴 하지만, 원래 커널에 어떤 개념들이 있었나 살펴보기 좋다.
7번 책과 병행하면 시너지효과가 있다.
9. Linux Kernel Development
www.yes24.com/Product/Goods/3124201
리눅스 커널의 전반적인 내용을 설명한다.
과거 공부할만한 자료가 없었을땐 입문하기 좋은 책이었지만,
현재는 국내에 1번같은 서적도 있고 해당 서적 내용이 마찬가지로 2.6 기준이라 그다지 추천하진 않는다.
단, 커널이 아니라 OS 공부에 입문하려고 하는데 공룡책은 싫고 리눅스 기준으로 공부하고 싶다 하면 해당 책을 강추한다.
10. Understading the Linux Kernel
www.yes24.com/Product/Goods/1583489
9번과 약간 비슷한 양상이긴 하지만 좀 더 깊이있는 내용을 설명한다.
커널의 많은 핵심 개념들, 구조체, 함수 등을 설명하는데 마찬가지로 out-of-date지만, 내용이 좋아서 추천할만하다.
1,2번 책이 커널 자체에 집중해있다면 해당 책은 좀 더 넓은 OS 컨셉으로 시작해서 점차 리눅스 커널 내용으로 좁혀들어간다.
11. Linux Device Drivers
www.yes24.com/Product/Goods/1461176
해외 사이트들을 보면 이 책을 완독하기 전까지 커널 프로그래밍을 하지 말아라 라는 문구가 있을 정도의 바이블이다.
아쉽게도 그렉옹이 레딧에 4판은 계획에 없다고 밝혔다.
예제들이 마찬가지로 obsolete된 내용들이 많아 잘 되지 않지만,
깃헙에 예제 up-to-date 프로젝트들이 꽤나 있다. (https://github.com/martinezjavier/ldd3)
디바이스 드라이버 제작뿐만이 아니라 전반적인 커널 프로그래밍에 있어 바이블이 되는 책이다.
개인적으로 목적에 따른 학습 커리큘럼은 아래와 같이 추천한다.
(물론 리눅스 환경과 리눅스 시스템 프로그래밍에 익숙하다는 전제가 깔려있다.)
시스템 최적화를 위한 커널 학습 : 4 -> 7 -> 8
리눅스 커널 분석 및 연구 : 3(선택) -> 1 -> 10 -> 2 -> 6
리눅스 커널 프로그래밍 : 5 -> 1 -> 11
p.s. 위 절판된 책들은 대부분 도서관에서 빌려볼 수 있습니다.
'Book > IT' 카테고리의 다른 글
프로그래밍 책 추천 (4) | 2016.11.07 |
---|