第一次看到试验操作系统运行起来,我很高兴.毕竟,3个月来,我将大部分业余时间用在它上面.不管好坏,它终于将要完成了.
也许有人要问,我为什么要编写一个试验操作系统,而不直接编写正式的操作系统呢?这是因为操作系统这样的软件不同于一般的软件,一旦定向,就很难对结构进行改变,我们需要等待设计思想的成熟,我们也要等待开发小组的壮大和小组成员经验的积累.
作为开发项目的发起人,我有责任为大家开发试验操作系统0.1版.这些日子以来,许多朋友的来信激励着我,尽管大部分人在一两次通信后便终止了来往,还是有个别朋友始终坚持和我保持通信,由于,编程等事务太耗费时间,我的回信很不及时,经常不回信,在这里我请他们原谅.
在开发试验操作系统0.1时,我没有使用oskit作为开发的组件,因为如果使用了现成的模块,我将无法从头体验开发一个操作系统的过程.我的开发工具是djgpp,也就是gcc,nasm作为汇编语言,一些小过程,使用gcc自带的汇编gas,它是AT"amp;T风格的汇编语言.试验操作系统包括引导纪录boot,核心kernel,和一个用于将试验os0.1写入软盘的小程序.其实我很想使用netboot,还是等以后吧.试验操作系统以后的版本也不打算从硬盘引导,那并非难事,是怕一旦把某个朋友的硬盘整出故障了,启不招人恨?(我就曾经亲手毁了自己的硬盘,至今想起来,都恼火)0.1版尽管很简陋,它也包括了保护模式多任务操作系统的一些必备特征,在引导后,建立全局描诉符表gdt,中断描诉符表idt...,初始化中断过程,启动一个很简单的shell等,为了省事,我的许多地方的处理都很不标准.即使如此,我发现如果按照我以前的设想,11月我也完成不了程序.我想砍去许多设想的和完成一半的功能,提早发布程序.
|