2.MS-DOS的存储管理
5 o3 z: x# a# LMS-DOS是基于单道程序设计方法的操作系统,它最早选用的微处理器芯片是Intel8088和8086。这类微处理器上共有20根地址总线,因而内存容量为1MB,编址从0开始到2 20 -1结束。其中除MS-DOS的常驻主存部分和硬件用于硬盘驱动、显示缓冲等需要外,可供用户使用的内存空间最多还剩余640KB。MS-DOS对用户空间采用单连续存储管理方法。当一个用户程序装入运行时,MS-DOS把整个用户区分配给它;当程序运行结束时,MS-DOS收回用户区以满足下一个用户程序的运行要求。用户区域最多只有640KB,这一限制使许多用户感到失望,因而从MS-DOS5.0开始管理的内存空间可以扩大到16MB(80286)或4GB(80386、80486),把所管理的内存空间可分成下列几类:2 h6 I J+ w* n; g( Z
(1)常规内存把0KB至640KB的内存区域作为基本内存区,称为“常规内存”,可供所有的程序使用。其中MS-DOS5.0占用了一部分,其余可归用户使用。
8 ?- V4 i1 ^( K, W% w: w(2)保留内存指定址在640KB到1MB之间的内存区域,这部分区域也称“上方内存”(Upper Memory—缩记为UMB)。该区域供硬件使用,保留给屏幕处理、ROM BIOS或其它设备使用。, W2 y5 Z" |% a g r& D& E
(3)扩展内存定址在1MB之后的内存称“扩展内存”,一般程序不能直接使用扩展内存。扩展内存的使用要用XMS(Extended Memory Specification)规范提供支持,所以,扩展内存有时也简称XMS。Microsoft的HIMEM.SYS是一个符合XMS规范的扩展内存管理程序,因而,在使用扩展内存前应首先在CONFIG.SYS中加入安装HIMEM.SYS的命令。扩展内存的第一段,即1MB到1MB+64KB的区域称为“高内存区”(High Memory Area—缩写HMA)。用户可以要求把常规内存中的DOS大部分常驻程序移到高内存区,以腾出更多的空间让用户的应用程序使用。
& H$ }) r) a' |9 v. X(4)扩充内存扩充内存是由EMS(Expanded Memory Specification)规范支持的内存,它被做成一块卡的方式插在扩充槽上,扩充内存可简称EMS。使用EMS时必须装入扩充内存管理程序EMM386.EXE。
8 e5 u! R/ e0 [9 ]3.MS-DOS的文件管理- o8 U9 o/ K, j) Z
(1)文件和文件名在MS-DOS中,所有的程序和数据都是以文件的形式存储在磁盘上的。为了区分不同的文件,每个文件必须有一个惟一的标识,在MS-DOS中把文件的标识称为“文件引用名”,简称“引用名”。引用名由三部分组成,格式如下([]中的部分是可以缺少的):
Y% j7 }9 L, V6 g, j- l+ c[〈盘符〉][〈文件名〉][。〈扩展名〉]2 p. M/ S" A$ m
(2)目录结构MS-DOS的文件系统采用树形目录结构,树中的每一个结点都有一个名字以供访问。树的结点分为三类:根结点表示根目录;树枝结点表示子目录;树叶则表示文件。根目录又称为系统目录,每张盘上只有一个根目录。根目录中能存储的目录和文件的数量是有限的,子目录中能存储的目录或文件是没有限制的,只要磁盘能容纳就行。根目录的代号为“\”,不能改变,而子目录的名称可以自己定义,子目录名的格式与文件名类似,由不超过8个的有效字符组成。MS-DOS中把子目录也看做文件(称“目录文件”)。每一个文件在目录中占一个目录项,每个目录项由32个字节组成。当建立一个新文件时,MS-DOS会在指定的目录中建立该文件的目录项,登记文件名、指出文件长度、建立时间和日期、存放地址和属性等。在MS-DOS中,“簇”是磁盘空间的分配单位,一个簇由若干扇区组成(簇中扇区数取决于磁盘容量),首簇号指出文件在磁盘上的起始地址。文件的属性有“档案属性”(文件是否有备份)、“只读属性”(此文件只能读取,不能写入数据和删除)、“隐含属性”(文件被隐藏,可以使用但不能拷贝或删除)、“系统属性”(不能拷贝、删除和随意修改)等。 |