无忧启动论坛

标题: 请问DOS下的上位内存是不是固定的? [打印本页]

作者: zhenfu    时间: 2005-4-11 01:29
标题: 请问DOS下的上位内存是不是固定的?
请问DOS下的上位内存是不是固定的?还是到各种机子上分配的上位内存各不同?能否加大上位内存?如果加载上位内存和加大怎么实现?..
作者: gmy    时间: 2005-4-12 00:24
标题: 请问DOS下的上位内存是不是固定的?
这里需要指出内存分为:常规内存,上位内存,高位内存,扩展内存,扩充内存。在以上概念中,学术界分歧较大的是 上位内存和高位内存,管理软件常用的是HIMEM.SYS  EMM386.EXE  UMBPCI.SYS 三个,超级急救盘 已经给出6种不同的方案,一定会有你想要的。
作者: 沙漠    时间: 2005-4-17 17:24
标题: 请问DOS下的上位内存是不是固定的?
答非所问呢~~~
帮忙解释一下楼主的问题吧,这问题是个关键~~~
谢谢
作者: terminator    时间: 2005-4-26 11:35
标题: 请问DOS下的上位内存是不是固定的?
小弟给你解释一下!
DOS下的内存  
  DOS操作系统最早设计时,PC机的硬件系统只支持1M字节的寻址空间,所以DOS只能管理最多1M字节的连续内存空间。在这1M内存中,又只有640K被留给应用程序使用,它们被称为常规内存或基本内存,其它384K被称为高端内存,是留给视频显示和BIOS等使用的。在1982年,640K内存对微型计算机来说显得绰绰有余,人们甚至认为,640K的内存可以用来干任何事。现在看起来有些可笑,但在当时,情况确实如此。
  现在的情况是,即使你的电脑装有几兆或几十兆内存,但如果你使用DOS操作系统,那么你也只有640K的内存可以直接使用,1M以上的内存要通过一些内存管理工具才能使用。值得庆幸的是,Windows 95已经不存在常规内存的限制了,你所有的内存,不管是8M还是128M,都可以被直接使用。
  在DOS下,系统中存在以下四种内存:
  常规内存(Conventional Memory);
  高端内存(Upper Memory);
  扩充内存(Expanded Memory);
  扩展内存(Extended Memory)。
  常规内存指的是0-640K的内存区。在DOS下,一般的应用程序只能使用系统的常规内存,因而都要受到640KB内存的限制。而且由于DOS本身和config.sys文件中的安装的设备驱动程序和autoexec.bat文件中执行的内存驻留程序都要占用一些常规内存,所以应用程序能使用的常规内存是不到640K的。有很多时候,我们都要想方设法地整理内存,好为一些“胃口”比较大的应用程序留出足够的常规内存,这一点想必是许多DOS时代的电脑爱好者最熟悉不过的了。
  高端内存是指位于常规内存之上的384K内存。程序一般不能使用这个内存区域,但是EMM386.exe可以激活高端内存的一部分,并且它允许用户将某些设备驱动程序和用户程序用Devicehigh或LH(即loadhigh)装入高端内存。dos=high,umb也是把DOS的一部分装到高端内存里。这里的umb是高端内存块(Upper Memory Block)的缩写。
  扩充内存是一种早期的增加内存的标准,最多可扩充到32M。使用扩充内存必须在计算机中安装专门的扩充内存板,而且还要安装管理扩充内存板的管理程序。由于扩充内存是在扩展内存之前推出的,所以大多数程序都被设计成能使用扩充内存,而不能使用扩展内存。由于扩充内存使用起来比较麻烦,所以在扩展内存出现后不久就被淘汰了。
  扩展内存只能用在80286或更高档次的机器上,目前几乎所有使用DOS的机器上超过1M的内存都是扩展内存。扩展内存同样不能被DOS直接使用,DOS5.0以后提供了Himem.sys这个扩展内存管理程序,我们可以通过它来管理扩展内存。emm386.exe可以把扩展内存(XMS)仿真成扩充内存(EMS),以满足一些要求使用扩充内存的程序。
  最后再强调一下,不管扩充内存或扩展内存有多大,DOS的应用程序只能在常规内存下运行。有的程序可以通过DOS扩展器(比如DOS4GW.exe等程序)使CPU进入保护模式,从而直接访问扩展内存;但是要注意,进入保护模式以后,计算机就脱离了DOS状态。
  

