살아가는 이야기

OS 구조와 원리(p. 85) 본문

컴퓨터, 풀어그림

OS 구조와 원리(p. 85)

우균 2009. 12. 24. 01:44
OS 구조와 원리 85쪽에 haribote.sys를 부트섹터에서 로딩하도록 디스크를 만드는 장면이 나온다. 나 자신도 헤매었던 부분이라 여기에 기록해 둔다.

1. 부트섹터 프로그램을 작성하여 ipl.nas 파일로 저장한다. 프로그램 소스는 아래 사이트에서 구할 수 있다.
http://www.kmsr819.digimoon.net/ny09/iwmos/post/81

2. 디스크 이미지 파일(helloos.img)을 만든다. 그냥 make img를 해도 되고 아래 두 명령어를 실행해도 된다.
> ../z_tools/nask.exe ipl.nas ipl.bin
> ../z_tools/edimg.exe imgin:../z_tools/fdimg0at.tek wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img


3. OS 본체(p.84에 있음) 프로그램을 작성하여 hariote.nas 파일로 저장한다.

4. haribote.sys 파일을 만든다. 파일 이름은 크게 상관없다. 일관성만 유지한다면...
> ../z_tools/nask.exe haribote.nas haribote.sys

5. 디스크 이미지를 실제 디스크에 쓴다. 역시 그냥 make install을 해도 되고 아래 명령어를 실행해도 된다.
> ../z_tools/imgtol.com w a: helloos.img

6. 실제 디스크에 haribote.sys를 기록한다.
> copy haribote.sys a:

7. 실제 디스크 내용을 디스크 이미지로 백업한다.

8. 에뮬레이터(qemu)를 이용하여 이 디스크로 부팅한다.
> cp helloos.img ../z_tools/qemu/fdimage0.bin
> make.exe -C ../z_tools/qemu

이렇게 하면 그냥 "Booting from Floppy..."라는 메시지만 나타난다. 그러나 이제부터 OS 본체를 바꾸면 바뀐 프로그램이 로딩된다.

** 단계 3-5를 수행하려면 플로피 디스크 드라이브가 필요하다. 그러나 없다면 어떻게 해야 할까? 가상 플로피 드라이브 프로그램이 있다. Virutal Floppy Drive라는 프로그램인데 이 프로그램은 아래 사이트에서 다운받을 수 있다.

http://chitchat.at.infoseek.co.jp/vmware/vfd.html
Comments