Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12007
  • 博文数量: 7
  • 博客积分: 336
  • 博客等级: 一等列兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-15 02:15
文章分类
文章存档

2010年(7)

我的朋友
最近访客

分类:

2010-08-15 02:18:41

文章作者:爱吸血的懵懂
原始连接:
文章备注:我英语四级都还没过,所以比较难以保证质量。如有错误,还请斧正。


freedos-32 FAQ(中文版)(2006.10.5翻译)

最后更新:2005-02-14
版权:2005 Salvatore Isaja and Luca Abeni
在自由软件基金会的GNU自由文件协议1.2以及稍后的版本下,此文档允许被拷贝,散布和修改;没有零碎的片段和前后混乱的原文。许可的拷贝已被包含在提及的参考书目里。

这些FAQ的最早版本已经被被David Lloyd捐赠了。
英语修正版被Peter Green在2005-01-18捐赠了。

内容目录

1)一般信息

关于这个项目的一般信息

1.1)freedos-32是什么?
freedos-32(同样被称为FD32)是一个有意做为一个替代ms-dos及其兼容系统的开源、32位操作系统。它运行于32位保护模式下并且同样的,要求一个80386或者更高的CPU。这个软件的许可是GNU GPL,因此freedos-32是一种自由软件。

1.2)freedos-32是怎样被开始的?
这个项目在2000年8月作为freedos内核的DJGPP接口由Sven Dehmlow开始的。但是,当这个freedos内核在实模式令人愉悦,一个简单32位重新编译的freedos-32(假定这是可能的)对于建立一个 32位DOS内核不是正确的解决方案。所以,为了移植它成32位,Sven Dehmlow公开了一个邮件列表来讨论如何修正freedos内核。很明显的,这比标准的DOS加DPMI服务端方案要好的多。因此整个计划被完全定义了,在Sven提出这个项目后不久,几乎所有的FD32代码已经被凑合的写出来了。

1.3)在哪里可以获得freedos-32?
现在,freedos-32仍然在发展。如果你想要贡献或者想测试到目前为止做好的工作,你将被欢迎通过CVS下载它最新的发展源代码或者一个公开的 alpha发行版本。请注意FD32的发展仍然处于早期阶段,所以它可能包含了可能损坏你系统的bug,尤其通常是在有关于硬盘和数据存储方面。在虚拟系统软件(象Bochs)或者没有贵重数据的机子上测试是被推荐的。

1.4)为什么要麻烦的写另外一个DOS?
由于DOS的实模式体系,对它造成了许多限制。为了运行大部分32位保护模式下的现代应用软件和游戏,DOS使用特殊的API在实模式与保护模式之间转换。这是因为无论实际的应用软件是32位,内核和驱动程序仍然是16位的而且要遭受到16位体系的许多限制。freedos-32是天生的32位,所以不能会到类似的约束。

1.5)freedos-32对freedos有什么影响?
freedos -32项目的主要目标是写一个有效率的类DOS内核以及有关的模块和驱动程序。但是,一个操作系统比一个系统内核要多的多。实际上,我们已经有了一个 shell和几个有用的应用程序。为了操作系统剩余部分,我们查阅了标准freedos发行版,重新编译它们,使得能在我们新的32位环境中运行。在这个认识上,我们想象freedos-32做为freedos操作系统一个选择性的内核。毕竟,这个项目是以freedos内核的32位接口而开始的,即使这个选择被证明不成功的。


1.6)freedos-32和linux之间有什么不同?
linux和freedos-32在他们都是32位操作系统内核上是类似的。但这仅仅是它们类似的地方了。linux是一个多用户多任务且被计划成为一个服务器的操作系统。反之, freedos-32是个单用户,单任务,计划为最终操作者使用。他们在保护上也同样存在着不同。linux经常在保护模式环境,仅仅是在RAM和I/O 非常有限制的权限下,运行应用软件。freedos-32至少在默认下没有任何种类的保护下运行应用软件,让使用者拥有最高的系统控制权,就象在实模式 dos下所干的那样。当然了,这不是说freedos-32是最好的操作系统以及其它的很差劲。这仅仅是说明,freedos-32是被计划成为微小的,迅速的和可靠的。因此它很适合于实时的和嵌入式的任务。

2)技术
为开发者和测试者而提供的技术信息

2.1)freedos-32的说明书在哪里?我能从哪里找到它们?
freedos-32说明书是为了freedos-32工作而展开的说明书。它们是描述freedos-32工作的技术详细资料。我们的目标是提供具有丰富文档的freedos-32。在FD32页面的“文档”部门,你能找到关于FD32的内核,驱动程序的文档和手册。

