为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

【doc】如何使用扩展内存和扩充内存

2017-09-30 13页 doc 30KB 30阅读

用户头像

is_589748

暂无简介

举报
【doc】如何使用扩展内存和扩充内存【doc】如何使用扩展内存和扩充内存 如何使用扩展内存和扩充内存 1994年1月 第卷第1期 四川师范大学(自然科学膜) JournalofSichuanNormalUniversity(NaturalScience) VoI.17,No.1 Jaa..1994 c7一如何使用扩展内存和扩充内存 吴明史亘 (敦学熏) T~333 【摘要】奉文主要讨论了DOS扩展的有关技术,支持软件使用方法和范圈.这有助于 充分刺用计算机资镯【,扩大应用程序曲处理能力. 关键调bOS.扩匿内存,扩充内存.高速缓存,保护...
【doc】如何使用扩展内存和扩充内存
【doc】如何使用扩展内存和扩充内存 如何使用扩展内存和扩充内存 1994年1月 第卷第1期 四川师范大学(自然科学膜) JournalofSichuanNormalUniversity(NaturalScience) VoI.17,No.1 Jaa..1994 c7一如何使用扩展内存和扩充内存 吴明史亘 (敦学熏) T~333 【摘要】奉文主要讨论了DOS扩展的有关技术,支持软件使用方法和范圈.这有助于 充分刺用计算机资镯【,扩大应用程序曲处理能力. 关键调bOS.扩匿内存,扩充内存.高速缓存,保护方式.实方式 中囝分蜒哥—菌丙;;,一 286以上的机器都配置了1MB或1MB以上的扩晨存储器,但一般用户是无法对其寻址的.而 它最适合存放较大的程序.如汉字点阵的库文件等.且不与用户争用常规存储器.这样就可为用户 挤出十分可观的存储空间.比如一个使用了扩展存储器的汉字操作系缀只占用几十K的常规存 储器.否则会占用300K左右的常规存储器.? 有人认为内存越大越好.其实非并完全如此,关键是如何充分利用这部分扩大了的内存.计算 机能使用多大的存储器是设计进CPU的,多年来,绝大多数用户都是在Ms—DOS的640KB常规 内存的限制下工作的,因而造成了严重的存储器管理问.而在高档微机上,大都配有2~16MB的 内存,如何才能解决这类硬件配置与DOS不匹配的问题.这对于新型CPU功能的发挥,对于越来 越大的应用程序网络程序和相应的数据应用等.都是一个巨大的障碍.为了充分利用IMB以上地 址的内存空间资|醣c.克服DOS"实方式"的局限性,人们想了很多办法,但最有效的办法是将处理器' 推入"保护方式"下才能象使用常规内存一样有效地使用这部分空间.在需要DOs服务时再返回实 方式.现就有关问题介绍如下.' 】内存管理 早期的8086/8088处理器寻址空间为1MB字节,80286以上的CPU其寻址空间可达16MB 字节,80386寻址空闻可达4GB字节.早期的8086的1MB寻址存储器的划分如下图所示. UMB可以通过专门的硬件和内存管理程序找到,构成uMB,并在实方式下访问.HMA只能 在80286以上的机器使用,也可在实方式下访问.而EMB是在扩展存储器中分配的,只能在保护 方式下访问. 对于286以上的机器,其开头的1024K字节分配同下图.当内存超过640K时,则情况就有所 不同.当RAM?1MB时,上部内存的分配方案就可能有好几种.可以按EMS,XMS任一种或两种 同时增加内存,但在使用时是有差别的,且必须符合由LIM制定的扩充内存规范3.0,3.2EMS (ExpandedMemorySpecification).1987.10又推出EMS4.0版.它支持4倍于3.2版的扩充内存, 或XMS(ExtendedMemorySpecification)2.0版(已有3.0版)的规范. 收稿日期l993—05—18 第1期吴明炬如何使用扩喂内存和扩充内存 000000H 010000H OA0000H i00000H l10000H FFFFFFH 低位内存__ 常规内存6- 0K (Conventional MemorY)— UpperMemory— Blocks(UMB)jB4K ,上部内存_—_L'' HighMemory- Atea(HMA)64K 高位内存一 EMB(t'Id" memoryblocks)f f&Jff, 也叫DOS低区,低端内存,基本1 内存,基本RAM640K,自由内J ? l竹I l岫 也叫DOS高区或扩充内存I (EMS),ROM,高端内存,l 384K,BIOS内存或适配器内存..J IMB以上叫扩展内存(XMS),也 可为扩充内存或两者兼而有之. 使用EMS扩充存储器的程序并不能直接存取扩展存储器的信息,因它是在CPU地址空伺以 外的存储空间.解决的办法是:采用页面切换及内存映射技术通过把EMS扩充存储器分为若干个 16K的段(叫做一个页面).从非DOS寻址的区域映射到第一个IMB字节的上部存储器地址上实 现寻址,它最大可访问8MB的EMS内存.对EMS3.0和3.2版每页的长度为16K.4.0版允许分 配其他长度的页,为兼容起见,最好不使用这个功能.由于EMS扩展存请器管理程序只允许一次 访问有限的信息,因此它的使用比较麻烦.速度较慢,应优先选用XMS. PC286,386,486都可使用XMS,它通过用专门的指令对处于较高地址的扩展存储器寻址,可 获得较高的速度和效率.但对于扩展存储器的使用不象使用常规内存那样简单,方便,不能直接使 用,而必须经过一些处理,转换.常使用户感到不便 2使用扩展存储器的环境和条件 在目前虽然可以通过EMS来使用扩展存储器,但必须具备下列的一些基本条件; I)要求内存?IMB的PC286,386,486及其兼容机.在PC286,386上使用扩展存器,必须增加 物理内存,为使性能更好,应把扩展内存与系统内存物理上一起放在PC母板上.如母板上没有额 外的存储器位置,可加一块内存适配板,并将其部分或全部配置成扩展存储器; 2)在MS--DOS3,3以上,DRDOS5.0,6,0以及OS/2,UNIX等操作系统的支持下使用; 3)在Windows3.0,3.1支持下使用; 4)用SETuP程序直接设置; 5)需要驱动程序扩展内存要求既要有存储器管理软件EMM,如HIEME.SYS或QEMM. SYS等,用来管理系统或应用程序对扩展内存的访问;又要有硬件(扩展内存适配板)的支持; 6)尽管提供给用户的界面相同,但不同的机器有不同的EMS(依赖于机器的硬件结掏),因它 与系统使用的扩展存储器板有关. 3使用扩展,扩充内存的方法 如何真正用好640K内存?MS—DOS,DRDOS,Windows等提供了一系列技术以压鳍操作系 统本身所占的常规内存,如:将各种设备驱动程序(鼠标,网络驱动程序等),DOS内核驻留程序等 安排到常规内存之外;另外.还可在某种条件下把显示缓冲区不用的内存块也连接至常规内存,使 lOO四川师范大学(自然科学版)17卷 640K的常规内存能真正供用户使用.使用方法如下: 1)将扩展内存设置成一个虚拟盘,把一些原放在常规内存的程序放到扩充内存中,这是最常用 的一种方法.如;将一些大程序如中文DOs的l6点阵中文字库或其他应用程序放到虚盘中.节 省常规内存的空间留作它用.使用时应对Config.sys文件作适当的配置.例: ?一台PC286主机,IMB内存,在MS--DOS3.30下,其Config.sys设置如下: DEVICE=c:\DOS\ANSI.SYS使用扩展键盘管理模块} DEVICE=C:M)OS\VDISK.SYS38451264/E开虚盘384K空间; FILES=20 ?一台AST386主机,4MB内存,在MS--DOS5.0下,其C0nfig.sys的设置为: DEVICE=C:',DOS\ANSI.SYS DEVICE=HIMEM.sYs扩展内存管理; DOs=HIGH将DOs放在高位内存; DEVICE=RAMDRIVE.SYS3072/E开虚盘3072K空间} FILES一20 @在网络中使用 在DOS3.30以上应用RAMDRIVE.SYS(代替VDISK.SYS),Config.sys设置为: DEvICE—C:\HIMEM.SYS DEVICE=C:\ANSI.SYS DEVICE=X:kRAMDRVICE.SYS38451264/E FILES一30 BUFFERS一30 2)利用DOS提供的设备驱动程序来使用扩展内存 ?在Ms—DOs5.0下使用 为了更有效地使用扩展丙存,DOS5.0提供了两个可安装的存储器管理程序HIMEM.SYS (286)和EMM386.EXE(386,486系统)来使用XMS.但它需要有EMS和EMM内存管理软件才 能真正使用起来.EMM386.EXE可在386以上的机器中,用XMS仿真EMS. A.HMA的使用HIMEM.SYS提供了HMA的管理,DOS5.0可将自身的一部分装入 HMA,从而增加常规内存的可用空间.安装时可直接将HIMEM.SYS或EMM386.EXE拷入c: 盘根目录下,然后建立Config.sys文件,其设置如下: DEVICE=C:\DOS\SETVER.EXE FILES=30 BUFFERS=20 SHELL—C:',DOS\cOMMAND.COMC:\DOS/\P DEVICE—c;\DOS\HIMEM.SYSC假设HIMEM.SYS在C:\DOS子目录中]]286以上内存 DoS—HIGHJ?lMB时 B.UMB的使用为了在386及386SX以上的微机中,使用EMM386.EXE程序来管理UMB 和仿真EMS,必须在Config.sys文件中设置如下命令: DEVICE—C;\DOS\HIMEM.SYS DEVICE=Cl',DOS\EMM386.EXECMemory3[RAM][NOEMS] DOS=UMB用于386或486机,可建立基本内存与高位内存的联系. 第1期是明炬,如何使用扩展内存和扩充内存l0l EMM386.EXE必须在HIMEM.SYS已装入的情况下运行.MEM0RY指定要分配给 EMM386.EXE的以KB为单位的内存数量,缺省值为256;RAM参数规定可以存取EMS和 UMB;N0EMs则规定只存取UMB,若用户很少或不用EMS,可使用N0EMs开关和缺省内存 值. 然后用DEVICEHIGH命令将设备驱动程序装入.可用LOADHIGH或LH命令将应用程序 或内存驻留程序装入UMB,内存高端空问不够再驻留基本内存.使用386以上机器的用户应尽可 能地使用UMB,从面可使普通应用程序获得更多的内存空间.与此同时,应适当地修改配置文件, 否则,由于有的程序不能运行而导致系统无法启动或产生死机. 此外,还可用MEM外部命令及c,D,P开关,获得常规内存和扩展内存分配情况的报告. @在DR6.0下使用 DRDOs6.0提供了2个设备驱动程序HID0s.SYS(对286机),EMM386.sYs(对386以上 机器)以支持上述提到的上部内存,高位内存,EMS,XMS等的使用.这两个驱动程序可通过 DRDOS的INSTALL或SETUP程序很方便地设置和安装,在Config.sys中加入有关的安装命令 和相应的参数,以最好地发挥这两个驱动程序的作用.为此,它提供了HIBUFFERS,HIINSTAL— L,HIDOS和HILOAD命令.前三个命令要放在Config.sys文件中,用来在机器启动时分别把磁 盘缓冲区设置在上部或高位内存,把内存驻留程序和系统数据结掏安装到上部内存.最后一个外部 命令用来把内存驻留程序或其它实用程序装入到上部内存并执行之.这样就把常规内存中的东西 尽可能的都搬到常规内存之外去,从而扩大了常规内存的可用空间,留作它用. 另外还可以利用HIDOS和EMM386.SYS来释放由DOS操作系统在上部内存区预留的显示 缓冲区,使得这部分内存可以和常规内存连接起来对MDA是从0A0000H~0B0000H段的64K, 对EGA(VGA)是从0A00o0H,0B8000H段的96K,并将原来常规内存高端的系统数据移到常规 内存的低端,从而将常规内存的可用块一直延续到这部分增加内存的末尾,最大可用块可达700K 左右. 例;在Conflg.sys文件中应包括下述内容: HIBUFFERS=15在高位内存中开辟l5个缓冲区 HIDOS=ON将系统数据结构移到上部内存中 HIDEVICE—C:\DRDOS\ANSI.SYS将ANSI.SYS设备驱动程序安装到上部内存中 当使用鼠标操作时,应在命令行中键入: c>HIL0ADMsM0usE即将鼠标设备驱动程序装入上部内存 当在网络上使用时,在命令行中键入命令; C>HILOADCkNET\1PX1 C>HILOADC:\NET\NEXTJ将网络驱动程序装入上部内存 这样,通过上述操作已将系统内核,缓冲区,系统数据结掏和网络驱动程序等都移出了常规内 存,从而就给常规内存留下了相当可观的空间. ,使用外部命令MEM和MEMMAX,了解大于lMB内存的分配情况.MEM有七个可选择项, 同时可选多个,以观察内存的使用情况.比如/B,将显示操作系统内存不同部分的使用情况,如设 备驱动程序和BIOS以及当前如何为程序分配内存的Dos内存控制块(MCB)链等. 在MEMMAx后可带一u,+U开关,使之有选择地禁止/开放使用上部内存.可在INsTALL 过程中自动加入一行MEMMAx—u命令到Autoexec.bat文件中,可阻止应用程序使用上部内 存.如要使用HILOAD命令,则须执行MEMMAX+u以重新开放上部内存. lO2四川师范大学(自然科学版)17卷 通过使用MEMMAX—L开关,可强制将应用程序装入低位的84K内存区之上,这样应用程 序就可以使用低位内存了.在程序运行终止后,用MEMMAX+L命令恢复使用低位64K内存区. 3)在Windows下使用 在286处理器系统上,Windows只能在模式下运行,不能管理虚拟存储,即使有1,2MB 内存也不宜采用Windiws作为改变工作环境的手段;只有在386及其以上的系统上才能更有效地 发挥其处理器的功能. 在Windows3.0中包含了HIMEM.SYS和SMARTDRV.SYS,EMM386.SYS等驱动程序. 若用户在DOS5.0下使用Windows3.0,则应用该Dos中的HIMEM.sYs和SMARTDRV.SYS, EMM386.EXE取代.若采用Windows3.1,就应用该Windows中的HIMEM.SYS和sMART— DRV.EXE,EMM386.EXE取代.Windows3.1中的HIMEM.SYS符合最新的xMs规范.新的 SMARTDRV.EXE和EMM386.EXE为可执行文件,使其可随时改变一部分运行参数,面不必重 新启动系统.一般在运行Windows时即自动生成Config.sys文件.SMARTDRV.EXE的安装可 在Config.sys文件中用 INSTALL=c:\Windows\SMATRDRV.EXE20481024或在Autoexec.bat文件中直接用 SMARTDRV20481024命令.采用新驱动程序能使系统的整体性能始终保持最佳状态. 4)用sETuP程序直接设置.下面以Gw286Ex/16为倒加以说明.. 系统EMS功能的设置或改变-EMSMemo~容量,取决于总的内存容量,在基本配置(1MB) 下,EMSMemory只能设为288KB或0KB,在>IMB时,EMS和xMs内存的容量可以选择,二者 的总内存容量是除去ShadowRAM所占用的部分.如内存容量为2MB时,设置结果是: C1024K]E A XTENDEDMEMOR 篓Y篓1024KB篇…扩展内存为l二=二::二二一…一,96K3SHADowMEM01三穹存为%KBls…am…~述:一C288K3EMSMEMORY扩充内存为288KBJ……………一 第1期吴明俎?如何使用扩展内存和扩充内存103 ClnitCaeheSize3--以KB为单位的高速缓存尺寸,有效值为128~8192,最佳尺寸是2MB. CMinCaeheSize3--最小高速缓存尺寸.隐含值为0. [/a)——告诉系统将缓存装入EMS,如缺省则被装入XMS. (3)文件名缓存(FilenameCache)利用Ms—Dos3.3以上的FAsT0PEN程序可以加速文件 和目录的访问.它所采用的也是高速缓存技术.使用时在Config.sys中作如下设置 INSTALL—C;\D0s\FAsTOPENC:=50C/X3开关C/X2将FAST0PEN装入EMS. 在386系统上将其装入UMB,需在Autoexec.bat文件中加入; LHC:kDOS\FASTOPENC;;50命令装入. 参考文献 1.计算机世界月刊i993.(1),73~7,5,1993.(4)l71,74 2.中国计算机用户1992.(4)t54,1993,(3)t3,13. 3.计算机世界周报1993.2.17:149.151 4.随机用户手册 H0WTOUSEEXTENDEDMEMORY ANDEXPANDEDMEMORY WuMingxuan (DepartmentofMalhemalics) AtTtThisarticlemainlydiscussesthetechniquesofextendedDOS-supportingsoftwar~andt he哪af theirapplications,whichhelpmakefulluseofcomputerres.urcesandexpandtheproce~ngeal mbili6eaofapplied progTammes— KeywordsDOS-extendedmemory-expandedmemory-cache,printedmode-redmode. aassifkationcodenfChineseliteraturesTP?3
/
本文档为【【doc】如何使用扩展内存和扩充内存】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索