드디어 최초 프로세스를 통해 Hello World를 찍었네요.
안녕하세요 Geeks_Company 입니다.
드디어 찍었네요.
http://www.codeproject.com/Articles/36907/How-to-develop-your-own-Boot-Loader#_Toc231383167
코드 프로젝트를 따라 하면서 적은 내용입니다.
그렇게 궁금해 하던 운영체제가 최초의 프로세스를 통해서 생성 된 것이라고 생각 하니 참 싱겁네요.
이제 슬슬 시간 날때마다 POSIX, ANSI, MINIX쪽을 두런두런 봐야겠습니다.
결국은 다시 프로그래밍이네요.
짧게 나마 문서를 보충 설명 드리자면,
MS-DOS 이미지 ISO를 구해서 CD로 부팅을 한후, FDISK를 통해서 파티션을 나눠야 합니다.
간만에 보는 MS-DOS 의 FDISK 이네요.
이렇게 해서 파티션을 설치 한 후 부팅을 하면 운영체제가 없다란 메시지가 나옵니다.
정말 간만에 보는 Missing operating system 메시지 이네요.
도스 사용할 때 저 메시지 시도 때도 없이 뜨고 그랬었는데, 이제 추억이 되었네요.
자 그럼 부팅된 VM 파일을 찾아서 들어갑니다.
저의 경우 위의 2메가 파일을 직접 HEX 에디터로 열어서 고쳤습니다.
Missing operating system 를 search 하니,
위와 같은 결과가 나옵니다.
제 추측으로 운영체제가 없습니다란 메시지 역시, 최초의 print 함수를 구현한 메시지가 아닌가 합니다.
이제, 위의 Code project를 따라하시기전에 Main 함수를 바꿀 필요가 있습니다.
이제 이 함수를 링크된 Code Project 파일의 컴파일 방식을 따라 하게 되면,
요런 파일이 생성되며,
사이즈는 448 바이트 입니다. First sector 512 보다 작으므로, 직접 first sector 에 덮어 씌워도 됩니다.
이제 MS-DOS VM 파일에 이부분을 덮어 씌어 보겠습니다. 참고로 시작주소는 30000 입니다.
자 이제 vm 시작해서 수정된 파일을 실행 시킵니다.
최초 프로세스를 통해서 Hello World 를 찍었네요.
긴글 읽어주셔셔 감사 합니다.
'컴파일러 & 운영체제' 카테고리의 다른 글
DOSBOX SVN 빌드 관련 파일들입니다. (0) | 2016.11.07 |
---|---|
C# 3.0 Grammar 입니다. (0) | 2014.02.12 |
SQL 파서. (0) | 2012.01.15 |
MSDN 에서 나온 GfnCompiler 입니다. (0) | 2012.01.11 |
PK / FK 추가. (0) | 2011.11.16 |