自己开发电脑系统,自己开发电脑系统的软件
汇编和C语言
因为你知道最开始计算机运行在实模式下,整台机器由BIOS控制,所以你的任务主要就是先用汇编写一个loader(对的,就像lilo或者grub一样 ;p),用于从实模式跳到保护模式,然后加载你操作系统的内核,最后把控制权交给操作系统。当然你的loader需要是纯二进制,不能是其他的可执行文件格式例如ELF格式等等。
接下来就是操作系统内核的实现了,这个比较复杂,开始的页式储存等恐怕多半要用汇编完成,其后的多任务,文件系统或者是硬盘驱动就可以用纯C写了,要是你写一个宏内核还比较好实现些,微内核光看逻辑脑袋就大了,比较难实现的就在内核上。
具体的实现我也不明白,现在正在复读呢没空搞这个,曾经只写过一个由实模式跳转到保护模式的汇编程序,扩展了下下改成了500来行操作点显存还出了点问题,你要感兴趣自己动手试试吧,挺有意思的。
至于开发方式当然就是那么开发了,我汇编编译器用的nasm,C编译器用的gcc,其他的用到gdb和objdump等等,当然你也可以自己用自己喜欢的开发环境啦,适合就好。
至于虚拟机我都用qemu的,很多人都喜欢用bochs来运行调试自己写的操作系统,不过我编译bochs的时候不知道怎么少了一些库,于是就用了qemu了,编译大约十几分钟,别忘了./configure --help看看调试选项把它打开,要不然你的虚拟机只能运行不能调试你的操作系统的,调试的感觉和gdb差不多撒。
顺便做个广告,编辑器推荐vim,操作系统推荐使用slackware linux,感觉比fedora或者ubuntu等等发行版给力多了,分区格式推荐reiserfs,秒杀ext* ;p
顺便能不能多加点分呀 :D
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。