![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-18 23:52 |
共 47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 新電腦的傳統記憶體不足 |
| 可打印版本 1,109 / 5 |
| 第1楼 jonsun | 发表于 2007-08-22 22:42 |
| 新手上路 发帖 5 积分 12 来自 台灣 | |
|
新電腦的傳統記憶體不足 本人公司用純DOS掛倚天(繁體)上NOVELL,用P300印表.
軟體須要500K傳統記憶體, 因新電腦BIOS佔用太多upper memory,因此傳統記憶體變少了. 我試了在 XP WIN2000,DOS視窗,或模擬器多上不NOVELL. 不知是否設定錯誤.煩請高人指點. 或者有更好的方法. 謝謝! |
|
| 第2楼 DOSforever | 发表于 2007-08-23 12:44 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
有个概念先要澄清一下,各种硬件的 BIOS 所占用的地址空间是在 Reserved Memory 中的,在 Reserved Memory 中未被占用的空间叫做 Upper Memory ,可以被用户程序所利用。由于 Upper Memory 不一定是连续的,每一个连续的空间叫做 Upper Memory Block ,简称 UMB 。你只要在 config.sys 和 autoexec.bat 中把设备驱动程序和 TSR 尽量加载到 Upper Memory 中去就能腾出更多的 Conventional Memory 。
|
|
| 第3楼 jonsun | 发表于 2007-08-23 19:02 |
| 新手上路 发帖 5 积分 12 来自 台灣 | |
|
感謝DOSforever回應!
掛上 himem.sys emm386.exe ,進入DOS後 mem upper memory 只有 65K 倚天(繁體)大約有180k,加上驅動程式. 640+65-180-驅動程式=340K,軟體須要500K. 如何是好? |
|
| 第4楼 DOSforever | 发表于 2007-08-24 00:06 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
把你的 config.sys 、autoexec.bat 文件的内容以及 mem/c/a 、mem/f、mem/d/a 的内容贴上来,最好把 MSD 仅内存报告部分的内容也贴上来。
|
|
| 第5楼 jonsun | 发表于 2007-08-25 23:01 |
| 新手上路 发帖 5 积分 12 来自 台灣 | |
|
這是 ASUS P5GC-MX 主機板 純DOS
CONFIG.SYS: menuitem=CD, Start computer with CD-ROM support. menuitem=NOCD, Start computer without CD-ROM support. menuitem=NOVELL, ON LINE NOVELL. menudefault=NOVELL,10 menucolor=7,0 dos=high,umb devicehigh=c:\dos98\himem.sys /testmem:off rem devicehigh=c:\dos98\emm386.exe noems x=a000-c9ff i=e000-efff devicehigh=c:\dos98\emm386.exe noems lastdrive=e INCLUDE NOCD devicehigh=c:\dos98\teac_cdi.sys /D:TAC-CDI lastdrive=f INCLUDE NOCD files=10 buffers=10 devicehigh=c:\dos98\ramdrive.sys /E 1024 autoexec.bat: @ECHO OFF set EXPAND=YES SET DIRCMD=/O:N set LglDrv=16 * 15 set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C cls call c:\dos98\setramd.bat %LglDrv% SET PROMPT=$p$g path=c:\;c:\dos98\;%RAMD%:\;%CDROM%:\ copy c:\dos98\command.com %RAMD%:\ > NUL set comspec=%RAMD%:\command.com IF "%config%"=="NOCD" GOTO QUIT GOTO %config% :NOCD :CD LH c:\dos98\MSCDEX.EXE /D:TAC-CDI GOTO QUIT :NOVELL call c:\et3\et3 CALL c:\NET\NET.BAT set CDROM= set LglDrv= f: login acc1 cd \acc\prog :QUIT set CDROM= set LglDrv= c:>mem /d Conventional Memory Detail: Segment Total Name Type ------- ---------------- ----------- -------- 00000 1,024 (1K) Interrupt Vector 00040 256 (0K) ROM Communication Area 00050 512 (1K) DOS Communication Area 00070 1,424 (1K) IO System Data CON System Device Driver AUX System Device Driver PRN System Device Driver CLOCK$ System Device Driver A: - C: System Device Driver COM1 System Device Driver LPT1 System Device Driver LPT2 System Device Driver LPT3 System Device Driver CONFIG$ System Device Driver COM2 System Device Driver COM3 System Device Driver COM4 System Device Driver 000C9 5,120 (5K) MSDOS System Data 00209 7,584 (7K) IO System Data 1,024 (1K) Relocated EBIOS data 1,104 (1K) XMSXXXX0 Installed Device=HIMEM 4,304 (4K) EMMQXXX0 Installed Device=EMM386 544 (1K) Sector buffer 512 (1K) BUFFERS=10 003E3 80 (0K) MSDOS System Program 003E8 160 (0K) MEM Environment 003F2 90,624 (89K) MEM Program 01A12 548,560 (536K) MSDOS -- Free -- Upper Memory Detail: Segment Region Total Name Type ------- ------ ---------------- ----------- -------- 0CC5C 1 6,096 (6K) IO System Data 1,440 (1K) D: Installed Device=RAMDRIVE 464 (0K) Block device tables 304 (0K) FILES=10 256 (0K) FCBS=4 448 (0K) LASTDRIVE=E 3,072 (3K) STACKS=9,256 0CDD9 1 5,728 (6K) COMMAND Program 0CF3F 1 80 (0K) MSDOS -- Free -- 0CF44 1 1,440 (1K) COMMAND Environment 0CF9E 1 67,104 (66K) MSDOS -- Free -- Memory Summary: Type of Memory Total Used Free ---------------- ----------- ----------- ----------- Conventional 655,360 16,176 639,184 Upper 80,464 13,280 67,184 Reserved 0 0 0 Extended (XMS) 526,960,048 1,811,888 525,148,160 ---------------- ----------- ----------- ----------- Total memory 527,695,872 1,841,344 525,854,528 Total under 1 MB 735,824 29,456 706,368 Memory accessible using Int 15h 0 (0K) Largest executable program size 639,168 (624K) Largest free upper memory block 67,104 (66K) MS-DOS is resident in the high memory area. XMS version 3.00; driver version 3.95 附帶請教: devicehigh=c:\dos98\emm386.exe noems x=a000-c9ff i=e000-efff config.sys 如加上這行,就當機 貼上這麼多,希望對你的判斷有所幫助. 謝謝! [ Last edited by jonsun on 2007-8-25 at 11:14 PM ] |
|
| 第6楼 DOSforever | 发表于 2007-08-26 05:45 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
从你的 config.sys 、autoexec.bat 以及 mem/d 的内容来看,基本的启动配置没占多少内存,看来也就是以后要加载的“倚天”汉字系统和其它的驱动程序所占的多。根据你的等式: 640+65-180-驅動程式=340K ,驱动程序要占用的内存应该是 640+65-340-180=185 (K) 。我的理解,你那65K空余的上位内存 Free Upper Memory 不需要算在其内,因为你需要的是更多的 Free Conventional Memory ,所以你只要计算 Conventional Memory 的使用量就可以了。按照前面的计算,你的“倚天”汉字系统和“其它驱动程序”相加就要占用365K的空间,即使是最理想的情况也开不出这么大的 Upper Memory 。“倚天”汉字系统我没用过,就我所用过的 SPDOS、UCDOS 来说它们都可以充分利用 XMS 或 EMS ,甚至较老方式通过 Int15h 来使用的 Extended Memeory ,我想“倚天”应该也可以,你看一下它的参数是否有这功能。UCDOS 可以自行判断是否有可利用的 EMS 或 XMS 从而节省 1M 一下内存的使用。你其它的“驱动程序”是什么?要占180K?!我在你的 config.sys 中看不出。就是要把这180K的驱动程序全都塞进 Upper Memory 也够呛的。
devicehigh=c:\dos98\emm386.exe noems x=a000-c9ff i=e000-efff 意思是排除 a000-c9ff 段作 Upper Memory ,把 e000-efff 段包括进来作 Upper Memory 。 x=a000-c9ff 我认为没什么问题,因为排除了嘛,总是比较保险的,最多就是排除部分过多了点,还可以减小些作 Upper Memory 用;问题很可能出在 i=e000-efff 上,可能这其中的某段地址已经被某个 BIOS 所占用,所以你把它拿进来作 Upper Memory 用就会引起死机。我不清楚你这段参数原来是怎么加上去的。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |