|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『楼 主』:
我提议有人牵头建立 DOS 内核开发项目
[已使用 LLM 解释]
先说明本贴为什么要发在本版。本来想在开发室发帖,但是,我本人较少去开发室;这是其一。更重要的,开发室都是在讨论 DOS 之下的开发,极少讨论 DOS 本身的内核的开发。另外,“DOS 内核” 和 “启动盘” 是密切相关的,因此,我觉得,在这里发帖比较合适。
-----------------------
DOS 已经有许许多多种了,有必要再建立一种 DOS 吗?多年以来,我也是有这么一个观念,所以,才一直没有主张建立一个新的 DOS;即便曾经在 FreeDOS 网站上看到招募 FreeDOS 管理者的公告,我也不曾想过要建立一个新的 DOS,或者去应聘管理 FreeDOS。
但是现在,我确实觉得有必要建立一个新的 DOS 了。原因主要有以下三点:
1、FreeDOS 的开发处于停顿状态,根本满足不了日渐增多的 DOS 需求和应用。在 FreeDOS 之后又诞生了若干种 DOS,这就是最好的证明。
2、FreeDOS 号称与 MS-DOS 100% 兼容,但遗憾的是,它并非 100% 兼容的。现今的工业标准 DOS 就是微软的 Win98 里面的 DOS。FreeDOS 远远不能代替这个 DOS,因此,它根本就是不理想的。
3、其它还有许多 DOS,但是竟然没有一个是把 “全面兼容微软的 DOS” 当作一个目标去做的。
因此,我觉得有必要建立一个新的 DOS,这个 DOS 的主要任务就是全面兼容微软的 DOS,并且可以替换掉微软的 DOS(比如说,在它之下敲入 win 就可以启动 Win98)。
-----------------
我们开发一个新的 DOS 是有可能的。DOS 虽然复杂,但比起 Windows 来,要简单得多。现存的许多项目中都有 DOS 的身影。比如 Wine, DOSEMU, DOSBOX, ReactOS, FreeDOS, NX-DOS 等等,这些都是开放源码的软件。我们还有微软的 DOS 躺在那里检验我们是否做到了兼容性。这都是有利条件。更重要的,我们有论坛上大量高素质的 DOS 人才在,这是难得的宝贵资源。
-----------------
开发 DOS 内核,可以大大提高开发者的技术水平,更多地发现微软的技术秘密。这无论对老手还是新手,都有着不可估量的作用。
-----------------
开发 DOS 内核是有意义的。DOS 是一个成熟的、简单的操作系统,它的历史很长。DOS 是不可能消亡的,这是由它的成熟度、简单性决定的。这就是它的内在美。DOS 和 BIOS 珠联璧合共同锻造了 PC 历史,因此,它有着雄厚的基础,它是不会在一夜之间就退出历史舞台的。你不可能消灭一个内涵和外延都很丰富的东西。当今的舞台上尽管有 Windows 和 Linux 在表现,但是,它们不能代表世界的全部。DOS 好像是一种纽带,它把不同的东西联系在一起。Linux 之下早就有成熟的 DOS 仿真器,Win9x 更是一个 DOS 下的应用程序。即便那日夜渴望消灭 DOS 的微软,也不得不在它最新版的 Windows 中继续保留 DOS 的一席之地。世界离不开 DOS,我们更离不开 DOS!
----------------------
好了,废话不说。我希望大家能够关注、讨论这一话题,这是我今天提议的目的。我本人不能担负这个任务(我有别的事情在做),否则,我是不会让给别人的:-)。希望志同道合者认真考虑这一问题,勇于担负起这个重任,本人会竭尽全力支持您的!
Last edited by 不点 on 2007-1-6 at 05:31 AM ]
LLM 解释
技术背景与可行性分析
2007年提出“新DOS内核开发”的需求,核心源于当时DOS生态的兼容性缺口与FreeDOS的发展局限,这一需求在技术层面具有明确的合理性,但需结合历史背景与技术前提理解其边界:
1. FreeDOS的“兼容不足”与开发停滞
FreeDOS在2000年代初的开发节奏放缓(2006年发布0.7版后,直到2012年才推出1.0正式版),其兼容性问题主要源于:
-
未完全复现MS-DOS的未文档化行为:MS-DOS(尤其是Win9x内置的7.x版本)存在大量因历史兼容或bug形成的“隐式规范”(如某些中断的非标准返回值、内存布局的特殊约定),FreeDOS作为独立实现难以100%覆盖;
-
硬件适配滞后:对当时新兴的大硬盘(>137GB)、USB设备等支持依赖第三方驱动(如DUSE),未内建于内核,导致用户需手动加载且占用基本内存;
-
命令行工具的细节差异:如原帖提到的
copy零字节文件、dir显示缓慢,实际是FreeDOS命令解释器(COMMAND.COM)对MS-DOS内部命令的实现细节(如缓存策略、错误处理逻辑)未完全对齐。
2. “全面兼容Win98 DOS”的技术挑战
原帖目标“替换Win98内置DOS并支持启动Win98”的核心难点在于:
-
Win98 DOS的特殊定位:Win98的DOS模式并非独立OS,而是Windows 9x实模式引导层(包含对保护模式组件的预加载逻辑),其内核与Windows的VxD驱动、32位文件系统(如VFAT)存在深度耦合;
-
内存管理差异:MS-DOS 7.x支持扩展内存(XMS)、高端内存(HMA)的非标准利用方式(如将部分内核代码加载到HMA以节省常规内存),新内核需精确复现这些内存布局才能被Win98的保护模式加载器识别;
-
硬件抽象层依赖:Win98 DOS依赖微软专有BIOS扩展(如对IDE控制器的增强访问),第三方内核难以完全兼容这些非公开接口。
3. 可借鉴的现有资源与后续发展
原帖提到的FreeDOS 32(实际为FreeDOS的32位扩展项目)、ReactOS(开源Windows兼容项目)等资源,确实为新DOS开发提供了参考:
-
FreeDOS的基础框架:其内核(KERNEL.SYS)已实现DOS的核心中断(如21h文件服务、25h绝对磁盘读写),后续可基于此补充MS-DOS特有的中断子功能;
-
ReactOS的实模式组件:ReactOS的引导加载器(NTLDR兼容层)包含对MS-DOS实模式的模拟逻辑,可参考其对MS-DOS系统调用的兼容性处理;
-
社区后续实践:2010年后,FreeDOS通过社区维护逐步改善了兼容性(如1.2版内建USB支持、优化长文件名处理),部分解决了原帖提出的问题,但“完全替换Win98 DOS”仍未实现——这一目标本质上需依赖对微软闭源接口的逆向工程,受法律与技术文档限制难以完全达成。
4. 历史误解的澄清
原帖中“FreeDOS开发停顿”的判断在2007年是客观的,但需注意:FreeDOS的“停顿”更多是开发节奏放缓而非终止,其社区始终在维护更新;而“其它DOS未以兼容MS-DOS为目标”的说法不准确——如NX-DOS、ROM-DOS等商业DOS均以MS-DOS兼容为核心卖点,只是因市场萎缩未广泛普及。
结论
原帖提出的“新DOS内核开发”需求在技术上具有合理性,其核心价值在于填补FreeDOS与MS-DOS 7.x之间的兼容性缺口;但“全面替换Win98内置DOS”的目标因微软闭源接口的耦合性,在无逆向工程支持的前提下难以完全实现。后续FreeDOS的发展已部分验证了“基于现有开源框架优化兼容性”的可行性,而原帖对DOS“内在美”与“不可替代性”的判断,也符合DOS在嵌入式系统、硬件调试等场景的长期存在价值。
|

