返回第182章 操作系统计划(下)  黑客传说首页

关灯 护眼     字体:

加入书签 上一页 目录 下一页

请认准"下载楼"官方域名 http://www.daxingwx.net
    第182章 操作系统计划(下) (第2/3页)

所以它还有一个功能将系统从16位的实模式跳转进入32位的保护模式。

    电脑刚启动的时候,程序的指针ip是指向bios程序地,所以首先执行的是bios系统,它负责监测系统地所有资源,并把状态,如内存大小、硬盘有多少等等,存入内存中指定的位置,在bios的最后,它会检查所有可以启动的磁盘设备,如果找到要启动的磁盘的第0磁道,第一个扇区地511和512字节写着0x55和0xaa数据。bios就会将该扇区的512字节内容复制进内存的ox7c00处,并跳转到该处执行。这也就是为什么所有磁盘的第0磁道的第一扇区为启动扇区的原因,如果该扇区出现了物理损坏,那么这个磁盘将永远无法作为启动盘使用。

    简单来说,bootloaen程序地作用就是充当中间联络人,将操作系统“请”到内存当中去执行。

    由于许毅用的编译器是gcc,而gcc并不能直接生成16位的代码,所以许毅只能用汇编语言来编写这个bootloaen了,等机器进入32位的保护模式之后,许毅再用c语言来开发其他内核代码。

    实际上,有了这个程序,就能够将系统启动了。可以在里面直接通过中断来操作显卡,例如直接往显存地址中移进去一个字母中,显示器中就会打印出这个字母,这相当于是一个最为简单的操作系统了,只不地这个操作系统能够完成的功能非常简单,只是在显示器中显示一个字母b而已。但是,这个就已经可以在裸机上成功运行了。要想复杂一点,就是另外编写内核代码,用一个跳转语句,跳到内核代码的入口地址,这样就可以进入其他操作了。

    许毅已经有这样的简单系统的编写经验,所以现在编写起来也是轻车熟路的,一路编写下来,基本上没有遇到什么大的阻碍,只是偶尔有些地方忘记了一些细节,到网络上查到了相关资料就搞定了。

    只有见到实在的东西才能够调动大家的积极性。

    许毅最后不但在里面实现了文件系统,还完成了最基本的图形界面,支持ps2鼠标,技能vega20另外还支持符合inos标准的16位bp格式,支持标准101键盘,中英点阵字库和800600的16位色显模式,最后,许毅甚至在里面实现了一个简单的推箱子游戏

    许毅在虚拟机中运行着这个小型操作系统,四步完成那个拄箱子游戏,心中颇有成就感。

    总得来说,这个操作系统已经初具雏形,文件系统、内存管理、中断调用、gt、it等等全部都已经实现。

    许毅在黑客学院专门新开辟了一个操作系统专区,悄悄地将这个命名为stuoss的操作系统源

    (本章未完,请点击下一页继续阅读)
请认准"下载楼"官方域名 http://www.daxingwx.net

加入书签 上一页 目录 下一页