2.2)我能使用MinGW或者Cygwin来编译freedos-32吗?
是的。Hanzac已经证实了在windows平台下支持用MinGM编译FD32内核以及驱动程序。尽管它应该工作,我们没有尝试过使用Cygwin编译freedos-32:请让我们知道如果Cygwin为你工作。

2.3)FAT驱动程序对于多线程程序的执行安全吗?
不,它没有被设计。没有内部结构体系锁,所以FAT驱动的关于一致的死刑很可能导致数据和状况变糟。为了保持驱动程序的简单也会导致同样的效果。如果你需要在多线程环境下,在FAT驱动里运行程序,你可以创造一个针对FAT驱动要求功能发布调用的”服务“线程,一次一个人。

2.4)我经常在Bochs里得到"Abort 64"。


解释:"Abort 64"意味在内核完成早先的服务之前,时钟中断就开始了。这个主要意味着这个电脑在FD32使用的频率上对于服务时钟中断太慢了〈每秒1000个中断信息〉。这个应该永远不会在真实的硬件上发生,但是经常在类似Bochs的虚拟机软件上发生。如果你在真实的硬件上得到“Abort 64”,那么在内核中存在一个bug.请在“developers' mailing list"上汇报,或者使用bug跟踪器。如果你使用虚拟机,"Abort 64"是被预期的。并且在它上工作的唯一方法就是修改时钟中断频率。这能靠使用内核选项来完成〈-tick 10000意味着'一个时钟打扰我们每一人10000',这是每秒100次中断。虚拟机经常能快到满足它〉。

2.5)为什么我不能从命令提示符中加载程序?
这个内核只能运行仅仅使用DJGPP编译,并且在丰富的物理内存地址下连接的天然程序。因为这个内核仅仅天然的支持平坦的地址空间〈不是分段的〉。Luca正在外表上准备线性的地址空间<分段存储>来应付这个问题。

3)兼容性
freedos-32对于现有的程序运行的怎么样

3.1)我能在freedos-32里运行实模式的程序吗?
我们计划通过使用外部程序建立一个虚拟8086环境支持实模式程序。在这个环境里,freedos-32将模仿旧的DOS,就象windows9x所干的一样。但是,这个不能立刻拥有优先权。总之,你已经能从实模式DOS<象freedos>上运行FD32,使用一个叫做'eXtender'的特殊加载器<查阅下载页面>。这允许当你在FD32里能随时关闭它返回实模式环境。

3.2)我能在freedos-32里使用我的老旧硬件吗?
在这个时候,我们想那是不能的。因为16位格式使用的DOS驱动程序不能与freedos-32的内存模式兼容。所以,在freedos-32里,你将可能需要使用freedos-32的驱动程序。对此,我们想过可能的解决方案。我们打算开发FD32的标准组件体系结构来支持几种类型驱动程序,象UDI, linux驱动程序,windows驱动程序,以及天然的驱动程序,

3.3)我能在freedos-32里运行16位保护模式的apps吗?
16 位80286处理器的保护模式,旧有的,例如,被一些老的Borland编译器创造的应用软件,没有被考虑过。我们的第一目标是供应一个有效率的32位环境替代它。可是,看起来,为实模式应用软件使用类似适当的外部程序运行16位保护模式应用软件。(However,it seems reasonable to run 16-bit protected mode applications using an appropriate wrapper program like for real mode applications)

3.4)我能在freedos-32里运行32位保护模式的apps吗?
完全行。除了通常的DOS应用软件界面(int 21h 及其类似的)之外的32位保护模式应用软件,freedos's API 将为之准备DPMI。你的应用软件将仅仅运行在一个真实自然的32位保护模式环境下。我们的第一目标是支持DJGPP 编译的应用软件。这是我们提及到的编译器。除此以外,例如,这里已经有一些为windows控制台执行的支持。

3.5)在freedos-32里,我的保护模式apps能运行的更快吗?
大概。我们至今不知道确切的,但理论上你的程序将运行更快。因为在freedos-32里,你没有在实模式<事实上,VM86 tasks>和保护模式之间切换的管理器。并且你不需在实模式内存和你的程序内存之间复制缓冲<尽管一些旧的保护模式应用软件可能做过这些 >。可是,请注意这个,在现在,freedos-32是完全的没有在速度上最优化的。


3.6)已知有哪些程序是在freedos-32里运行的?
仅仅是测试的这些。FD32发展仍然处于非常早期的阶段,所以个别的系统调用是没有实现的。查阅问题2.5。大部分显著的,我们在处理运行command.com替代者,Python,SMEdit和Bash的时候,仍然具有限制。
阅读(1124) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~