因为我们亲手创建,这个世界更加美丽。 |
|
2007-1-6 05:26 |
|
|
zqlcch
初级用户
 
积分 178
发帖 85
注册 2006-7-6
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
困难但是期待,想当年在DOS流行的时代了解DOS内核的高手是相当多的,看当时汉字操作系统百花齐放的情况就知道了。
但最最令人可惜的是当时中国的开发者们始终没有长远的目光,只喜欢去搞那些当时最有“钱途”的汉字操作系统,结果M$ 中文版Windows发布以后就通通XXOO了,沦为垃圾。
当年的Windows 3.x的体系并不复杂,但M$就是在这种并不复杂的体系上慢慢发展,终成为图形界面操作系统的一代霸主,可叹国人啊。
语无伦次,徒发感慨罢了。。
|
|
2007-1-6 11:45 |
|
|
a2f6k8
初级用户
 
积分 30
发帖 12
注册 2007-1-1
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
唉`~~~~~本人一出身就是WINDOWS,叫我们现在这一代的搞DOS开发,可能性都不太大,甚至可能有人连DOS命令认识多几个都已经小了...
|
|
2007-1-7 13:05 |
|
|
wkb80
初级用户
 
积分 34
发帖 15
注册 2006-11-4
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
支持这种提议,只是心有余而力不足啊,俺只是一个DOS新手,对DOS内核知之慎少,只是觉得FREEDOS的兼容性在一些比较怪的主板(U盘启动盘)上要比MSDOS要强,感觉有必要开发一个兼容性很强的DOS版本.
|
|
2007-1-7 23:24 |
|
|
store88
中级用户
  
积分 416
发帖 125
注册 2005-6-9
状态 离线
|
|
2007-1-8 01:20 |
|
|
electronixtar
铂金会员
      
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
|
2007-1-8 08:45 |
|
|
mws632
初级用户
 
积分 88
发帖 33
注册 2006-11-17
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
我觉得MSDOS仍然相当有用,所以强烈支持。
首先从完善MSDOS7.10入手。虽然现在能识别大内存,但要依靠外部软件辅助才能识别长文件名、NTFSdos分区、137G以上的大硬盘、usb设备、中文显示、基本内存不超过640K等。DUSE等软件要消耗一、二百K的基本内存。
另外,msdos7.10 中的内部命令有时出问题,比如:copy 有时只考出个零字节文件,需二次拷贝才能正确;dir 显示很慢。
|
|
2007-1-9 12:07 |
|
|
陈沫
中级用户
  
积分 250
发帖 54
注册 2003-6-8
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
其实FreeDOS32的内核已相当不错了,
只要加以完善即可,
兼容不好,我个人认为是控制台的原因(connand.exe?)
有能力的把直接写屏的中文界面加进去就完美了。
|

http://lingding.vicp.net
或许能帮你忙 |
|
2007-1-10 12:04 |
|
|
movy
初级用户
 
积分 61
发帖 33
注册 2007-1-13
状态 离线
|
|
2007-1-13 09:49 |
|
|
19951001
高级用户
    流落街头
积分 570
发帖 272
注册 2005-10-17 来自 北京
状态 离线
|
|
2007-1-16 03:36 |
|
|
houwenhui
新手上路

积分 14
发帖 9
注册 2010-7-3
状态 离线
|
|
2010-7-9 13:50 |
|