![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-17 21:32 |
共 47,814 主题排行 / 349,907 发帖 / 今日 4 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 十万火急!!高手请进!!!!!!!! |
| 可打印版本 826 / 5 |
| 第1楼 7451316 | 发表于 2006-02-28 15:02 |
| 初级用户 发帖 14 积分 64 | |
|
十万火急!!高手请进!!!!!!!! 在批处理中加载光驱,xmsdsk.exe,tw.exe,ntfspro.exe usbmass.exe出现错误,提示信息好象是内存不够,无法加载usbmass.exe.但是退出后在命令行中加载可以执行,用mem/a/c查看内存够用,我用了emm386,dos=himem,umb
而且在命令行中加载时只能先加ntfspro.exe 再加usbmass.exe,顺序不能倒,否则就无法运行ntfspro.exe ,还有我发现在批处理加载tw.exe时候占内存290k,在命令行加载tw.exe 时只占29k,10倍的差距!!!这些都是在一个批处理文件中出现的问题,请各位高手解决一下,拜托!!!看有什么办法可以使这个批处理成功运行?这些程序之间是否有冲突?? ───────────────── 版务记录 ───────────────── 执行:Will Sort 操作:删除主题:《19307 - willsort版主请进!!我已经按照你的要求将查看内存的结 ... 》 说明:原主题与现主题重复 处罚:因属论坛新人,不予积分处罚 提示:请访问 {7326}论坛新手必读,所有人的基本行为准则 ───────────────── 版务记录 ───────────────── [ Last edited by willsort on 2006-3-2 at 14:35 ] |
|
| 第2楼 willsort | 发表于 2006-02-28 16:52 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
───────────────── 版主提示 ───────────────── 为了方便论坛用户浏览和版主管理,请修改该主题的标题,以简要叙述主题的内容或意图 如果确认标题不需要修改,请继续回复该主题进行申辩,若申辩理由充分,将取消该通知 如果确认标题需要修改,请点击该主题首帖下方"编辑"按钮,在编辑页面中修改标题栏 如果此通知发出三日后仍未进行申诉或修改,将由版主进行修改,并对作者进行相应处罚 处罚为扣除8点积分,包括追回因发表主题奖励的6分和因标题违规而惩罚性扣除的2分 ───────────────── 版主提示 ───────────────── Re 7451316: 需要注意的是,DOS下某些设备驱动或者TSR程序的加载顺序,确实会很大程度上影响他们在内存空间的分布。如果你能够将各种情况下的 mem /c 的结果回复到帖子中,将会更加有利于大家对此问题的判断和分析,示例如下: mem /c >> memmap.txt |
|
| 第3楼 7451316 | 发表于 2006-02-28 18:15 |
| 初级用户 发帖 14 积分 64 | |
|
在命令行下逐个加入光驱,xmsdsk.exe,tw.exe,ntfspro.exe usbmass.exe等程序能够正常使用,用mem/a/c 查看如下:
Modules using memory below 1 MB: Name Total Conventional Upper Memory -------- ---------------- ---------------- ---------------- SYSTEM 40,288 (39K) 9,680 (9K) 30,608 (30K) HIMEM 1,168 (1K) 1,168 (1K) 0 (0K) EMM386 4,320 (4K) 4,320 (4K) 0 (0K) TW 38,928 (38K) 28,960 (28K) 9,968 (10K) NTFSPRO 133,808 (131K) 133,808 (131K) 0 (0K) CLOCK 4,160 (4K) 4,160 (4K) 0 (0K) USB 247,504 (242K) 247,504 (242K) 0 (0K) COMMAND 7,296 (7K) 0 (0K) 7,296 (7K) XMSDSK 688 (1K) 0 (0K) 688 (1K) OAKCDROM 36,064 (35K) 0 (0K) 36,064 (35K) MSCDEX 32,384 (32K) 0 (0K) 32,384 (32K) Free 221,696 (217K) 221,424 (216K) 272 (0K) Memory Summary: Type of Memory Total Used Free ---------------- ----------- ----------- ----------- Conventional 651,264 429,840 221,424 Upper 117,280 117,008 272 Reserved 0 0 0 Extended (XMS) 535,639,520 535,639,520 0 ---------------- ----------- ----------- ----------- Total memory 536,408,064 536,186,368 221,696 Total under 1 MB 768,544 546,848 221,696 Largest executable program size 221,408 (216K) Largest free upper memory block 192 (0K) Available space in High Memory Area 5,440 (5K) MS-DOS is resident in the high memory area. 把上述程序在批处理中加载时候,提示好象是内存不够,没有成功加载usb驱动,用 mem/a/c 查看如下: Modules using memory below 1 MB: Name Total Conventional Upper Memory -------- ---------------- ---------------- ---------------- SYSTEM 40,288 (39K) 9,680 (9K) 30,608 (30K) HIMEM 1,168 (1K) 1,168 (1K) 0 (0K) EMM386 4,320 (4K) 4,320 (4K) 0 (0K) NTFSPRO 134,416 (131K) 134,416 (131K) 0 (0K) TW 306,272 (299K) 296,304 (289K) 9,968 (10K) DOSKEY 5,744 (6K) 5,744 (6K) 0 (0K) CLOCK 4,160 (4K) 4,160 (4K) 0 (0K) COMMAND 7,296 (7K) 0 (0K) 7,296 (7K) XMSDSK 688 (1K) 0 (0K) 688 (1K) OAKCDROM 36,064 (35K) 0 (0K) 36,064 (35K) MSCDEX 32,384 (32K) 0 (0K) 32,384 (32K) Free 195,488 (191K) 195,216 (191K) 272 (0K) Memory Summary: Type of Memory Total Used Free ---------------- ----------- ----------- ----------- Conventional 651,264 456,048 195,216 Upper 117,280 117,008 272 Reserved 0 0 0 Extended (XMS) 535,639,520 535,639,520 0 ---------------- ----------- ----------- ----------- Total memory 536,408,064 536,212,576 195,488 Total under 1 MB 768,544 573,056 195,488 Largest executable program size 194,912 (190K) Largest free upper memory block 192 (0K) Available space in High Memory Area 5,440 (5K) MS-DOS is resident in the high memory area. 注意比较加载tw.exe 所占用的内存有很大差距!!!为什么?郁闷!!!! |
|
| 第4楼 DOSforever | 发表于 2006-03-02 10:25 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
你的这个现象正常。某些TSR和driver(应该说是大多数)加载和驻留时所占用的内存是不一样的,通常加载比驻留时要大得的多。但为什么某些TSR在BATCH中会认为没有没有结束呢?其中的机理我也不太清楚,估计是它认为没有返回到命令行状态,所以还未终止并驻留。
另外,我看你的上位内存开的好象还不够大,你再在 EMM386.EXE 后面加上 highscan i=b000-b7ff 参数试试。当然,这不是在所有的机器上都有效,这和每种机器硬件占用的地址有关,特别是前一个参数,用的不好可能会死机,后一个普遍适用于现在的大多数机器。另外,再细调一下各个driver和TSR上调的顺序和地址 [ Last edited by DOSforever on 2006-3-2 at 17:16 ] |
|
| 第5楼 willsort | 发表于 2006-03-02 18:05 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re 7451316:
尝试生成一个仅含有 tw 的批处理然后执行它,如果所占内存空间与命令行下加载相同,则应该是你的批处理有问题, 可以将它贴上来分析一下。 我在MSDOS7.10@VPC5.2下使用TW3.2袖珍版测试的结果:命令行加载与批处理加载内存占用相同。 |
|
| 第6楼 DOSforever | 发表于 2006-03-02 18:46 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
我忽然想起来了,最好把你的 mem/a/d 的结果拿出来看看
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |