标题: [原创]操作系统之实现篇
[打印本页]
作者: xy_god
时间: 2003-10-8 00:00
标题: [原创]操作系统之实现篇
em07]呵呵,诸位,其实这个很简单的啦!我记得我在一开始接触电脑的时候就一直在想做一个操作系统!但是那个时候没有人教啦,很苦闷!但是我不想大家一起老是苦恼,那样的话,我们的操作系统老也出不来了,呵呵!
OK,下面我告诉大家如何去实现一个操作系统!
第一步,大家最困惑的可能就是如何实现一个自引导的程序罢?!其实,自引导的实现原理很简单的,在软盘的0磁道1扇区的最后2字节写成55AA(16进制),然后呢,前面的字节写成机器代码,那么计算机就执行了!注意,调用中断的时候不要调用DOS软中断,否则会死机,因为这个时候我们是脱离任何操作系统的,那些中断我们还没有填写,呵呵!
第二步,当然是要自己设计一个磁盘文件系统格式啦,以便于管理磁盘!初学者注意啦,文件夹实际上设计成指针就行了,因为在磁盘文件系统上文件夹是一个动态变化的
结构,每个文件夹下都存了很多指针,指向其他文件或文件夹所在的地址!
第三,如何实现进程调用!其实在实模式下,很简单的,你可以从磁盘文件中获得
机器码,然后读入内存(这时候要记住内存地址,包括CS,IP),然后用PUSH指令
和RET指令啦,代码就被调入内存啦,如果不是非法指令,他就会顺利执行,呵呵!
OK,操作系统最重要的东西已经实现了,即文件系统和进程装载器啦!其实这些东西在我的机器上已经实现了,不过还很雏形,还不如DOS好用!
其实好多资料我都是在网络上找到的,然后看啊,做实验啊,最后再自己设计的!可惜一切都是我自己实现的,没有人和我合作。。。。。。。。。痛苦 。。。。。。。
作者: xy_god
时间: 2003-10-8 00:00
补充两句,获得机器代码呢,我用的是ULTRA EDIT!其实只要懂得MZ文件格式就OK啦,用
DEBUG也行啊,如果你不闲累的话!
作者: QB45
时间: 2003-10-9 00:00
如果这样的话 xy_god 你写一个主引导区病毒是很简单的事情了!
实际上有些软件如《还原精灵》、还有多系统引导等等这些软件都改写了主引导区,先把主引导区的内容搬到别处去,(或者是用一个跳转指令执行完后在回来),执行完自己的代码在执行主引导区的代码!
作者: xy_god
时间: 2003-10-10 00:00
其实我当初学这些东西的动力之一也 就 是 作个病毒之类的东东啦!
作者: iceboy
时间: 2003-10-10 00:00
如果你做的操作系统和 DOS 兼容,那么就不用愁“没有人和我合作”...
要不就像 Unix 刚开始一样艰难。
作者: QB45
时间: 2003-10-10 00:00
实际上一个人写个操作系统几乎是不可能的!
我看 xy_god 还处于《帝国之罗马复兴》的做住房到30%的阶段!
作者: cn_archer
时间: 2003-10-11 00:00
呵呵,大家对操作系统应该都会有兴趣吧,可以一起讨论呢。
另外,楼上的好象挺喜欢玩帝国的,不知道会不会玩征服者啊。
作者: QB45
时间: 2003-10-13 00:00
有空到浩方对战平台,打一场阿!
http://www.cga.com.cn
我的名字是IkillGame
作者: 凌晨一点
时间: 2003-10-25 00:00
做吧做吧,这个世界,没有什么不可能的(楼上的别介意啊^_^) 有什么需要帮忙的尽管说,大家一定会给你做主的!!
作者: xy_god
时间: 2003-10-26 00:00
恩,我现在正在写鼠标驱动,好不容易找到写资料和全是E文的,只好自己翻了!
作者: 凌晨一点
时间: 2003-10-27 00:00
加油啊^_^
作者: hunome
时间: 2003-10-27 00:00
高手!
作者: lghseaman
时间: 2006-3-12 22:27
我佩服你,敬重你
作者: hj_18
时间: 2006-3-14 07:32
有本书叫《自己动手写操作系统》,我买了,还行,就是没空看,建议大家也到书店翻翻。
作者: yk141
时间: 2006-3-17 13:18
引导程序是最容易搞的,连我都会!
我的电脑的引导程序是自已搞的,电脑上装了
MS-DOS 6.22
Windows 98
Windows XP
Fedora Core 2
作者: hj_18
时间: 2006-3-23 12:35
给个下载地址:
http://www.itpub.net/504398.html
作者: jawbin
时间: 2006-3-29 12:28
老帖子?楼主在否?不知进展如何?鼠标驱动?厉害,我最近也想知道点驱动,不知可否讨教?为什么不用现成的驱动?