커널 공부는 어떻게 하는 건가요?

gurugio의 이미지

작년에 처음으로 Undestanding the Linux kernel 책을 보고

2장에있는 물리 메모리 주소등 관련 이야기를 읽다가

너무 어려워서 계속 공부를 해야겠다고 생각하고

지금껏 2장하고 7장에 있는 메모리 관련 부분도 제대로 못봤습니다.

물론 학기중에는 들여다보지 못했지만

기간만 따지면 반년은 넘을것 같습니다.

가끔 커널 스터디나 커널 개발자분들의 활동을 보게되는데요

이렇게 어려운 것을 공부하시는데 시작은 어떻게 하셨는지 궁금합니다.

커널 공부는 보편적으로 어떻게 하는지

이제 막 시작하는 후배한테 조언좀 해주세요..

너무 막막해서 갑갑합니다.. oops

전에 어떤 분께서 BSD 소스를 보라고 하셨는데

제가 실력이 미천해서 소스가 어디있는지도 모릅니다.

BSD는 설치해본적도 없거든요. FreeBSD 시디를 받아보면 될까요?

소스만 보면 깜깜할것같은데 리눅스처럼 소스에 대해 참고할만한

책이나 문서가 있을까요?

질문이 이상한다면 죄송합니다. 아마 선배님들께서도 초보시절에는

저처럼 막막하셨으리라 생각됩니다. 옛 시절에 어떻게 극복하셨는지

조언 부탁드립니다.

nanosec의 이미지

저두 잘은 모르지만...
작년에 임베디드 때문에 잠시 공부한 적이 있었습니다.

커널 소스 찾아보고, 따라가는데는
lxr이 상당히 좋았습니다.

또 현재의 리눅스 커널은 너무커서 공부하기 힘들지만, MicroC/OS-II 커널을 보면, 단순해서 os시간에 막연하게 들었던 내용이 소스를 보다보면 눈에 들어오더라구요 ^^

별루 도움이 안되는 말이였던것 같네요~
화이팅 입니다~~

0x2B | ~0x2B
- Hamlet

맹고이의 이미지

저도 작년 즈음에 'Understanding the Linux Kernel'을 보려고 했습니다만, 정말 머리에 안들어오더군요. ㅠ_ㅠ

혹시 쉬운 책이나, 앞서 봐두면 좋은 책을 가르쳐 주셨으면 좋겠습니다.

loveistt의 이미지

공룡책을 보시면 좋지 않을까 하는 저의 짧은 소견 ^^

:)

nanosec의 이미지

리눅스 커널은 아니지만 MicroC/OS-II 라는 책과(번역본도 상당히 잘 나왔습니다.) 그리고 그책을 사면 받는 realtime os 커널이 있는데,
막연히 공룡책을 보다가, 그책과 소스를 보니 말로만 듣던(?) 것들이 눈에 보이더군요..
( 몇몇 커뮤니티에서 arm용으로 포팅시 시키는 과정이 나온 문서등을 참고 했었습니다.)

저는 MicroC/OS-II 추천 입니다.. ^^

MicroC/OS-II => 수정했어요~ :oops:

0x2B | ~0x2B
- Hamlet

pyrasis의 이미지

음.. 저는 MicroC/OS-II (mc/os2라고 표기하지는 않습니다.. )로 커널 공부를
시작했었습니다..

그러면서 MicroC/OS-II 책을 사서 보기도 했고요. (이 책을 사면 커널 소스를 최신버전으로 받을 수 있는 권리가 생깁니다., 참고로 MicroC/OS-II는 소스가 대부분 누출(?) 되어 있지만 일반 오픈소스 라이센스가 아닙니다.)

이렇게 하면서 uIP라는 작은 TCP/IP 스택을 MicroC/OS-II에 포팅 하기도 했습니다.
http://www.pyrasis.com/main/MicroC/OS-IIuIPAdition

저번에 제가 이식성에 대한 쓰레드에서 NetBSD 커널을 보실 것을 권해 드렸는데..
BSD 설치 씨디에는 커널 소스가 들어있지 않습니다. BSD계열은 NetBSD든 FreeBSD, OpenBSD든 CVS에서 체크아웃 받아서 봐야 합니다.

참고로 NetBSD 커널 소스입니다.
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/

아.. 그리고 리눅스 커널 관련된 것은 임베디드 리눅스 커뮤니티에 가시면
소스 분석자료 및 각종 소스가 많이 나와 있습니다.

gnobus의 이미지

loveistt wrote:
공룡책을 보시면 좋지 않을까 하는 저의 짧은 소견 ^^
공룡책이 무엇인가요? :oops:

[편집]
책 표지에 공룡이 있어서 그렇게 부르는 것이었군요.
Operating System Concepts
[/편집]

맹고이의 이미지

아, 오늘 '입문자를 위한 임베디드 시스템'이라는 책을 사놓고

방금 서문을 읽었는데 MicroC/OS를 언급하고 있네요.

'MicroC/OS-II 실시간 커널 2/E'도 사봐야겠습니다. ^^;