作者: gmy    时间: 2005-4-26 13:24
标题: 请问DOS下的上位内存是不是固定的?
楼上的文章很好。
我对内存的看法是:1M以下的内存是主板提供的(内存条提供的是1M以上的扩展内存),上位内存在1M以内,所以各个电脑都不一样是正常的,尤其是SIS,ALI的某些在运行 超级急救盘 时某些程序无法使用的就是这个原因,我个人认为还是Inter和VIA的主板好。
作者: zhenfu    时间: 2005-4-26 14:40
标题: 请问DOS下的上位内存是不是固定的?
非常感谢二位.呵呵.
作者: 沙漠    时间: 2005-4-28 00:13
标题: 请问DOS下的上位内存是不是固定的?
哦~~~~~~原来这样啊~~~
我说emm386不知道干什么用的呢,感情激活内存用的啊~~~
目的是用来提升速度的啊

作者: terminator    时间: 2005-4-28 17:34
标题: 请问DOS下的上位内存是不是固定的?
   配置内存很重要,弄不好有些软件就用不了了,我想问个问题,我要在启动盘里加载
USB
CDROM
MOUSE
NTFS
DOS LONG NAME
天汇汉字系统
怎么让这些东西不打架,我加载了usb和cdrom后ntfs和长文件名就不能用了,不过不加载usb,其他的都可以用儿不打架!下面是我的config配置
[menu]
menuitem=return, Simple DOS Mode.
menuitem=CD,     Support CDROM Drive to restart.
menuitem=all,    Support USB-Disk Drive to restart.
menudefault=cd,15
menucolor=15,0
[return]
include mem
[CD]
include mem
device=echo.sys No/w/ /L/o/a/d/ /C/D/R/O/M/ /D/R/I/V/E/.............
devicehigh=VIDE-CDD.SYS /d:QUQU
[all]
include cd
include usb
[MEM]
DEVICE=ECHO.SYS L/o/a/d/i/n/g CONFIG.SYS /w/i/t/h HIMEM a/n/d EMM386...
device=himem.sys /testmem:off
device=emm386.exe  NOEMS X=D100
[USB]
DEVICE=ECHO.SYS
DEVICE=ECHO.SYS L/o/a/d/i/n/g USB /d/r/i/v/e/s /s/u/p/p/o/r/t...
devicehigh=usbaspi.sys
devicehigh=Di1000dd.sys
[COMMON]
SHELL=A:\COMMAND.COM /P /E:1024
SET TMP=C:
SET TEMP=C:
DOS=HIGH,UMB,AUTO
NUMLOCK=ON
FCBS=1
FILES=8
BUFFERSHIGH=30,0
LASTDRIVE=z
STACKSHIGH=9,256
Autoexec.bat如下
@ECHO OFF
echo Now Setting Disk Cache , Please Wait......
LH smartflp
LH ctmouse
LH mousclip
echo Now Setting Ramdrive , please wait......
XMSDSK 5124 /Y
findramd
set temp=
set tmp=
set temp=%ramdrive%
set tmp=%ramdrive%
echo Now copy command to %ramdrive% .......
copy a:\command.com %ramdrive%>nul
set comspec=%ramdrive%\command.com
goto %config%
:cd
LH shsucdx.exe /d:QUQU
findcd
echo Now Ramdrive is -- %ramdrive%!!    CD-ROM drive is --- %cdrom% !!
echo.
echo.
echo Do you really want to load tools files ?
echo ***  Have a choice within 30 seconds ***
echo Press ESC to Cancle, Press any key to Continue.
WAIT 60
if errorlevel 27 if not errorlevel 28 goto end
echo.
echo.
call load
call menu
goto end
:all
LH shsucdx.exe /d:QUQU
findcd
echo Now Ramdrive is -- %ramdrive%!!    CD-ROM drive is --- %cdrom% !!
echo.
echo Do you really want to load tools files ?
echo ***  Have a choice within 30 seconds ***
echo Press ESC to Cancle, Press any key to Continue.
WAIT 60
if errorlevel 27 if not errorlevel 28 goto end
echo.
echo.
call load
call menu
goto end
:return

:end
echo.
rem clean up environment variables
set CDROM=
set LglDrv=
set mpos=
set wbat=





欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3