|
brglng
银牌会员
     永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『楼 主』:
DOS的进一步发展需要内核级的开发
使用 LLM 解释/回答一下
看看现在的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 ]
Take a look at the current China DOS Union, which has become so desolate. All day long, it's just discussing some outdated topics and obsolete technologies. Especially in this development section, old posts are frequently brought back to the top, but new posts rarely appear.
At the same time, the development of FreeDOS is also extremely slow, lacking vitality and energy.
I don't know when I read a sentence: A system lacking developer support is a system without a future (paraphrasing).
Anyone with a little experience in using DOS knows that DOS has many limitations and is very inconvenient to use. The fundamental reason is its 16-bit kernel. Although 32-bit programs can be used through DPMI and DOS extenders now, various drivers, Chinese systems, etc., that we often use are still 16-bit TSR programs (these programs must be 16-bit TSR). Although more memory can be used for data exchange through XMS, the active space of the program is still limited within a 1M space. This undoubtedly seriously hinders the development of DOS.
This problem is a major weakness of DOS. I think as long as this problem is not solved, DOS cannot have better development. In fact, currently, except for some bottom-level work very close to hardware and in embedded fields, DOS is basically useless elsewhere, especially in the desktop field.
Let's first take a look at Win9x. It is an operating system running on DOS. Of course, some people think it's just a program on DOS. I won't discuss that. In any case, we can see that Win9x can achieve true multitasking. Even its drivers are all 32-bit. Of course, it can also make a program run in the background (and such background running is completely different from TSR, it's a 32-bit multitasking mechanism, not limited by 1M memory). This makes me think that we should be able to develop a kernel on DOS, write programs on this kernel, so that we can completely break through the 16-bit limit, develop pure 32-bit mouse drivers, IFS drivers, Chinese systems, etc., completely abandon TSR, and no longer worry about the memory limit problem.
So there are two paths: 1. Be compatible with the Win32 API, just like what the current HX Extender does. In this way, development will relatively get more user support, and there are a large number of software supports. But since the Win32 API is closed and very complex, the development difficulty is relatively large, and it's difficult to be completely compatible. 2. Develop completely independently. In this way, development will be relatively easier, but there are no ready-made programs running on it, and all software must be redeveloped. At least they need to be recompiled. Of course, we can still develop software for being compatible with the win32 API on this new kernel (just like wine on Linux).
However, we also have a third path, which is to develop a pure 32-bit kernel DOS system. If it can achieve full direct access to hardware and can well be compatible with various existing DOS programs, it can be regarded as a DOS system. For now, if we want to take this path, participating in FreeDOS-32 is the best choice (FreeDOS-32 has been stagnant for more than 3 years).
Among these three paths, no matter which one is chosen, very high-level bottom-level development is required. Even the first two paths are actually no different from developing an operating system kernel. And I can't say which path is the best and easiest to succeed, but at least one of these three paths is the correct path, because only by moving towards 32-bit will there be a future.
In addition, for the internationalization of DOS, the participation of Chinese people is also needed. Chinese is also one of the important international languages! And if the 16-bit limit is broken, we can introduce Unicode to DOS, making it support not only Chinese but also languages all over the world. And the display of text requires GUI technology. We can develop something similar to the X Server on Linux to support graphics, but in a 16-bit environment, developing such a program is almost impossible.
The above are my humble opinions. Everyone is welcome to discuss! But if this post gradually sinks, I will feel sad, because that will indicate the real decline of DOS - no one is willing to develop for DOS anymore.
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 楼』:
使用 LLM 解释/回答一下
与其费力地开发32位,不如直接用linux,后者在成熟度、驱动支持等方面要好多了,而且还有很多源代码可以借鉴。
Instead of laboriously developing 32-bit, it's better to directly use Linux. The latter is much better in terms of maturity, driver support, etc., and there are also many source codes to draw on.
|
|
2008-10-7 16:03 |
|
|
brglng
银牌会员
     永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
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 ]
Originally posted by netwinxp at 2008-10-7 04:03 PM:
Instead of working hard to develop 32-bit, it's better to directly use Linux. The latter is much better in terms of maturity, driver support, etc., and there are also many source codes to draw on.
I have also thought about this problem. Linux is certainly very good, and I myself use Linux as my desktop system. But I think that DOS still exists so far for its irreplaceable places. For example, it has direct and unrestricted access to hardware, which is very useful in many aspects. And when studying microcomputer principles and assembly language, DOS is often indispensable. It is also very useful for us to study computers. And who knows that after transforming into 32-bit, more new uses cannot be discovered? Everything can only be spoken by facts. We haven't developed it, haven't used it, how can we know whether it is good or not?
In fact, I think that the current decline of DOS is more because it itself is not advanced enough, but because of Microsoft's monopoly, closure and its abandonment of support for DOS. In fact, Win9x has greatly expanded the original DOS functions. If it opens source code, it must have great development. And Microsoft does not support DOS, finally turns to NT, and does not develop 32-bit DOS. Because of its monopoly position, DOS is thus abandoned.
As far as I know, Unix was also an early 16-bit operating system. It was only after the appearance of 32-bit processors that there was 32-bit Unix. And at this time, Microsoft did not develop 32-bit DOS, but turned to OS/2 and NT, and the source code of DOS is not open, so DOS declined.
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 楼』:
使用 LLM 解释/回答一下
我想问一个问题,现在我们用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 ]
I want to ask a question, what functions of DOS are we using now?
Graphics? Basically rely on direct screen writing.
Memory? Without DOS, more can be accessed, and you can let whoever stay resident, no trouble at all.
Disk? Now the access to FAT/FAT32 basically doesn't need to rely on DOS.
To be honest, if you want freedom, it's more convenient to directly use the boot program to call your BIN program, and the switching between protected mode and real mode becomes simpler, and it's less likely to conflict and have key data segment reentry. DOS actually mainly has INT 21H, and it's almost useless now.
Linux you can let your program run in KRNL, which is equivalent to an unrestricted 32-bit or even 64-bit system, and there are many source codes to "copy", which is more rewarding than Windows' "building with blocks".
PS: As memory breaks through 4G and hard drives are about to reach more than 2T (the traditional partition table architecture is facing being replaced by GPT), the necessity of using 64-bit systems is becoming more and more urgent. Even if 32-bit DOS is developed, it will soon face the situation of being eliminated.
Last edited by netwinxp on 2008-10-9 at 22:09 ]
|
|
2008-10-9 21:52 |
|
|
xugaohui
高级用户
   
