64비트 멀티코어 OS 원리와 구조
OS 개발 60일 프로젝트
한승훈 지음
한빛미디어, 2011
프로그래머의 길을 가는 많은 이들의 소망(?) 중 하나는
자신 만의 운영체제를 제작해보는 것이 아닐까 싶다.
(개인적으로는 새로 만들기보단 이미 만들어진 것에 얹혀서 가는 쪽을 택했다.. ;;)
널리 읽히는 OS 서적 중의 하나인 "Operating System Concepts"의 표지에서
비롯되었겠지만 많은 이들이 OS의 복잡성으로 인해 이를 '공룡'으로 비유하곤 한다.
운영체제를 제작한다는 것은 공룡과 싸우는 것만큼 힘든 일이라는 뜻일 것이다.
(무려 3000여 페이지에 달하는 이 책의 볼륨을 보더라도
이것이 얼만큼 힘든 일인지 쉽게 짐작할 수 있다.)
이 책은 60일 동안의 과정을 거쳐 인텔/AMD 호환 64 비트 머신 (x86_64)에서
멀티코어를 지원하는 운영체제를 제작하는 저자의 노하우를 공개하고 있다.
bootloader에서 시작하여 multi-task/thread scheduling, memory protection
등을 거쳐 shell은 물론 ELF 포맷의 GUI application 작성에 이르기까지
운영체제가 갖추어야할 대부분의 기능을 포함하고 있는 MINT64 OS의 제작 과정을 통해
OS 개발을 꿈꾸고 있는 이들의 훌륭한 길잡이가 될 수 있으리라 생각된다.
다른 OS 서적과 마찬가지로(?) 맨바닥부터 운영체제를 구축해가기 때문에
책의 많은 부분을 (x86_64) 아키텍처에 대한 설명에 할애하고 있다.
64비트 (혹은 32비트 환경이라도) x86 CPU의 동작 및 구성에 관심있는 독자들에게
이러한 부분도 큰 도움이 될 것이라 생각되며,
그렇지 않은 사람이라면 MINT64 OS를 기반으로하여 운영체제의 고급기능들,
이를테면 virtual memory, file system, networking 등의 기능 구현에
도전해 볼 수 있는 기회로 삼을 수도 있을 것이다.
개인적으로는 이 책의 사전 리뷰어(beta-reader ?)로 참여하며
이미 작년 8월 쯤에 완독하였기 때문에 리뷰를 쓰고있는 지금에 와서는
사실 책의 내용을 상세히 기억할수는 없지만 (;;)
엄청난 분량의 OS 제작 know-how를 꼼꼼히 전해준 저자와
(오랜 시간 지체되었음도 불구하고) 책이 나올때까지의 모든 고된 작업들을 수행한
한빛미디어 스텝들의 노고는 물론, 뒤풀이에서 크게 한 턱 내신
저자(및 그 배우자분)의 배포(?)에 감사하며 짧은 글을 마친다.. ㅎㅎ