中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 【分享】软件硬件两手都要抓,DOS内存极致优化
English/Chinese Fix Translation
作者:
标题: 【分享】软件硬件两手都要抓,DOS内存极致优化 上一主题 | 下一主题
baby15500
中级用户




积分 438
发帖 146
注册 2004-3-10
状态 离线
『楼 主』:  【分享】软件硬件两手都要抓,DOS内存极致优化 使用 LLM 解释/回答一下

什么东西都在于分享,记得在哪里看到过一句话,如果每个人都不懂得分享,每个人都在GOOGLE自己想要的东西,过不了多久,大家都将GOOGLE不到任何东西。

昨天下载到了汇龙软件和起步网上的许多绝版的中西文DOS软件,心情只有自己明白。起步网上的经典软件,其实我十年前就有了,后来由于一次意外,数据丢失。并且起步网不能上了,这一下就是好多年,苦苦寻找却再也补不到那么多,到了今天终于补到了,这一次学乖了,U盘备份,光盘备份,双硬盘备份,以防不测,嘿嘿

由于本人工作比较特殊,接触的电脑成千上万,不要误会,并不是收电子垃圾的
发现UMB容量在硬件方面影响很大的有好几件,主板,显卡,网卡等

硬件:

我使用的主板SOYO K7VTA PRO
这块主板如果刷新BIOS到2AA7以上版本的时候,你会损失一部分UMB
原因是此版本以上的BIOS会支持USB引导,此功能会占用你32KB或48K的UMB,不管你有没有使用U盘
解决办法:刷BIOS到2AA7,不支持U盘引导,但你会获得UMB。但是这个版本只能支持到ATHLON XP 2100+ CPU,不支持137G以上硬盘,这也是没办法的事了,为了UMB。。

如果你使用3COM等“高档网卡”,你会损失大约5KB的UMB,可能是由于网卡上的BOOT ROM的原因
解决办法:换一些8139之类的“低档网卡”

部分芯片显卡可能会损失16KB的UMB,如某牌S3野人2000显卡,应该还有其它芯片,未测试
解决办法:换其它牌子芯片的显卡,我用的是G400MAX,此显卡无损UMB

以上是我个人多年实际操作经验,真实可靠!特此分享!希望能给一些朋友启示

如果你条件有限,不能更换硬件,那么只能从软件着手,尽量得到更多的UMB

正常情况下,你会得到219KB的UMB,加入NOHIGH参数,会得到224KB的UMB

如果这样优化后运行WINDOWS3.2死机,就是我前面说的显卡问题,推荐更换显卡解决,此方法最好!!或者把EMM386去掉一部分参数,但是会减少你的UMB。。嘿嘿

软件优化方法来自网络,这里只给链接
http://club.163.com/viewElite.m?catalogId=1194&eliteId=1194_100d1dda3cb0004

经过测试完全有效,在我的电脑硬置上得到224KB的UMB
电脑配置如下:
SOYO K7VTA PRO (BIOS 2AA7),注意不能刷高版本,呵呵
G400MAX 显卡
8139普通网卡
AWE64 GOLD 声卡


2011-1-8 08:13
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
baby15500
中级用户




积分 438
发帖 146
注册 2004-3-10
状态 离线
『第 2 楼』:   [已使用 LLM 解释]

注意,如何判断你的硬件是否影响UMB容量

在CONFIG.SYS只要这样
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS
DOS=HIGH,UMB
BUFFERS=40
FILES=40

如果启动后用MEM看,UMB少于155KB,就是你的某个硬件有问题,建议更换!
LLM 解释

1. 相关背景知识

  • UMB(Upper Memory Block,上位内存块):在IBM - PC兼容机的内存布局中,640KB到1024KB之间的内存区域,通过EMM386.EXE等内存管理程序可以将其划分成上位内存块,用于存放一些设备驱动程序等,以提高内存的使用效率。
  • HIMEM.SYS:是一个内存管理程序,用于管理扩展内存(XMS),使DOS能够访问扩展内存。
  • EMM386.EXE:是一个扩展内存管理程序,它可以提供上位内存块(UMB),并且可以配置是否加载EMS(扩充内存)相关功能,通过NOEMS参数表示不加载EMS相关功能。
  • CONFIG.SYS:是DOS系统的配置文件,用于配置系统启动时的各种设备驱动、内存设置等参数。

2. 判断硬件是否影响UMB容量的技术细节

  • 配置文件设置
    • 首先在CONFIG.SYS中按照给定的内容进行设置:
      • DEVICE=C:\DOS\HIMEM.SYS:加载HIMEM.SYS来管理扩展内存。
      • DEVICE=C:\DOS\EMM386.EXE NOEMS:加载EMM386.EXE并设置不加载EMS相关功能,目的是创建UMB区域。
      • DOS=HIGH,UMB:将DOS核心加载到高位内存(HIGH)并使用UMB。
      • BUFFERS=40FILES=40:设置文件缓冲区和文件句柄的数量,这是基本的系统资源配置。
  • 通过MEM命令查看UMB容量
    • 当系统按照上述配置启动后,使用MEM命令查看内存情况。MEM命令可以显示系统内存的使用情况,包括UMB的容量。
    • 如果按照配置设置后,通过MEM看到UMB少于155KB,说明可能存在硬件问题影响了UMB的创建和容量。这是因为正常情况下,合理配置下应该能够创建足够容量的UMB,如果硬件存在不兼容等问题,会导致UMB容量不足。

3. 可能的解决方案

  • 检查硬件驱动程序
    • 首先检查相关硬件的驱动程序是否为最新版本。可以访问硬件厂商的官方网站,下载最新的适用于DOS环境的驱动程序。例如,如果是硬盘相关硬件,查看硬盘驱动程序是否适配当前的内存管理配置。
    • 卸载并重新安装硬件驱动程序。有时候驱动程序安装过程中可能出现错误,导致硬件与内存管理不兼容。卸载驱动程序后,重新启动计算机,在干净的状态下重新安装驱动程序。
  • 更换硬件
    • 如果经过驱动程序相关的排查后,UMB容量仍然不足,那么可能是硬件本身存在问题。这时候可以考虑更换硬件。例如,如果是主板等硬件导致UMB容量不足,可以尝试更换其他品牌或型号的主板,看是否能够改善UMB容量情况。
    • 在更换硬件时,需要确保新硬件与当前的DOS系统以及内存管理配置兼容。可以查阅硬件的兼容性列表,选择与DOS环境和内存管理良好兼容的硬件产品。
  • 调整内存管理参数
    • 尝试调整EMM386.EXE的其他参数来优化UMB容量。例如,除了NOEMS参数外,还可以尝试其他参数组合,如RAM参数(将EMM386.EXE驻留在常规内存中)等,看是否能够改善UMB容量。不过这种调整需要谨慎,因为不同的参数组合可能会对系统的其他方面产生影响。例如DEVICE=C:\DOS\EMM386.EXE RAM,这种设置可能会改变EMM386.EXE的内存驻留方式,进而影响UMB的创建情况。```


2011-1-8 08:18
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: