中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 17:42
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [原创]操作系统之实现篇 查看 2,936 回复 16
楼 主 [原创]操作系统之实现篇 发表于 2003-10-08 00:00 ·  中国 河北 石家庄 电信
中级用户
★★
疯狂的流浪者
积分 276
发帖 56
注册 2003-09-25 00:00
22年会员
UID 10329
性别 男
状态 离线
em07]呵呵,诸位,其实这个很简单的啦!我记得我在一开始接触电脑的时候就一直在想做一个操作系统!但是那个时候没有人教啦,很苦闷!但是我不想大家一起老是苦恼,那样的话,我们的操作系统老也出不来了,呵呵!
OK,下面我告诉大家如何去实现一个操作系统!
第一步,大家最困惑的可能就是如何实现一个自引导的程序罢?!其实,自引导的实现原理很简单的,在软盘的0磁道1扇区的最后2字节写成55AA(16进制),然后呢,前面的字节写成机器代码,那么计算机就执行了!注意,调用中断的时候不要调用DOS软中断,否则会死机,因为这个时候我们是脱离任何操作系统的,那些中断我们还没有填写,呵呵!
第二步,当然是要自己设计一个磁盘文件系统格式啦,以便于管理磁盘!初学者注意啦,文件夹实际上设计成指针就行了,因为在磁盘文件系统上文件夹是一个动态变化的
结构,每个文件夹下都存了很多指针,指向其他文件或文件夹所在的地址!
第三,如何实现进程调用!其实在实模式下,很简单的,你可以从磁盘文件中获得
机器码,然后读入内存(这时候要记住内存地址,包括CS,IP),然后用PUSH指令
和RET指令啦,代码就被调入内存啦,如果不是非法指令,他就会顺利执行,呵呵!
OK,操作系统最重要的东西已经实现了,即文件系统和进程装载器啦!其实这些东西在我的机器上已经实现了,不过还很雏形,还不如DOS好用!
其实好多资料我都是在网络上找到的,然后看啊,做实验啊,最后再自己设计的!可惜一切都是我自己实现的,没有人和我合作。。。。。。。。。痛苦 。。。。。。。
临河居士
http://www.xygod.pc5.org
2 发表于 2003-10-08 00:00 ·  中国 河北 石家庄 电信
中级用户
★★
疯狂的流浪者
积分 276
发帖 56
注册 2003-09-25 00:00
22年会员
UID 10329
性别 男
状态 离线
补充两句,获得机器代码呢,我用的是ULTRA EDIT!其实只要懂得MZ文件格式就OK啦,用
DEBUG也行啊,如果你不闲累的话!
临河居士
http://www.xygod.pc5.org
3 发表于 2003-10-09 00:00 ·  中国 湖北 武汉 联通
高级用户
★★
积分 677
发帖 194
注册 2003-09-13 00:00
22年会员
UID 9778
性别 男
状态 离线
如果这样的话 xy_god 你写一个主引导区病毒是很简单的事情了!
实际上有些软件如《还原精灵》、还有多系统引导等等这些软件都改写了主引导区,先把主引导区的内容搬到别处去,(或者是用一个跳转指令执行完后在回来),执行完自己的代码在执行主引导区的代码!
4 发表于 2003-10-10 00:00 ·  中国 河北 石家庄 桥西区 联通
中级用户
★★
疯狂的流浪者
积分 276
发帖 56
注册 2003-09-25 00:00
22年会员
UID 10329
性别 男
状态 离线
其实我当初学这些东西的动力之一也 就 是 作个病毒之类的东东啦!
临河居士
http://www.xygod.pc5.org
5 发表于 2003-10-10 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
22年会员
UID 7953
性别 男
状态 离线
如果你做的操作系统和 DOS 兼容,那么就不用愁“没有人和我合作”...

要不就像 Unix 刚开始一样艰难。
Somehow somewhere I've got to choose.
No matter if it is win or lose.
6 发表于 2003-10-10 00:00 ·  中国 湖北 武汉 联通
高级用户
★★
积分 677
发帖 194
注册 2003-09-13 00:00
22年会员
UID 9778
性别 男
状态 离线
实际上一个人写个操作系统几乎是不可能的!
我看 xy_god 还处于《帝国之罗马复兴》的做住房到30%的阶段!
7 发表于 2003-10-11 00:00 ·  中国 福建 福州 电信
元老会员
★★★
农民
积分 2,903
发帖 991
注册 2003-07-23 00:00
23年会员
UID 7391
性别 男
来自 福建省
状态 离线
呵呵,大家对操作系统应该都会有兴趣吧,可以一起讨论呢。
另外,楼上的好象挺喜欢玩帝国的,不知道会不会玩征服者啊。
艰难奋长戟,万古用一夫

中国DOS联盟 http://www.cn-dos.net 欢迎大家来共同学习
我的MSN&E-Mail cn_archer@hotmail.com QQ 56049418
8 发表于 2003-10-13 00:00 ·  中国 湖北 武汉 联通
高级用户
★★
积分 677
发帖 194
注册 2003-09-13 00:00
22年会员
UID 9778
性别 男
状态 离线
有空到浩方对战平台,打一场阿!
http://www.cga.com.cn
我的名字是IkillGame
9 发表于 2003-10-25 00:00 ·  中国 湖南 长沙 电信
初级用户
★★
积分 255
发帖 54
注册 2003-10-24 00:00
22年会员
UID 11864
性别 男
状态 离线
做吧做吧,这个世界,没有什么不可能的(楼上的别介意啊^_^) 有什么需要帮忙的尽管说,大家一定会给你做主的!!
10 发表于 2003-10-26 00:00 ·  中国 河北 石家庄 电信
中级用户
★★
疯狂的流浪者
积分 276
发帖 56
注册 2003-09-25 00:00
22年会员
UID 10329
性别 男
状态 离线
恩,我现在正在写鼠标驱动,好不容易找到写资料和全是E文的,只好自己翻了!
临河居士
http://www.xygod.pc5.org
11 发表于 2003-10-27 00:00 ·  中国 湖南 长沙 电信
初级用户
★★
积分 255
发帖 54
注册 2003-10-24 00:00
22年会员
UID 11864
性别 男
状态 离线
加油啊^_^
12 发表于 2003-10-27 00:00 ·  中国 北京 科技网
银牌会员
★★★
颓废青年
积分 2,265
发帖 721
注册 2003-05-12 00:00
23年会员
UID 2032
性别 男
状态 离线
高手!
13 发表于 2006-03-12 22:27 ·  中国 河南 新乡 电信
新手上路
积分 18
发帖 5
注册 2006-03-12 21:05
20年会员
UID 51892
状态 离线
我佩服你,敬重你
14 发表于 2006-03-14 07:32 ·  中国 上海 东方有线
中级用户
★★
积分 255
发帖 57
注册 2003-06-26 00:00
23年会员
UID 5927
性别 男
状态 离线
有本书叫《自己动手写操作系统》,我买了,还行,就是没空看,建议大家也到书店翻翻。
15 发表于 2006-03-17 13:18 ·  中国 江苏 苏州 姑苏区 电信
初级用户
积分 46
发帖 21
注册 2006-03-08 22:23
20年会员
UID 51619
性别 男
来自 中华人民共和国
状态 离线
引导程序是最容易搞的,连我都会!
我的电脑的引导程序是自已搞的,电脑上装了
MS-DOS 6.22
Windows 98
Windows XP
Fedora Core 2
论坛跳转: