|
brglng
银牌会员
永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『楼 主』:
DOS的进一步发展需要内核级的开发
看看现在的DOS联盟,已经如此萧条,一天到晚只是讨论着一些陈旧不变的话题和一些过时的技术。特别是这个开发版块,旧帖子时不时被顶上来,新帖子却很少出现。
与此同时,FreeDOS的发展也是异常缓慢,毫无生气与活力。
不知道是什么时候看到过的一句话:一个缺少开发者支持的系统是一个没有未来的系统(大意)。
稍有DOS使用的经验者都知道,DOS可谓限制多多,使用很不方便。其根本在于16位的内核。虽然现在通过DPMI和DOS扩展器可以使用32位程序,但是像我们经常使用的各种驱动程序、中文系统等等都还是16位的TSR程序(这些程序必须是16位TSR),虽然可以通过XMS利用更多的内存来交换数据,但程序本身的活动空间仍被限制在1M的空间以内。这无疑严重阻碍了DOS的发展。
这个问题是DOS的硬伤,我认为只要不解决这个问题,DOS就不可能有更好的发展。事实上,目前的DOS除了在一些与硬件非常接近的底层工作中以及嵌入式等领域能有一些用处之外,别的地方基本毫无用处,特别是桌面领域。
我们先来看看Win9x,它是一个运行在DOS上的操作系统。当然也有人认为它只是DOS上的一个程序。这我不讨论。无论如何,我们可以看到,Win9x可以实现真正的多任务,甚至它的驱动程序也都是32位的,当然也可以让一个程序后台运行(而且这样的后台运行完全不同于TSR,是32位的多任务机制,不受1M内存限制)。这使我联想,我们应该可以在DOS上开发一个kernel,在这个kernel上写程序,这样就可以完全突破16位的限制,开发纯32位的鼠标驱动、IFS驱动、中文系统等等,彻底抛弃TSR,不再为内存限制问题烦恼。
于是这里有两条路可走:1、兼容Win32 API,就好像现在的HX Extender所做的一样,这样开发相对会得到更多的用户支持,而且有大量软件支持,但是由于Win32 API是封闭的,而且很复杂,所以开发难度比较大,很难完全兼容。2、完全独立开发。这样开发会比较容易,但是没有在它之上运行的现成的程序,所有软件都必须重新开发。至少需要重新编译。当然我们仍然可以在这个新kernel上开发用于兼容win32 API的软件(就像Linux上的wine)。
不过我们还有第三条路,就是开发纯32位内核的DOS系统。如果它可以实现对硬件的完全直接访问,并能很好地兼容现有的各种DOS程序,当然可以称得上是一个DOS系统。目前来说,若要走这条路,参与FreeDOS-32是最佳选择(FreeDOS-32已经停滞3年多了)。
以上三条路,无论选择哪一条,都需要很高水平的底层开发,即使是前两条路,事实上也跟开发一个操作系统kernel没什么区别。而具体哪条路最好最容易成功,我不好说,但是这三条路中至少有一条是正确的道路,因为只有跨向32位才会有未来。
另外,对于DOS的国际化,也需要我们中国人的参与。中文也是国际重要语言之一啊!而若突破了16位限制,我们就可以为DOS引入Unicode,让它不仅仅支持中文,而是全世界的语言。而文字的显示需要GUI方面的技术,我们可以开发类似于Linux上X Server的东西来支持图形,而若在16位环境中,开发这样的程序是几乎不可能的。
以上个人拙见,欢迎大家讨论!但若此贴渐渐下沉,我会感到悲哀,因为那预示着DOS的真正衰落——没有人再愿意为DOS做开发。
[ Last edited by brglng on 2008-10-2 at 20:14 ]
|
32位才是DOS未来的希望
个人网志:http://sololand.moe |
|
2008-10-2 19:13 |
|
|
ysc
初级用户
积分 118
发帖 55
注册 2005-11-26
状态 离线
|
|
2008-10-4 00:14 |
|
|
netwinxp
高级用户
积分 741
发帖 366
注册 2007-7-25
状态 离线
|
『第
3 楼』:
与其费力地开发32位,不如直接用linux,后者在成熟度、驱动支持等方面要好多了,而且还有很多源代码可以借鉴。
|
|
2008-10-7 16:03 |
|
|
brglng
银牌会员
永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『第
4 楼』:
Quote: | Originally posted by netwinxp at 2008-10-7 04:03 PM:
与其费力地开发32位,不如直接用linux,后者在成熟度、驱动支持等方面要好多了,而且还有很多源代码可以借鉴。 |
|
这个问题我也想过。Linux当然很好,我自己也把Linux作为我的桌面系统。但是我觉得DOS之所以至今仍然存在,必有其不可替代的地方,比如它对硬件是直接无限制的访问,这在很多方面是有很大用处的。而在学习微机原理还有汇编等的时候,往往离不开DOS,它对我们研究计算机也是很有用的。而谁又知道转变为32位以后不能发现更多新的用途呢?一切只有靠事实来说话,我们没有去开发,没有用过,又怎么知道它到底好不好?
事实上我认为DOS目前的衰落更主要的不是它本身不够先进,而是由于微软的垄断、封闭和它对DOS的放弃支持。事实上Win9x已经很大程度地扩展了原有的DOS功能,假如它开放源代码,一定能有很大的发展。而微软不支持DOS,最终投向NT,而且也没有去开发32位DOS,由于其处于垄断地位,DOS就因此被抛弃了。
据我所知,unix最早也是一个16位操作系统,是在32位处理器出现以后才有了32位的unix。而这个时候微软并没有去开发32位DOS,而是投向了OS/2和NT,DOS的源代码也不公开,DOS因此而衰落了。
[ Last edited by brglng on 2008-10-9 at 15:48 ]
|
32位才是DOS未来的希望
个人网志:http://sololand.moe |
|
2008-10-9 15:38 |
|
|
netwinxp
高级用户
积分 741
发帖 366
注册 2007-7-25
状态 离线
|
『第
5 楼』:
我想问一个问题,现在我们用DOS都用了它那些功能?
图形?基本靠直接写屏。
内存?没有DOS的话能访问更多,而且想让谁驻留就让谁驻留,一点麻烦都没有。
磁盘?现在对FAT/FAT32的访问基本不需要靠DOS了。
说句实在话想要自由度,直接用引导程序调用你的BIN程序更方便,而且保护模式与实模式的切换变得简单多了,还更不容易冲突和关键数据段重入。DOS其实主要也就INT 21H而已,而它现在几乎没用。
linux你可以让你的程序运行在KRNL里面,等于没有限制的32位甚至是64位系统,还有许多源代码可以“抄袭”,比windows的"堆积木"更有成就感。
PS:随着内存突破4G、硬盘即将达到2T以上(传统的分区表架构已经面临被GPT取代),使用64位系统的必要性越来越迫切,32位DOS就算开发出来,也马上面临淘汰的境界。
[ Last edited by netwinxp on 2008-10-9 at 22:09 ]
|
|
2008-10-9 21:52 |
|
|
xugaohui
高级用户
积分 774
发帖 293
注册 2003-4-16 来自 湖北仙桃
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by brglng 别的地方基本毫无用处,特别是桌面领域。 |
|
恰好桌面领域需要用dos,用这个环境升级刷新主板bios,包括服务器主板。现在也用在windows下升级bios的,但在dos下升级主板bios的更多一些,不太会用dos的也是在dos下升级主板bios。如果以后的主板无法在dos下升级bios了。那dos将真正的淘汰。
|
下载
09年7月7日 更新
感谢网友 囧HQY 提供空间 |
|
2008-10-10 01:36 |
|
|
brglng
银牌会员
永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『第
7 楼』:
关于64位,我也有过考虑。很有可能在不久的未来,处理器不再支持16位,那现今的DOS就真正灭亡了。
可是,别看DOS在国内不受关注,在国外还是有相当的人(当然不可能够Linux这么多)在为DOS做开发。另外像Linux上面也有DOSBOX这种模拟软件。这就说明DOS还是有很多用处。
我始终觉得,DOS至今仍未完全消失,肯定有其不可替代的地方。就像楼上所说的升级BIOS。这只是一个例子。
况且DOS也曾是常用的桌面系统,就说明使用DOS作为桌面系统并不是不可能。
对于64位,我觉得只要开发出了32位,开发64位也不是不可能。
最后我还是想强调,你没有用过32位的DOS,怎么就能知道它到底好不好?就好像只用Win从来没有用过Linux的人也不会知道Linux比Windows先进在哪里。
|
32位才是DOS未来的希望
个人网志:http://sololand.moe |
|
2008-10-11 12:32 |
|
|
ecurb2006
中级用户
www.ecgui.com
积分 272
发帖 123
注册 2006-9-23
状态 离线
|
『第
8 楼』:
>而文字的显示需要GUI方面的技术,我们可以开发类似于Linux上X Server的东西来支持图形,而若在16位环境中,开发这样的程序是几乎不可能的。
不是不可能啦,呵呵。我们已经做出来了。
|
eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
|
|
2008-10-11 13:56 |
|
|
tangtai
高级用户
积分 640
发帖 314
注册 2006-8-13
状态 离线
|
|
2008-10-11 14:14 |
|
|
xiaoyunwang
高级用户
积分 939
发帖 374
注册 2007-10-17 来自 湖南张家界
状态 离线
|
『第
10 楼』:
ms-dos 6.22 不是有源代码吗/,微软连 Windows 的源代码都给了北京政府呢/,那位黑客把它弄出来。
[ Last edited by xiaoyunwang on 2008-10-11 at 15:41 ]
|
|
2008-10-11 15:39 |
|
|
netwinxp
高级用户
积分 741
发帖 366
注册 2007-7-25
状态 离线
|
『第
11 楼』:
Quote: | Originally posted by brglng at 2008-10-11 12:32:
关于64位,我也有过考虑。很有可能在不久的未来,处理器不再支持16位,那现今的DOS就真正灭亡了。
可是,别看DOS在国内不受关注,在国外还是有相 ... |
|
目前的桌面型CPU,是AMD64(X86-64兼容它的标准),它本身就兼容64/32/16位,那个啥都不兼容的IA64就不提了。
32位DOS是不是要用保护模式?那保护模式里面运行DOS程序该用8086虚拟模式吧,很可惜的是它对I/O等特权指令有很大的限制,于是所谓的可以直接访问硬件的方便没了,另外原来实模式的BIOS中断服务,现在可没法直接使用了...等等等等都会令原来的方便全没了,那这样还应该叫DOS32吗?
其实LZ的设想绝大部分都已经在WIN9X里面有了,当然它对硬件访问也作了稍微的限制。一个功能强大且比较稳定的系统必然会导致更多的限制,比如我们用I/O级的程序基本上全由程序作主,几乎没有限制;用居于BIOS中断的程序就需要遵守BIOS中断调用的规定;用DOS连内存的安排都得由DOS来,别搞得常规内存不足运行不了,编个中断还得防止重入问题......
[ Last edited by netwinxp on 2008-10-13 at 00:06 ]
|
|
2008-10-13 00:05 |
|
|
brglng
银牌会员
永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
|
2008-10-29 13:06 |
|
|
brglng
银牌会员
永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
|
2008-11-8 13:17 |
|
|
zyjailww
新手上路
积分 6
发帖 2
注册 2008-11-11
状态 离线
|
『第
14 楼』:
与其费力地开发32位,不如直接用linux,后者在成熟度、驱动支持等方面要好多了,而且还有很多源代码可以借鉴。
|
|
2008-11-12 15:57 |
|
|
lofe811
初级用户
积分 96
发帖 32
注册 2006-4-15
状态 离线
|
|
2008-11-16 22:41 |
|