만들면서 배우는 OS 커널의 구조와 원리
이 책의 가장 큰 목적은 방대한 커널을 이해하기 위한 토대를 마련해주는 것이다. 소프트웨어 개발자는 HelloWorld 소스코드를 컴파일하고 실행하는 것으로 시작한다. 그리고 하드웨어 개발자는 8비트 컴퓨터 회로를 제작하는 것으로 시작한다. 이처럼 커널 학습도 작은 커널을 자신이 직접 만들어 보며 배경지식을 습득하는 것으로 시작하여 방대한 OS의 커널에 도전해야 더욱 빠르고 수월하게 목표에 도달할 수 있을 것이다.
실습 중 문자가 출력되지 않거나 계속 재부팅되는 비정상적인 동작이 일어날 경우 nasm 버전을 바꾸어 보세요. 2.07버전에서는 계속 비정상 동작하여 2.05버전으로 컴파일하였더니 정상적으로 돌아갑니다.
또 VirtualBox에서 img파일을 mount해서 사용하는 경우도 올바르게 동작하지 않았습니다. Virtual Floppy Drive를 이용해 가상 플로피 드라이브를 만든 후 RawWriteWin으로 이미지를 씁니다. 그 다음 이 가상드라이브로 부팅합니다.
리눅스에서도 virtualbox 이용할 때 16비트 부분은 정상적으로 동작하지만 32비트 Protected mode 부분은 실행되지 않습니다.