기글 하드웨어 커뮤니티 게시판
아주 기본적인 네티켓만 지킨다면 무슨 내용이든지 자유롭게 쓸 수 있는 커뮤니티 게시판입니다. 전문적인 주제의 글은 주제별 포럼을 이용해 주시고, 질문은 질문 게시판에, 민감한 소재의 글은 비공개 게시판이나 수상한 게시판을 이용해 주세요.
OS 에 흥미가 있으신 분들을 위해 재미난 정보를 하나 드릴까 합니다.
안드로이드 오픈소스 프로젝트 등은 들여다 봐야 커널이 버그버그한 리눅스 커널인데다 코드도 상당히 더러워서 좀처럼 공부를 할 수 없습니다.
공부하고 싶은 의지는 있지만, 무엇 부터 해야 할 지 모르시겠는 분들을 위해 소개하고 싶은 것이 xv6 입니다. 교육용으로 제작된 OS 이기에, 초보도 한눈에 알아 볼 수 있는 정말 깨끗한 코드로 만들어진 OS 입니다. 심지어 교육용 OS 주제에 멀티스레드도 대응 하고 있는 무시무시한 녀석으로 안드레기+리눅스의 정신나갈 분량의 코드는 암만 봐도 실력이 늘진 않을겁니다.(이런건 부분적으로 보시는게 좋습니다.)
간단하게 설명하면, 페이징 폴리시는 2단계(페이지테이블 단계), POSIX 완벽 호환. 코멘트의 방대함. 간단한 어셈코드와 C 정도만 보실수 있으시면 바로 분석 가능한 재미난 OS 입니다. 심지어 움직일겁니다!
추천하는 환경은,
1. LXR 분석도구
2. 인텔 x86 매뉴얼
3. 인텔 x86 최적화 매뉴얼(일본어 버젼이 있으니 아마도 한글버젼이 있을거임)
요 정도만으로도 공부하실수 있지 않을까 생각해 봅니다. (심지어 강의용 자료까지 제공하고 있습니다. 조만간 한국 학과에선 저런거로 강의하지 않을까 생각 됩니다.)
코드가 정말 너무나 쉽고 깨끗하게 정리 되어 있어서 아마 C의 기초만 아셔도 읽으실수 있지 않을까 생각 될 정도로 심플합니다.
http://pdos.csail.mit.edu/6.828/2012/xv6.html
작성된지 2주일이 지난 글에는 새 코멘트를 달 수 없습니다.