커널 공부를 하고 싶스니다.

ngw2833의 이미지

리눅스 커널 공부를 하고 싶습니다.
CentOS를 사용한 지는 약 10개월 정도 되었네요.
통신 프로토콜 실습을 하면서 Linux를 자주 운용했어요. 그래봐야, Telnet이나 FTP같은 애플리케이션을 이용한 것이 전부이기는 합니다.. ㅎ
아 그리고 CentOS로 초급적인 API를 한 번씩 다루어보고 리눅스 프로그래밍의 개론적인 부분을 학습한 바 았습니다.
자료구조 과목을 수강하며 Linked List 및 Binary tree 정도 까지는 공부했고 구현할 줄 알고 있어요.
c언어에 대한 지식은 임베디드 시스템을 공부하며 C를 사용하고 있고, 대학교에서 해당과목 조교를 맡고 있기도 하니..(학부생입니다 ㅎㅎ 어쩌다 실습조교를 하고 있네요.) 초보는 아니라고 생각해요. 잘한다고 말씀드리기는 어렵네요..ㅎ

어쩌다 학과에서 졸업한 지 오래된 선배 중에 커널 공부를 한 선배가 있다고 들었어요.
Driver를 다룰 줄 알고 관련해서 졸업작품도 내었다고 교수님께 들었네요.

저 역시 Kernel 공부를 하고 싶어요.
아직 추상적이기는 하지만 OS의 부분부분을 건들일 줄 아는 사람이 되고 싶어요.

어떻게 공부하면 좋을까요.

열심히 찾아보니 운영체제론, 컴퓨터 구조론, 아키텍처에 대해서 공부가 선행되어야 한다고 찾은 적 있습니다.
저는 컴퓨터공학이 아닌 정보통신공학에 재학중인 학생이라 관련된 과목이 편성되어있지 않네요. 그래서 아직 배운 적이 없네요.
(컴퓨터구조에 대해서는 임베디드 공부할 때 살짝 맛을 본 바는 있습니다.)

이런 제 상황에서 어떻게 공부를 하면 좋을까요.
책을 찾아보니 '리눅스 커널 심층분석' 'Understanding the linx kernel'같은 서적을 많이 추천해주시는 것 같더라고요.

바로 책을 구입해서 공부를 해볼까라는 생각도 들고, 컴퓨터 구조론과 운영체제론에 대해서 공부를 하고 다시 고민해볼까 생각도 드네요.
뭐가 되었든 3학년 1학기인 제게 장기적인 공부계획이 될 것 같아요.

혹시 저랑 비슷한 경험을 하셨거나, 저보다 먼저 이 길을 나서보신 분들에게 여쭈고 싶어서요.
이러한 이유로 조언을 구하고자 합니다.
감사합니다.