如何编写 *** 作系统

如何编写 *** 作系统,第1张

编写 *** 作系统

.

有人可能担心自己既没有学过计算机原理,也没有学过 *** 作系统原理,更不懂汇编语言,

对C语言也一知半解,能写 *** 作系统吗?答案是没问题。我将带大家一步一步完成自己的 *** 作系统。

当然如果学一学上述内容再好不过。

首先要明确处理器(也就是CPU)控制着计算机。对PC而言,启动的时候,CPU都处在实模式状态,

相当于只是一个Intel 8086处理器。也就是说,即使你现在拥有一个奔腾处理器,它的功能也只能

是8086级别。从这一点上来讲,可以使用一些软件把处理器转换到著名的保护模式。只有这样,

我们才可以充分利用处理器的强大功能。

编写 *** 作系统开始是对BIOS控制,取出存储在ROM里的程序。BIOS是用来执行POST(Power On Self Test,

自检)的。自检是检查计算机的完整性(比如外设是否工作正常、键盘是否连接等)。这一切完成以后,

你就会听到PC喇叭发出一声清脆的响声。如果一切正常,BIOS就会选择一个启动设备,

并且读取该设备的第一扇区(即启动扇区),然后控制过程就会转移到指定位置。

启动设备可能是一个软盘、光盘、硬盘,或者其它所选择的设备。在此我们把软盘作为启动设备。

如果我们已经在软盘的启动扇区里写了一些代码,这时它就被执行。因此,我们的目的很明确,

就是往软盘的启动扇区写一些程序。

首先使用8086汇编来写一个小程序,然后将其拷贝至软盘的启动扇区。为了实现拷贝,要写一个C程序。

最后,使用软盘启动计算机。

需要的工具

● as86:这是一个汇编程序,它负责把写的代码转换成目标文件。

● ld86:这是一个连接器,as86产生的目标代码由它来转换成真正的机器语言。

机器语言是8086能够解读的形式。

● GCC:著名的C编程器。因为我们需要写一个C程序将自己的OS转移到软盘中。

● 一张空软盘:它用于存储编写的 *** 作系统,也是启动设备。

● 一台装有Linux的计算机:这台机器可以很旧,386、486都可以。

在大部分标准Linux发行版中都会带有as86和ld86。在我使用的Red Hat 7.3中就包含有这两个工具,

并且在默认的情况下,它已经安装在机器里。如果使用的Linux没有这两个工具,可以从网上下载,这两个工具都包含在一个名为bin86的软件包中。

.

http://wenku.baidu.com/link?url=CYgjm-tYrgwxnXGsu-csvcoUIvKDsa7yXgjyF6yFaeRa1abpriYzRxG9SVXc6gk-eBIiwdt0Pg9SOaWmRQ8ZV358WBIRE1mfftS8GaxlcOS

.

参考链接: http://blog.csdn.net/magictong/article/details/6164008

.

http://www.cnblogs.com/wangshuo/archive/2011/11/26/2264540.html

.

http://download.csdn.net/detail/woshiyiduoqizuo/5883187

在Windows中,可用比较“笨”的方法,你的这些数据很规整,可以把它们拷到word中,然后使之成为表格(word中有这个功能,当然Eecell中也可以)。这样处理会方便很多。

在Linux中,这根本不是问题。。。

$ grep 'SEQRES.*A.*440' 你的文件.txt >新文件名.txt

当然,根据你的文件上面的命令还要修改,只看这四行上面的命令就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7149297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存