无意中连到纯C论坛,此处的OS试验很火,还有若干个正在开发中的试验性OS.论坛上各个充满了学习的热情,仿佛一夜之间,全民都写操作系统了.google了一下,才发现网上开源的OS项目多如牛毛.不过我觉得,要学习OS,看看Linux早期内核的源代码足以掌握大方向.
操作系统是什么,比较特殊的软件而已..写OS的第一步是什么,写一个OS Loader.网上有很多例子了.Linux0.11的bootsect.s也是.Loader的要求是512字节,最后两个字节是0xAA,0x55,整个文件是纯二进制代码,就是说不能有可执行文件头,比如不能是PE格式的exe.
也是一时好奇,从网上找了个源代码就用nasm编译了一下得到bin文件,在VMware下指定为启动软盘,瞪大眼睛激动di等了one moment,没反应.正好这几天试各种虚拟机,bochs就在旁边.把bin指定为软盘,启动,OK.
bochs还是挺强的,就是效率比较低,用它来跑windows肯定是生命中不能承受之慢. 不过用来模拟调试一些轻量级OS挺爽的.比如,我就用它模拟了一个dos6.22,在里面测试黑皮书上保护模式的例子,还有一些传说中的dos病毒:) OS developer大概也会喜欢的