|
잔뜩 기대하고 들어간 학교 OS 수업은 실망감만 안겨 주었습니다. 학교 수업은 기존의 교육용 OS 위에 조금씩 살을 덧붙이고 수정하는 그런 식이었습니다. 내가 기대했던 것은 아무것도 없는 bare pc에서 부트스트랩을 만들고 그 곳 위에 Process 관리와 Memory 관리 등을 조금씩 덧붙이는 그런 수업을 기대했었습니다. GUI는 아니더라도 말이지요.
하지만 이 책은, 실제로 bare pc에서 부트스트랩을 만들고 그 곳 위에 GUI의 Multi tasking system을 만들어 놓습니다. 그 동안 제가 알고 싶었던 모든 내용을 처음부터 알기 쉽게 차근차근 설명한 책이었습니다.
무엇보다도 부트스트랩은 어셈블리어로 작성하지만 그 외의 내용들은 바로 C 언어로 작성하고 있다는 것이 마음에 드는 내용이었습니다. 리눅스 또한 그런 식으로 작성되어 있어서 불필요하게 어셈블리어를 장황하게 나열하는 식이 아닌 가장 현실적인 접근 방법을 취하고 있다는 것이 좋았습니다.
리눅스 또한 처음 모습은 아주 간단한 모습이었을 것이라 생각합니다. 그것을 수정하고 발전시켜서 현재의 분석하기 어려운 모습을 갖게 되었으리라 생각합니다. 하지만 이 책으로 시작한다면 OS는 물론 다른 시스템에 대해서도 깊은 이해를 가지게 되리라 생각합니다.
OS를 만들어 보고 싶어서 목말라했던 분들에게 이 책을 강추합니다. |
|
보통 대학교에서 가르치는 운영체제 수업을 들어본 학생이라면 알것이다..실질적인 프로그래밍 부분은 열악하고 기본적 방대한 이론만 가르치기에 바쁘다..나 역시 학교수업을듣고 운영체제를 만들수 없었다..그러나 이책은 부트스트랩 부터 시작하여 그럴듯한 운영체게를 만드는 것까지 운영체제가 갖춰야할 기본적인 원리와 구조를 방대한양으로 잘 설명하고 있다.
하지만 처음 어셈블리어를 잘 모르는 이들은 처음부분부터 이해 안가는 어셈블리어때문에고개를 절래절래 흔들수 있다는 단점을 지니고 있다. 하지만 차근차근 몇번이고되집어 읽어가다 보면 이해하는 순간이 올것이다. 사실 기본적인 어셈블리어의 학습없이 운영체제를 공부하겠다는 것은 힘든 일이다. 운영체제를 공부하는 학생이라면 어셈블리어와 컴퓨터 프로세서의 하드웨어 지식에 대한 기본적인 학습을 하라 권하고 싶다. 그리고 C언어에 대한 기본적인 지식없이는 이해가 힘들것이다. 책 중반쯤 가다보면 많은 함수들과 포인터들 때문에 C언어의 중급정도의 실력자가 아니면 초반에 포인터들에게 질질 끌려 다닐수 있다..그리고 이책은 윈도우의 구조와 원리를 가르치는 책이 아니다. 윈도우, 리눅스와 관계없다. 하나뿐인 나만의 OS를 만들게 하는원리를 가르쳐주는 것이다..
운영체제는 그리 어려운게 아니다! 하지만 결코 쉽게 학습할 수 있는 학문도 아니다 이 책은 그간 실질적인 운영체제를 만들고 싶어하던 이들에게 좋은 책이다. 이 책말고 다른 윈도우의 구조와 원리에 대한 책들과 커널에 관한 책들과 같이 학습한다면 더할나위 없는 교과서가 되줄것이다. |