5.3. 여러분이 만든 OS

시스템에 대한 완전한 제어 라는 특성은 많은 OS 개발자들을 어셈블리로 유혹하는 특성이다. self-development 를 허용하는 시스템은, 비록, 그것이 다른 시스템의 '위에서' 운영될지라도 (Linux over Mach 나 OpenGenera over Unix 처럼) "OS" 라고 부를 수 있음을 기억하라.

따라서, 보다 쉬운 디버깅을 위해 여러분은 리눅스에서 실행되는 프로세스로서의 여러분의 "OS" 를 먼저 개발하고자 할지도 모른다. (느릴지는 모르지만) 그리고 나서 Flux OS kit (Linux 와 BSD 드라이버들을 여러분 자신의 OS 에서 사용할 수 있게 해 주는 유틸리티) 를 사용해서 그것을 stand-alone 으로 만들고자 할지도 모르겠다. 여러분의 OS 가 stable 하고, 여러분이 진정으로 여러분의 창조물을 사랑한다면 그때에야 여러분의 하드웨어 드라이버들을 만들 시기가 온 것이다.

이 하우투는 부트로더의 코드나, 32-비트 모드로 진입하는 법이라든지, 인터럽트를 다루는 법이나, 인텔의 보호모드, 혹은 가상/리얼 86 모드라든지 여러분의 오브젝트 파일 포맷이나 호출 규칙에 관한 것들은 다루지 않는다.

여러분이 그러한 것들에 관한 믿을만한 정보를 찾을 수 있는 주된 장소는 현존하는 OS 들과 부트로더들의 소스코드이다. 다음의 웹페이지에 많은 링크들이 있을 것이다 : http://www.tunes.org/Review/OSes.html