标题: 看看老外是怎么优化内存的...................
[打印本页]
作者: 3dfx
时间: 2006-6-13 14:19
标题: 看看老外是怎么优化内存的...................
作者: 3dfx
时间: 2006-6-13 14:31
作者: DOSforever
时间: 2006-6-13 15:05
太长了,大致看了下。
我用 QEMM386 配合 4DOS 可以让空余常规内存达到632K,如果减少一下 4DOS 的环境变量空间(因为我确实需要这么多)甚至可以达到634K。
Modules using memory below 1 MB:
Name Total = Conventional + Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 4,189 (4K) 725,149 (708K) 4,294,24 (4,193,
QEMM386 912 (1K) 912 (1K) 0 (0K)
4DOS 6,544 (6K) 336 (0K) 6,208 (6K)
DOS-UP 224 (0K) 0 (0K) 224 (0K)
DOSDATA 6,496 (6K) 0 (0K) 6,496 (6K)
QDPMI 2,912 (3K) 0 (0K) 2,912 (3K)
DISPLAY 8,304 (8K) 0 (0K) 8,304 (8K)
ANSI 4,208 (4K) 0 (0K) 4,208 (4K)
RAMDRIVE 1,328 (1K) 0 (0K) 1,328 (1K)
FILES 2,096 (2K) 0 (0K) 2,096 (2K)
FCBS 96 (0K) 0 (0K) 96 (0K)
WKBUFFER 528 (1K) 0 (0K) 528 (1K)
LASTDRIV 2,304 (2K) 0 (0K) 2,304 (2K)
INSTALL 160 (0K) 0 (0K) 160 (0K)
UDMA 656 (1K) 0 (0K) 656 (1K)
TRICDVD 7,536 (7K) 0 (0K) 7,536 (7K)
POWER 4,704 (5K) 0 (0K) 4,704 (5K)
MSCDEX 34,000 (33K) 0 (0K) 34,000 (33K)
DIET 1,760 (2K) 0 (0K) 1,760 (2K)
QDICT 2,352 (2K) 0 (0K) 2,352 (2K)
DISKMON 9,616 (9K) 0 (0K) 9,616 (9K)
SMARTFLP 14,560 (14K) 0 (0K) 14,560 (14K)
kstack 1,600 (2K) 0 (0K) 1,600 (2K)
NCACHE2 16,400 (16K) 0 (0K) 16,400 (16K)
NCACHE23 14,048 (14K) 0 (0K) 14,048 (14K)
Free 673,536 (658K) 647,552 (632K) 25,984 (25K)
Memory Summary:
Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 655,360 7,808 647,552
Upper 4,294,414, 4,294,388, 25,984
Reserved 0 0 0
Extended (XMS) 67,596,208 488,368 67,107,840
---------------- ---------- ---------- ----------
Total memory 67,698,688 4,294,884, 67,781,376
Total under 1 MB 102,480 4,294,396, 673,536
Total Expanded (EMS) 267,501,56 (261,232
Free Expanded (EMS) 220,102,65 (214,944
Largest executable program size 647,536 (632K)
Largest free upper memory block 25,856 (25K)
Available space in High Memory Area 1,184 (1K)
MS-DOS is resident in the high memory area.
如果我用现在新的鼠标和光驱驱动还可以节省出更多的上位内存
作者: 3dfx
时间: 2006-6-13 18:16
你的SYSTEM比我的小些,你的upper到底是多少啊?
你的基本内存最大是640K,我的只有637K。这个大概跟主板有关。
作者: DOSforever
时间: 2006-6-13 20:32
常规内存按理应该是640K,某些情况下639K也是正常的。但你637K按照过去 DOS 的情况肯定是有病毒,但按照现在的机器配置就不知道是不是“福建ABC”说的那个原因了。
MEM报告的空余内存数:
Free Conventional Memory:
Segment Total
------- -----------------
00153 2,368 (2K)
001E7 88,992 (87K)
017A1 558,560 (545K)
Total Free: 649,920 (635K)
Free Upper Memory:
Region Largest Free Total Free Total Size
------ -------------- -------------- --------------
1 128 (0K) 128 (0K) 28,784 (28K)
2 25,856 (25K) 25,856 (25K) 139,296 (136K)
QEMM自己列的内存状况:
Unavailable Converted
Initial to QEMM by QEMM Leaving
Conventional: 640K - 0K - 0K = 640K
Extended: 286M - 0K - 255M =32767K
Expanded: 0K - 0K + 254M = 254M
High RAM: 0K - 0K + 168K = 168K
------ ------ ------ ------
TOTAL: 287M - 0K - 344K = 287M
344K QEMM Overhead
Code & Data: 276K Maps: 0K
Tasks: 20K Mapped ROM: 24K
DMA Buffer: 16K Unassigned: 8K
0.8K Conventional Memory Overhead
作者: willsion
时间: 2006-6-14 13:09
建议以上的朋友把你们的AUTOEXEC.BAT和COBFIG.SYS贴出来。
让大家了解一下。
作者: DOSforever
时间: 2006-6-14 18:18
贴出来太多了,我的这两个文件分别有十几和二十几K,而且还处在不断的修改之中。再说,基本结构都一样,无非是加载的内容有所不同而已。如果有什么疑问可以尽管提。
作者: 3dfx
时间: 2006-6-14 23:25
config.sys
device=c:\qemm\dosdata.sys
SET LOADHIDATA=C:\QEMM\LOADHI.RF
DEVICE=C:\TOOLS\QEMM386.SYS RAM ST:F DMA=64 RF
device=c:\qemm\dos-up.sys @c:\qemm\dos7-up.dat
DOS=HIGH,UMB
FILES=40
LASTDRIVE=K
DEVICE=C:\QEMM\LOADHI.SYS /RF C:\TOOLS\QCDROM.SYS /D:IDE-CD
SHELL=C:\QEMM\LOADHI.COM /RF C:\COMMAND.COM C:\ /P
Last edited by 3dfx on 2006-6-14 at 23:37 ]
作者: 3dfx
时间: 2006-6-14 23:27
autoexec.bat
C:\QEMM\LOADHI /RF C:\TOOLS\NWCDEX.EXE /D:IDE-CD /E
C:\QEMM\LOADHI /RF C:\TOOLS\PCCACHE.COM
PATH C:\DOS;C:\TOOLS;C:\QEMM;C:\FPE;C:\GW;C:\TOOLS\SEA13;C:\AV98;C:\UCDOS;C:\CCDOS;C:\ARACHNE;%PATH%
LH C:\DOS\CTMOUSE.EXE
SET TEMP=I:\
XMSDSK 36000 /T /Y
Last edited by 3dfx on 2006-6-14 at 23:32 ]
作者: Scott0902
时间: 2006-6-15 16:02
强!但msdos7.1启动盘启动后剩余常规内存都有610K左右,老外优化到630多K之后会有什么优势呢?是不是优化之后磁盘读写更快呢?在DOS下,剩余常规内存有600K我就已经满足了,但我最关心的问题是硬盘读写速度的问题。
作者: brglng
时间: 2006-6-15 18:45
qemm386确实很强,但文件体积太大,没法用于启动盘。
作者: DOSforever
时间: 2006-6-16 01:33
不,我的启动盘用的就是 QEMM386.SYS ,当然,也没少 HIMEM.SYS+EMM386.EXE (主要是为了以防兼容问题)。一张软盘才这么点容量,你不可能把所有的功能都加进去,每个人都可以根据自己的爱好和习惯来制作。因此,我系统启动单独一张盘,工具盘一张或数张,中文系统盘一张,其它的再根据需要来做。
作者: 070
时间: 2006-6-16 03:27
软盘容量而且容易废掉,为什么不用u盘
作者: brglng
时间: 2006-6-16 10:29
Originally posted by DOSforever at 2006-6-16 01:33 AM:
不,我的启动盘用的就是 QEMM386.SYS ,当然,也没少 HIMEM.SYS+EMM386.EXE (主要是为了以防兼容问题)。一张软盘才这么点容量,你不可能把所有的功能都 ...
这样的话你还不如用启动光盘或者启动U盘。
顺便问一下,qemm386会不会像emm386那样把dos带入保护模式?
Last edited by brglng on 2006-6-16 at 10:48 ]
作者: DOSforever
时间: 2006-6-16 14:20
要知道,不是所有的机器都支持U盘启动的,至少我自己的机器都不支持。至于光盘是刻死的,无法改动,当然,你别说让我用RW盘来刻。当初我还有想用2.88M软盘来做启动盘的想法,后来还有想用ZIP、LS120、EZ-FLYER等来做的设想,咳……可惜都没普及起来。
QEMM386.SYS 和 EMM386.EXE 一样,只要开出了 EMS ,CPU 的运行模式就处于 V86 模式。按照我的理解,DOS 只要能够使用1M以上的内存 CPU 就应该处于保护模式,但我奇怪的是如果只用 HIMEM.SYS 开出 XMS CPU 仍然处于实模式,这个问题我一直也没弄明白。而 QEMM386.SYS 不管是否开出 EMS ,那怕只使用 XMS CPU 都处于 V86 模式。我想可能是两者的内存管理机制有所不同吧。其它的内存管理程序还没怎么用过,请用过的来谈谈。
其实,CPU 处于什么工作方式对我们使用者来说不必刻意去关心,也不是我们人为可以去改动的,到时候程序自己会去转换,就象某些需要DOS4GW.EXE运行的程序,你什么内存管理都不用,到时候它自动会切换到保护模式下运行。
作者: 3dfx
时间: 2006-6-17 13:02
可以用HDCOPY把软盘格式化为1.72M,然后在CMOS里把软驱设置为2.88,就可以用这张软盘启动了。
Last edited by 3dfx on 2006-6-17 at 13:03 ]
作者: DOSforever
时间: 2006-6-17 14:57
呵呵,没用的。关于 HD-COPY 的软盘增容我早试验过了,最大可稳定访问的格式化容量也就1,501,184字节,最多也就是82个磁道,18扇区/道。超过这些参数就无法稳定的访问,尽管 HD-COPY 可以稳定的格式化最大参数的容量。即使在 CMOS 中把软驱设为2.88M,在内存中驻留 HD-COPY 配套的专用的超容量软盘读写程序 fdread.exe 或 fdread2.com 还是无法正常访问。
作者: 3dfx
时间: 2006-6-18 08:30
这个我也早已实验过了,肯定可以。
最大就是1.72M了,不需要在内存中驻留任何专用读写软件。
作者: Wengier
时间: 2006-6-18 08:37
Mini-Windows 3.2中文版就是用的1.68MB的软盘镜像...
作者: brglng
时间: 2006-6-18 10:31
就是啊,我试过,不管是1.72MB还是1.68MB都可以在DOS下正常使用的,而且并不需要把CMOS的软驱设置为2.88MB,只是1.72MB的不能在2k/XP下用。
作者: DOSforever
时间: 2006-6-18 14:06
我不知道你们所指的正常使用是怎么个正常使用,如果是1.68M我记得好象可以启动,也可以正常访问前面几个扇区,但到最后几个就不行了;1.72M的连正常dir、copy文件都不行。我是这样测试的,并不是能够copy文件就算好了,而是看它能否通过scandisk的全盘扫描。还有,这个和软驱本身也有关系,某些软驱不支持非标准的磁道和扇区数,也就是“超频”性能比较差。总之,我试验下来只有82道的通用性是最好的。至于增加扇区/道数的通用性就更差了,某些软驱连一个扇区都不让你增加,读都读不出来。
作者: ppshow
时间: 2006-6-18 14:16
以前经常用HD-COPY把软盘盘格式化成1.72M,没发现有什么问题
作者: 3dfx
时间: 2006-6-18 16:34
我以前经常做1.72M的系统盘,你说能不能用......
作者: DOSforever
时间: 2006-6-18 17:20
咳,我不是说过了嘛,这个要看你软驱怎么样,你这个软驱行,不代表别的软驱也行。我做启动盘不能只考虑只在我自己的机器上能用就行了,还要考虑到通用性,有一个通不过,那就说明某种格式不是普遍适用的。难道我还不想充分利用容量吗?
作者: DOSforever
时间: 2006-6-18 17:26
顺便再说一句,发现还是5"盘的扩容性比3"盘的还要好,我把它格式化为最大容量,不需驻留任何超容量读写程序仍然可以正常读写。
作者: stampede
时间: 2006-7-17 20:41
以前用dos 7.1与win98时,我也有用qemm386 8.0与4dos 5.xx,那时最多也才610K多一点,在dos 6.22下就能到634K,真强,我dos 7.1中,system就超过10K,怎样也少不了......
作者: barney
时间: 2006-7-20 15:47
只记得当年用dos6.2的时候最高到过627K
Last edited by barney on 2006-7-20 at 15:55 ]
作者: rocchapter
时间: 2006-8-21 13:42
只要620KB就可以了,这也太夸张了