积分 774
发帖 293
注册 2003-4-16 来自 湖北仙桃
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
Originally posted by brglng 别的地方基本毫无用处,特别是桌面领域。
恰好桌面领域需要用dos,用这个环境升级刷新主板bios,包括服务器主板。现在也用在windows下升级bios的,但在dos下升级主板bios的更多一些,不太会用dos的也是在dos下升级主板bios。如果以后的主板无法在dos下升级bios了。那dos将真正的淘汰。
Originally posted by brglng It's basically useless elsewhere, especially in the desktop field.
Just right, the desktop field needs to use DOS. Use this environment to upgrade and refresh the motherboard BIOS, including server motherboards. Now there are also those used to upgrade BIOS under Windows, but there are more people upgrading motherboard BIOS under DOS. Those who don't know how to use DOS well are also upgrading motherboard BIOS under DOS. If the motherboard in the future can't be upgraded BIOS under DOS, then DOS will really be eliminated.
|

下载
09年7月7日 更新
感谢网友 囧HQY 提供空间 |
|
2008-10-10 01:36 |
|
|
brglng
银牌会员
     永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
关于64位,我也有过考虑。很有可能在不久的未来,处理器不再支持16位,那现今的DOS就真正灭亡了。
可是,别看DOS在国内不受关注,在国外还是有相当的人(当然不可能够Linux这么多)在为DOS做开发。另外像Linux上面也有DOSBOX这种模拟软件。这就说明DOS还是有很多用处。
我始终觉得,DOS至今仍未完全消失,肯定有其不可替代的地方。就像楼上所说的升级BIOS。这只是一个例子。
况且DOS也曾是常用的桌面系统,就说明使用DOS作为桌面系统并不是不可能。
对于64位,我觉得只要开发出了32位,开发64位也不是不可能。
最后我还是想强调,你没有用过32位的DOS,怎么就能知道它到底好不好?就好像只用Win从来没有用过Linux的人也不会知道Linux比Windows先进在哪里。
Regarding 64-bit, I have also considered it. It is very likely that in the near future, processors will no longer support 16-bit, and then the current DOS will truly perish.
However, don't look at DOS being not focused on in China. There are still quite a number of people abroad (of course, not as many as Linux) developing for DOS. Also, there is software like DOSBOX on Linux for emulation. This shows that DOS still has many uses.
I always feel that DOS has not completely disappeared so far, and there must be something irreplaceable about it. Just like what the person above said about upgrading BIOS. This is just an example.
Moreover, DOS was also a commonly used desktop system, which shows that using DOS as a desktop system is not impossible.
For 64-bit, I think as long as 32-bit is developed, it is not impossible to develop 64-bit.
Finally, I still want to emphasize, how can you know whether 32-bit DOS is good or not if you haven't used it? It's just like someone who has only used Windows and has never used Linux won't know where Linux is more advanced than Windows.
|

