中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 十万火急!!高手请进!!!!!!!!
作者:
标题: 十万火急!!高手请进!!!!!!!! 上一主题 | 下一主题
7451316
初级用户





积分 64
发帖 14
注册 2006-2-25
状态 离线
『楼 主』:  十万火急!!高手请进!!!!!!!!

在批处理中加载光驱,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 ]

2006-2-28 15:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 2 楼』:  


───────────────── 版主提示 ─────────────────
为了方便论坛用户浏览和版主管理,请修改该主题的标题,以简要叙述主题的内容或意图
如果确认标题不需要修改,请继续回复该主题进行申辩,若申辩理由充分,将取消该通知
如果确认标题需要修改,请点击该主题首帖下方"编辑"按钮,在编辑页面中修改标题栏
如果此通知发出三日后仍未进行申诉或修改,将由版主进行修改,并对作者进行相应处罚
处罚为扣除8点积分,包括追回因发表主题奖励的6分和因标题违规而惩罚性扣除的2分
───────────────── 版主提示 ─────────────────


Re 7451316:

      需要注意的是,DOS下某些设备驱动或者TSR程序的加载顺序,确实会很大程度上影响他们在内存空间的分布。如果你能够将各种情况下的 mem /c 的结果回复到帖子中,将会更加有利于大家对此问题的判断和分析,示例如下:

      mem /c >> memmap.txt



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-2-28 16:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
7451316
初级用户





积分 64
发帖 14
注册 2006-2-25
状态 离线
『第 3 楼』:  

在命令行下逐个加入光驱,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 所占用的内存有很大差距!!!为什么?郁闷!!!!

2006-2-28 18:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 4 楼』:  

你的这个现象正常。某些TSR和driver(应该说是大多数)加载和驻留时所占用的内存是不一样的,通常加载比驻留时要大得的多。但为什么某些TSR在BATCH中会认为没有没有结束呢?其中的机理我也不太清楚,估计是它认为没有返回到命令行状态,所以还未终止并驻留。

另外,我看你的上位内存开的好象还不够大,你再在 EMM386.EXE 后面加上 highscan i=b000-b7ff 参数试试。当然,这不是在所有的机器上都有效,这和每种机器硬件占用的地址有关,特别是前一个参数,用的不好可能会死机,后一个普遍适用于现在的大多数机器。另外,再细调一下各个driver和TSR上调的顺序和地址

[ Last edited by DOSforever on 2006-3-2 at 17:16 ]



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2006-3-2 10:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 5 楼』:  

Re 7451316:

      尝试生成一个仅含有 tw 的批处理然后执行它,如果所占内存空间与命令行下加载相同,则应该是你的批处理有问题, 可以将它贴上来分析一下。

      我在MSDOS7.10@VPC5.2下使用TW3.2袖珍版测试的结果:命令行加载与批处理加载内存占用相同。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-3-2 18:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 6 楼』:  

我忽然想起来了,最好把你的 mem/a/d 的结果拿出来看看



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2006-3-2 18:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: