给做到光盘上去,可以引导的,用他来装就是了,
或者,找个工具来,把他给做到U盘上,用U盘来引导,安装……
还有live的,live cd,live usb的都可以,直接在这些设备上引导的,类似pe了,
只要你学过汇编和C,只满足于写个“简单的 *** 作系统",一两天就能搞定。随便把你写过的小程序,用直接写硬盘软件(或者自己编一个,调用winapi的WriteFile函数就可以),写进硬盘/U盘引导区。记住,起始地址是7c00。
这就好了。注意,引导区只有440个字节给你用,程序不能太大,所以这部分基本要用汇编写。440字节后面是硬盘/U盘分区信息,不可以乱动。乱动以后bios可能没法识别硬盘/U盘。
引导区最后两个字节必须是55AA,不过一般你不用管,硬盘/U盘格式化的时候都已经给你写好了。
这样你的程序就在开机的时候直接运行了。
想调用大程序也没问题,你需要写个不超过440字节的程序,负责把第二个扇区的内容载入内存并执行,由第二个扇区的代码负责把所有代码载入内存。后面的部分用C写或者别的高级语言写都没什么问题了。
至于你想要具体作什么,就写什么,屏幕上画个画,管管硬盘上的文件,和用户互动一下,你随意。和你平常写程序没啥两样。总之一个能完成任务的简单 *** 作系统就完事了。
最多几天时间你就能搞定。这差不多能搞个接近dos1.0的“简单 *** 作系统”。
不过接下来才是你真正要学的。例如文件管理,内存管理,保护模式,进程管理啥的。麻烦归麻烦,但解放了自由了,终于可以编写内核态才准用的代码了,做的事情全部都是用户态下面不让做的事情。 *** 作系统的学习,从这里才算真正开始。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)