32位才是DOS未来的希望
个人网志:http://sololand.moe |
|
2008-10-11 12:32 |
|
|
ecurb2006
中级用户
   www.ecgui.com
积分 272
发帖 123
注册 2006-9-23
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
>而文字的显示需要GUI方面的技术,我们可以开发类似于Linux上X Server的东西来支持图形,而若在16位环境中,开发这样的程序是几乎不可能的。
不是不可能啦,呵呵。我们已经做出来了。
>And the display of text requires GUI-related technologies. We can develop something similar to the X Server on Linux to support graphics, and in a 16-bit environment, developing such a program is almost impossible.
It's not impossible, heh. We've already made it.
|

eCGUI-微型嵌入式GUI/ DOS/Linux/uC/OS-II/等 图形界面开发
www.ecgui.com
|
|
2008-10-11 13:56 |
|
|
tangtai
高级用户
   
积分 640
发帖 314
注册 2006-8-13
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
可惜不会编程,只能期待,,,,
It's a pity I don't know programming, can only look forward to,...
|
|
2008-10-11 14:14 |
|
|
xiaoyunwang
高级用户
   
积分 940
发帖 374
注册 2007-10-17 来自 湖南张家界
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
ms-dos 6.22 不是有源代码吗/,微软连 Windows 的源代码都给了北京政府呢/,那位黑客把它弄出来。
Last edited by xiaoyunwang on 2008-10-11 at 15:41 ]
ms-dos 6.22 doesn't have source code, does it? Microsoft even gave the source code of Windows to the Beijing government, and that hacker got it out.
Last edited by xiaoyunwang on 2008-10-11 at 15:41 ]
|
|
2008-10-11 15:39 |
|
|
netwinxp
高级用户
   
积分 741
发帖 366
注册 2007-7-25
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
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 ]
Originally posted by brglng at 2008-10-11 12:32:
Regarding 64-bit, I also have considered it. It is very possible that in the near future, processors will no longer support 16-bit, and then the current DOS will truly perish.
But, don't look at DOS not being paid attention to in China, there are still relatively ... in foreign countries
Currently, desktop CPUs are AMD64 (X86-64 is compatible with its standard), which itself is compatible with 64/32/16 bits. Let's not mention IA64 which is incompatible with everything.
Does 32-bit DOS need to use protected mode? Then in protected mode, to run DOS programs, 8086 virtual mode should be used. Unfortunately, it has great restrictions on privileged instructions such as I/O. Then the convenience of directly accessing hardware is gone. Also, the original BIOS interrupt services in real mode cannot be directly used now... and so on will make all the original conveniences gone. Then should it still be called DOS32?
Actually, most of LZ's ideas have already been in WIN9X. Of course, it also has slightly restrictions on hardware access. A powerful and relatively stable system will necessarily lead to more restrictions. For example, we use I/O-level programs which are basically dominated by the program with almost no restrictions; programs using BIOS interrupts need to abide by the regulations of BIOS interrupt calls; even the memory arrangement when using DOS has to be handled by DOS. Don't make it so that conventional memory is insufficient and cannot run. When compiling an interrupt, one has to prevent reentrancy problems...
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 楼』:
使用 LLM 解释/回答一下
与其费力地开发32位,不如直接用linux,后者在成熟度、驱动支持等方面要好多了,而且还有很多源代码可以借鉴。
Instead of struggling to develop 32-bit, it's better to directly use Linux. The latter is much better in terms of maturity, driver support, etc., and there are also many source codes to draw on.
|
|
2008-11-12 15:57 |
|
|
lofe811
初级用户
 
积分 96
发帖 32
注册 2006-4-15
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
论坛的确很少有帖子了,哎
There are indeed very few posts in the forum, hey
|
|
2008-11-16 22:41 |
|
|