isbn: 9791158391980
저자가 디버깅, 커널을 강조하다보니, 제목이 너무 길어졌다. 다행히 초심자가 쉽게 이해할 수 있는 내용이다. 책 2권이다 보니 사기 아까웠지만, 읽고나면 살만한 책이다. 이 책이 자세하게 설명하여 커널이 어떻게 동작하는지 알 수 있다. 내용이 인터넷에도 있겠지만, 내가 찾는 수고를 저자가 했고, 틀린 내용을 저자가 걸러줬다. 이렇게 보면 지출할 만한 가격이다.
20년 전 리눅스를 시작하려 해도 괜찮은 책, 문서가 없었다. 그 시절 인터넷도 잘 발달되지 않아 따라 하기 어려웠다. 커널 구조, 동작 방식을 설명하는 책도 찾기 어려웠고, 파편화 된 영문 문서를 종합하여 이해할만한 시간, 능력, 의지도 없었다. PC 성능도 낮아 한번 커널 컴파일하면 4시간 정도 걸렸다. 커널 패닉에 닥치면 어떻게 해결할지 막막했다. 지금같이 휴대폰으로 찾아볼 수 없다보니. 진심이 아닌 취미로 접근하기 너무나도 어려웠다.
다행히 시대가 변해 성능좋고 값싼 하드웨어를 쉽게 구할 수 있다. 이 책과 같은 좋은 교재로 짧은 시간에 익힐 수 있다. 커널에서 지원하는 디버그 툴이 함수 호출 내역을 표시한다. 인터넷도 발달되어 남이 작성한 문서를 쉽게 찾고, 사용할 수 있다. 의지만 있다면 과거 5년 학습 결과를 지금 6개월에 달성할 수 있어 보인다.
책 차례를 보면 커널을 어떻게 접근할지 보인다. OS 기본이 프로세스이므로 task descriptor에서 시작한다. 인터럽트 또한 중요하여 다음에 있다. softirq, workqueue도 인터럽트 다음으로 쉽게 알 수 있다. 2권을 보면 그 외 타이머, 동기화, 스케줄러 등 기본 지식을 학습할 수 있다.
책을 읽고 나면 커널을 쉽게 접근할 수 있고, 남이 작성한 문서를 이해할 수 있다는 자신감-실력이 아닌-을 갖는다. IoT 시대를 대비할 수 있는 지금 배우지 않을 이유가 없다. ON/OFF 스위치를 만들더라도 인터넷도 되고, 터치 패드 있는 제품이 뽀대 난다. 얼마인지 모르겠으나 정말 있다!! 수화물 5kg를 희생하여 미국까지 들고 온 보람있다.