软件技术基础第04章资源管理技术.ppt
第 1 页,教学目标,了解内存储器的管理技术了解文件的组织和管理,第 2 页,学习要求,通过本单元的学习,了解、弄清、掌握:存储器管理的概念、目的、任务功能、存储分配、地址重定位、虚拟存储器存储器管理的常用方法和技术 单一连续区、多连续区、页式、段式等管 理方法文件的组织和管理,第 3 页,第一部分()存储器管理,1.基本概念(1)定义:存储器(Memory)能接收数据、保存数据、并能根据命令提供这些数据的装置。(2)存储器的分类:内存储器(简称内存、主存、物理存储器):处理机能直接访问的存储器,用来存放系统和用户的程序和数据。其特点是:存取速度快,存储方式是以新换旧,断电信息丢失。外存储器(简称外存、辅助存储器):处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。如我们的磁盘。提示:存储器管理主要指内存的管理。所以,以后无特别说明,存储器管理指的是内存的管理,第 4 页,一、存储器管理,1.基本概念(1)定义:存储器(Memory)能接收数据、保存数据、并能根据命令提供这些数据的装置。(2)存储器的分类:内存储器(简称内存、主存、物理存储器):处理机能直接访问的存储器,用来存放系统和用户的程序和数据。其特点是:存取速度快,存储方式是以新换旧,断电信息丢失。外存储器(简称外存、辅助存储器):处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。如我们的磁盘。提示:存储器管理主要指内存的管理。所以,以后无特别说明,存储器管理指的是内存的管理,第 5 页,(3)内存的物理组织物理地址:把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址(物理地址、绝对地址、实地址),存储单元占8位,称作字节(byte)。我们说的256M内存指的是字节物理地址空间:物理地址的集合称为物理地址空间(主存地址空间、绝对地址空间),它是一个一维的线性空间。,第 6 页,2.存储器管理的功能,(1)存储空间的地址转换将逻辑地址转换为物理地址(2)存储空间的分配和释放负责分配和回收内存(3)主存空间的扩充提供虚拟存储、程序覆盖技术,目的是扩展运行大型程序的能力(4)存储保护保护系统程序和各用户程序的运行不受干扰。,第 7 页,(1)存储空间的地址变换,几个概念:程序地址:用户在程序中使用的是符号名,编译系统在产生的目标程序中使用的地址是相对于程序开始设置的,称为逻辑地址(或相对地址、虚地址)(以0为基址顺序编址)程序地址空间(逻辑地址空间、虚地址空间):用户的程序地址的集合称为逻辑地址空间,它的编址总是从0开始的,可以是一维线性空间,也可以是多维空间。物理地址:而可执行程序在计算机中运行时使用的是内存的物理地址(也叫绝对地址)。(即前面定义的物理地址)地址转换:由程序的逻辑地址空间到运行时真正使用的物理地址空间转换叫“地址转换”,也叫地址重定位,或地址映射。逻辑地址到物理地址的转换,第 8 页,地址重定位示意图,int a;float b;char c;,a的绝对地址,b的绝对地址,c的绝对地址,0X,a的逻辑地址,b的逻辑地址,c的逻辑地址,2FF0,3EC0,4DAA,源程序符号空间 目标程序地址空间 内存的存储空间 名空间 逻辑地址空间 物理地址空间,装入内存使用物理地址,编程时用的是符号地址,编译、链接产生逻辑地址,第 9 页,地址重定位的方式,静态重定位动态重定位,第 10 页,静态地址重定位,原理:是指在作业执行之前进行的重定位。地址转换工作主要靠重定位装入程序来完成。特点:简单、容易实现,无需硬件的支持,是早期计算机采用的一种方式。缺点:程序一经定位后就不能再在主存中移动,不能重新分配内存,不利于内存的有效利用;要求作业分配连续的主存空间,主存资源利用率低;不同用户难于共享主存中的同一程序。,第 11 页,静态重定位示意图,作业A的地址空间,主存空间,0100 300500,100200400600,INPUT 1,300,INPUT 1,400,1 3 5 7,1 3 5 7,作业的逻辑地址100处是一个输入语句,从逻辑地址300处,读1个记录。重定位到主存空间后,因为作业从物理地址100处被装入,输入语句的地址按序被定位在200处,被读记录在400处。,从逻辑地址300处,读1个记录,第 12 页,动态地址重定位,动态地址重定位 是在程序执行过程中进行的重定位,更确切地说是在每次访问内存单元前才进行地址变换。它是通过硬件的地址变换机构实现的。设置一个重定位寄存器(RR),用来存放装入主存空间时的起始地址。作业访问主存空间的地址是由逻辑地址加重定位寄存器的地址来确定。主存实际地址=逻辑地址+重定位寄存器内容,第 13 页,动态地址重定位示意图,300,1000,+,0 100 300 600,0110013001600,I 1,3001 3 5 7,作业A地址空间,有效地址,重定位寄存器,主存空间,I 1,3001 3 5 7,第 14 页,动态地址重定位的特点,目标模块装入主存后,还可以很容易地进行移动。有利于解决内存管理出现的中碎块问题;多个相对独立的目标模块,可以分别装入互不相邻的内存区域。这样便于内存的充分利用和资源的共享。程序中不执行的程序,不做地址映射工作,节省了CPU的时间。需要附加硬件的支持,增加了系统的开销。(重定位寄存器,缺点)。,第 15 页,(2)存储空间的分配和释放,在计算机中,无论是系统程序、还是用户程序,无论是数据、还是文件,必须装入主存才能进行处理。系统通过空间分配管理表,记录系统中可用的空间及占用的空间状态,来管理内存的分配和释放。过程是:A)应用程序提出空间申请B)若有足够内存,则装入程序执行;否则,等待或显示内存空间不足。C)程序执行完毕,提出回收申请,系统回收内存。,第 16 页,存储分配方式,有三种 直接分配 在源程序中直接使用主存的物理地址。对用户要求高、使用不方便、易出错。早期计算机系统中使用。静态分配 在作业装入前,由程序一次性说明作业所包含的地址空间。确定后在整个程序执行过程中不再改变。简单、利用率低、难于实现多道程序对资源的共享。(对应静态地址转换)动态分配 在作业被装入主存或在执行过程中,才确定其存储分配。管理复杂、但利用率高,容易实现主存的资源共享。在现代多道程序系统中,主要采用动态分配方式。,第 17 页,(3)存储空间的分区保护,在多道程序系统的主存中(环境),为了保护系统程序的安全(目的),系统程序和用户程序实际使用的区域是隔开的(方法)。这种分割是靠硬件实现的。用户程序只能使用用户区域的存储空间(说明)。其他存储保护 A)上下界保护 B)基址、限长寄存器保护,系统区域,用户区域,主存空间的分区 保护示意图,第 18 页,(4)主存空间的扩充,主存的空间是有限的希望在有限的空间中运行大型程序使用的技术有:“自动覆盖”技“虚拟存储”技术,第 19 页,自动覆盖技术,思想:将大的程序划分为主存中可以容纳的独立的逻辑处理段。每次只调入其中的一段进行处理。早期程序设计中,经常采用类似的方法处理大的问题。例如,求解大型线性方程组,就是采用“分块”算法将大的系数矩阵分为小块矩阵求解的。,第 20 页,虚拟存储器(Virtual Storage),基本思想:用户编程序时不需要考虑物理内存的结构和容量,当程序较大时,系统将一部分外存“虚拟”成内存来使用,386地址总线32位,寻址232=4GB,可管理64TB的虚拟存储器。虚拟存储器技术是在硬件和软件的共同支持下实现的(CPU和操作系统)。硬件负责虚实地址的转换;软件负责实存(主存)和虚存(外存)之间的信息调度管理。,第 21 页,内存扩充技术的比较,覆盖技术:一个作业的若干程序段,或几个作业的某些部分共享某一个存储空间。交换技术:当内存空间紧张时,系统将内存中某些进程暂时移到外存,把外存中某些进程换进内存,占据前者所占用的区域(UNIX)比较:交换技术不要求用户给出程序段之间的逻辑覆盖结构。而且,交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。此外,覆盖只能覆盖那些与覆盖段无关的程序段。虚拟存储器:程序、数据、堆栈的大小可以超过内存的大小,操作系统把程序当前使用的部分保留在内存,而把其它部分保存在磁盘上在需要时动态交换。,第 22 页,3.存储管理的方法,介绍4种:单一连续区分配法 多连续区分配法 分页管理法 分段管理法,第 23 页,(1)单一连续区分配法,方法要点:把主存分为两个固定的存储区域;一个固定地分配给OS,另一个分配给用户程序。(通过硬件寄存器实现)硬件支持:引入“篱笆(Fence)寄存器”(界限寄存器),将OS和用户的使用区域分开。用户程序的重定位方法可以使用:静态定位法:程序装入前一次将逻辑地址转换成绝 对地址,以后不再转换。动态定位法:在程序执行过程中动态实现,第 24 页,单一连续区分配法示意图,2000,CPU,+,操作系统,自由空间,0用户区域,主存空间,定位寄存器,1500(逻辑地址),2000,3500(绝对地址),(动态重定位)说明:绝对地址=基地址+逻辑地址基地址不同产生的绝对地址就不同。,第 25 页,单一连续区分配法特点,优点:定位容易,使用简单缺点:但在多道程序处理 情况下,主存资源 利用率低,浪费大。仅适用于单道程序,第 26 页,(2)多连续区分配法,方法要点:把主存空间划分为若干个连续的区域,建立空间分区表进行管理。分区大小可以不同。硬件支持:增加新的保护装置边界寄存器LOW、UP,限制分块的上、下边界。分类:固定分区,也称静态法 变长分区,也称动态法,第 27 页,固定分区(多连续分区),a)在作业前,把主存划分为几个固定大小的连续区域;分区大小可以相同,也可以不同。一旦划分好,在系统运行期间不再重新划分。(分区)b)建立一张分区说明表,记录每个分区的大小、区号、起始地址、及占用标志等信息。(建 分区说明表)c)在作业调度时,根据分区说明表来装入程序和确定程序的重定位地址。(通过分区说明表管理),第 28 页,固定分区示意图,区号,大小,起址,状态,1 10K 20K 已分2 20K 30K 已分,3 30K 50K 已分4 80K 80K 未分,分 区 表,操作系统,作业A,作业B,作业C,第1分区,第2分区,第3分区,未分区,20K30K50k80K,主存“垃圾”,每个分区只能装一个作业,作业不一定占满分区,所以会产生碎片、零头、垃圾,第 29 页,固定分区法特点,优点:管理调度简单,分区策略适合于工作负荷比较确定的系统。缺点:主存”零头”太多,浪费严重;由此而产生”垃圾”回收问题。,第 30 页,变长分区(多连续分区),方法要点:根据要装入作业的实际大小划分区域,且分区个数也可以调整;需要建立两张表(已分配分区表P、未分配分区表F)来管理主存空间。特点:优点:主存“零头”较小(但还有);缺点:选择剩下的空白区较小,无法使用;寻找一个较大的空白区费时(从头找起);归并主存“零头”,回收时费时。,第 31 页,多连续区分配法示意图,已分配分区表P,未分配分区表 F,区号 长度 起始地址 状态,1 8K 20K 已分,2 16K 28K 已分,3-空表目,4 124K 108K 已分,区号 长度 起始地址 状态,1 64K 44K 可用,2 24K 232K 可用,3-空表目,4,5,操作系统,作业1,作业2,20K,28K,5,44K,可用分区1,108K,操作系统,可用分区1,作业3,可用分区2,232K,若另有作业4需要分配,分配算法:最先适应、最佳适应、归并小的空闲块,存储区域,第 32 页,(3)分页管理法,基本概念页(Page)将作业的地址空间划分为等长的单位,称为页。块 将主存的存储空间划分为等长的单位,称为块。页表 记录着页号与该页在主存中的块号的对应关系表。页表实际上是地址重定位表。(记页与块的关系)作业表 作业与页号管理对照表,每个作业有一个表项;表项由作业号、页表长度、页表起始地址、状态等信息组成。动态地址变换机制 为了实现从作业的地址空间到主存物理空间的映射而设置的一种硬件部件;地址结构如下:,P W,P 为页号 W 为页内偏移量,第 33 页,分页管理法算法描述,分页管理法是将作业在逻辑地址空间中划分为页,每页在内存中分配一个块,块不要求连续。通过页表进行寻址和管理。作业中的逻辑地址通过动态地址转换机制 转换:页号,页内地址 块号,块内地址例如:设页长=块长=1024k,则语句“LOAD 1,2500”在分页管理中的寻址方法是:2500=2*1024+452,该地址应在第2页内的452处(页内地址从0开始)。,自动,对应,第 34 页,分页管理法示意图,作业号 页表长 页表起址 状态,2 3 1032 已分,1 3 1024 已分,3 2 1040 已分,4 空表目,作业表JT,作业A,作业B,作业C,页号 块号,页号 块号,页号 块号,0 4,1 5,2 6,0 7,1 10,0 2,1 3,2 8,页表,每个作业一个表项,每个作业 一张表,第 35 页,分页管理动态地址变换示意图,控制寄存器,作业地址空间,作业页表,1 2 3 4,LOAD 1,2500,页表长度 页表始址,有效地址,2 452,页号 块号,0 4,1 6,2 8,8 452,物理地址=8452,页号,2500=2x1024+452,1 100 1K 2K 2500 3K,第 36 页,分页管理法特点,可以将作业分布在多个不连续的内存区域中优点:有效地解决了存储空间的“零头垃圾“问题;易于实现代码段的共享;用户可以连续编址。缺点:采用硬件的动态变址机构,成本大、降低了CPU速度;各种管理表格占用了部分存储空间;块内还有“零头”(与页长有关);要求运行的作业必须全部装入主存。,第 37 页,(4)分段管理,分页管理的物理位置不要求相邻,但逻辑位置必须相邻1)基本概念什么是段?程序由模块组成,把各种独立的程序模块和数据模块单独存放,称为段。分段管理?以段为基本单位进行存储的主存管理方法。段表?为识别和管理段,在主存中建立的一张表格,记录段的:段号、长度和起始地址,称为段表。,段表格式:,第 38 页,2)分段管理原理,方法要点:每个用户程序由若干段(模块)组成,段内地址连续,段间地址可以不连续。主存管理程序以段为单位为作业分配内存。通过段表管理段和作业。需要硬件支持:地址映射机构自动将作业中的逻辑地址转换为段和段内偏移量。,第 39 页,3)分段管理举例,有一个程序划分为4段,如下图所示:,0 1K,0500,0300,0 200,主程序,子程序SUB,数据块DATA,工作区WORK,CALLSUB|LOAD 1,DATA|6STORE 1,WORK|,每段有独立的逻辑地址,Y:,6,C:,0段 1段 2段 3段,第 40 页,分段管理示意图,6,0 1K,0100500,0300,0200,LOAD 1,1|100,Y:12345,C:,0段,1段,2段,3段,段号长度 起始地址,0 1K 6K,1 500 8K,2 300 4K,3 200 9200,分段地址空间,分段表每段一个记录,OS,0 2K 4K 6k 8k 8292 9200,2.DATA,LOAD1,1|100,0.主程序,1.SUB,3.WORK,12345,地址转换:8292=1024x8+100,主存空间,6,C:,第 41 页,分段管理特点,优点:便于模块化处理 便于动态连接 便于分段共享缺点:硬件成本高,地址转换花费CPU时间;要为表格提供主存空间;分段的最大尺寸受主存大小的限制。,段页式存储管理为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段和分页两种方法,即段页式存储管理。其基本思想是:用分段的方法来分配和管理虚拟存储器,而用分页方法来分配和管理实存储器(主存)。,对用户程序:按段式划分对存储器:按页式存储管理方案内存分配:以页为单位进行分配通过段表和页表管理,第 42 页,几种操作系统的存储器管理简介,(1)DOS的主存管理采用单一连续分区的方法,但 却综合运用了多连续分区的管理技术。(覆盖)系统占用低端内存,其余称为自由空间,由用户使用。DOS内存以16字节为基本单位,称为一节。若干节作为一块,通过指针建立不同块间的联系,以块为管理单位。通过内存控制块(MCB)进行管理。只能直接管理640K的基本内存。,第 43 页,(2)UNIX的主存管理,采用分段管理方法,存储分配采用优先适应算法。UNIX不支持虚拟存储器。为运行大程序,采用主存与外存调入调出的对换技术。,第 44 页,(3)Windows98的存储器管理,Windows98 OS不仅支持常规内存、扩展内存和扩充内存管理,还支持虚拟内存管理(VM)。支持4GB内存空间当一个进程所需要的存储空间超过了可用的空间时,虚拟内存管理器使用换页技术在物理内存和硬盘之间交换数据,通过两个内存进程向应用程序提供大的虚拟内存空间。一个是换页进程,负责物理内存和硬盘之间移动数据;另一个是地址转换进程,负责将物理内存地址翻译成虚拟内存地址或映射文件。Windows通过句柄管理进程占用的内存。(段页式地址管理方法),第 45 页,第二部分():文件系统管理(学生参考),教学内容:理解文件、文件系统的概念 了解文件系统的组织结构和管理机制 了解DOS、UNIX、WINDOWS下的文件管理方法 了解文件的保护机制,第 46 页,一、文件的概念及分类,1.文件 FILE 存于计算机中且具有唯一名字的一组相关信息的集合。计算机中的所有信息、包括各种不同类型的程序都是以文件的形式存放的。对计算机的操作,实际上是对文件的操作。,第 47 页,2.文件系统,文件系统 FILE SYSTEM 以某种方式在外存中组织的文件集合,以及实现对文件集合进行管理的操作机制。简单地说:文件系统是专用于组织、管理、操作文件的应用系统。文件系统可实现对文件的“按名操作”。文件+操作,第 48 页,3.文件管理,文件管理 即实现对文件的各种操作,包括:文件的建立、修改、打开、关闭、复制、删除等等。,第 49 页,4.文件名,文件名 是文件在计算机中唯一的标识符。它的组成形式为(MS-DOS 32字节目录登记项):主文件名.扩展名 分割符 文件名 由1到8个字符组成 扩展名 通常是由3个字符组成 WINDOWS支持长文件名,最长可达255个字符、且可以包括空格。UNIX中文件名是一个不大于14个字符的字符串。并且区分英文字母的大小写。没有文件名和文件扩展名之分。,第 50 页,合法的DOS文件名:FORMAT.COM、报告1.DOC、汇报提纲 非法的DOS文件名:1FILE.TXT、MY FILE.DOC、%文件1 合法的WINDOWS文件名:My Documents、Program Files、考察报告、计算机文化基础教学大纲,举例,第 51 页,文件通配符,为便于文件的操作而设置的文件名代理机制;用于表示某种类型的文件。“*”表示从该位置起可以是任意字符。“?”表示在该位置处可以是任意字符;显然“?”表示的匹配范围比“*”小。例:Dir soft.*Dir s?.*Dir s*.*,第 52 页,5.文件分类,根据文件的不同用途或文件中信息的特征,有不同的类型。1)按文件的信息性质分 文本文件 由ASCII字符组成的文件;其中的信息 可以用文字编辑程序直接处理。可执行文件 计算机能直接识别的文件;可以执行,但不能编辑。2)按对文件的存取方式分 顺序文件 只能对其中的内容按存放顺序访问的文件。随机文件 对其中指定的内容可以随机访问的文件。,第 53 页,文件分类(续),3)按文件的保存时间分临时文件 在数据处理过程中存放临时结果的文件。永久文件 在数据处理过程结束后仍存在的文件。4)按文件的组织结构分连续文件 文件信息在存储介质上占据连续物理地 址空间。链表文件 文件信息在存储介质上不占据连续的物 理存储空间,通过指针建立元素间的联系。5)按文件的地位分系统文件 通常指随计算机系统提供的文件。应用文件 用户为实现某种应用而建立的文件。,第 54 页,二、文件系统及其功能,在计算机中,用户对文件的操作都是通过文件系统实现的。操作时,用户指定要处理的文件名,文件系统“按名”找到指定的文件,并实施相应的操作。这些操作都是文件系统自动完成的。因此,文件系统是操作系统的是必不可少的重要组成部分。1.文件系统是:对文件进行建立、删除、查找、修改等管理操作的功能全体。,第 55 页,2.文件系统的特点,1)、按名操作 在文件系统中,文件是以它的符号名唯一标识的。用户对文件的操作,只需正确地指出文件的“路径和文件名”即可,文件系统将自动实现符号名与物理地址的转换和操作。2)、安全可靠 不同操作系统的文件管理程序对文件提供有不同的安全保护机制;象MS-DOS、WINDOWS(单用户OS),对文件的保护措施相对较弱;而象UNIX、WINDOWS NT(多用户OS),则保护功能强。保护措施是通过“访问权限”来实现的。3)、信息共享 信息共享一直是计算机业界追求的目标。在多用户和网络环境下,文件系统提供的文件并发控制功能,使多个不同用户可以同时访问一个文件,或使异地、甚至远程用户共享同一个文件。,第 56 页,3.文件系统需要解决的问题,1)有效地分配、管理存储空间;2)提供合适的文件存取方式;多样性、灵活性;3)操作机制,对I/O设备的独立性;4)安全可靠 5)信息共享 6)实现各种有效的操作。文件系统的功能:实现存储器的空间组织和分配,文件信息的存储并对存入的进行保护和检索,方便用户“按名存取”,第 57 页,三、文件系统的组织,1、基本概念 文件卷(Volume)用于存放文件的存储介质 的统称。一个逻辑盘就是一个文件卷。块(Block)文件系统中,用来存储、传输文件 信息的单位。定长(例如512(扇区)或1024(簇)个字节)。块长度 不同文件系统,块长度不一样,通常 取2n;MS-DOS中,用“簇”(2n 个扇区)作为块长度单位,UNIX中,用“页”作为 长度单位。卷、目录、文件、块,n,第 58 页,基本概念(续),文件构成:为便于管理,一个文件由两个部分组成:特征信息和文件体:特征信息:用于管理和操作控制;文件体:是文件的实际内容信息。目 录:文件特征信息的列表 为便于查找和管理磁盘上的大量文件,采用类似于图书中目录的编目机制对磁盘上的文件进行编目管理。这种管理机制就是文件的目录系统。文件的目录项:目录中的每一项目录是文件系统的管理机制。每个文件在目录中有一个表项,称其为目录项。每当增加或减少一个文件时,目录中的目录项也作相应的增、减。为了便于管理,不同文件系统的目录项的内容是不同的。,第 59 页,-L 100 0 13 1,第 60 页,MS-DOS目录项内容,字节地址 字节数 内容说明,07H 8 文件主名,8AH 3 文件扩展名,BH 1 文件属性,C15H 10 DOS保留区,未用,1617H 2 文件建立、修改时间,1819H 2 文件建立、修改日期,1A1BH 2 文件首簇号、首地址,1C1FH 4 文件长度,一个目录项由32个字节组成。,字节00:00未用的目录项E5已删除的目录项2E子目录项,第 61 页,DOS文件的属性,文件“属性”是控制文件操控权限的一种机制。它只占一个字节,其代码组成为:系统、只读、隐含文件的属性代码是“27H”,二进制代码为:“0 0 1 0 0 1 1 1”。,7 6 5 4 3 2 1 0,前两位未用,文档,子目录,卷标,系统,隐含,只读,2,7,第 62 页,UNIX索引项内容,目录项标识 目录项含义,文件属性,文件属主,文件属组,文件大小,文件联接数,文件数据区索引,最近访问时间,文件访问时间,文件创建时间,i-mode,i-uid,i-gid,i-size,i-nlike,i-addr40,i-atime,i-mtime,i-ctime,第 63 页,2、文件系统的存储结构,文件因数量巨大,决定了只能存于外存空间。因此,文件的组织结构是与外部存储设备密切相关的。一个逻辑磁盘就是一个文件卷。一个文件卷就可以组成一个文件目录的树型结构。虽然MS-DOS和UNIX的文件系统都采用树型的目录结构,但是,就文件系统的存储结构而言是截然不同的。(1)外存(2)树型目录结构,第 64 页,DOS文件系统的存储结构,在DOS下,文件主要存放在磁盘上,而磁盘在使用之前要先进行格式化处理。DOS的格式化处理包括“物理格式化”和“逻辑格式化”。物理格式化是建立计算机能够识别的标准格式;划分为磁道和扇区。(低级格式化)逻辑格式化也称高级格式化,是在物理格式化的基础上,建立文件系统可以识别的逻辑格式。(format),第 65 页,磁盘的物理结构,第 66 页,逻辑格式化建立的存储结构,引导区 存放启动计算机的引导记录和有关磁盘存储介质的描述信息。计算机启动时自动跳转到此处执行引导程序。(计算机引导型病毒修改引导扇区)FAT 文件分配表,DOS文件系统组织结构中重要的组成部分。用于存放文件链表的地址信息(簇号)。一个文件若有N个链块(簇),则占N个表项。(为防止损坏,有两个,相同)FDT 文件目录表,用于存放文件的目录项信息。一个文件占一个表项。(DOS为32字节)(ROOT),引导区,FAT1 FAT2 FDT 第1簇 第2簇.DATA区,第 67 页,-L 100 0 1 1,第 68 页,文件名与存储地址转换示意图,FILE,FILE,FDT,FAT,D A T A 区,文件名,fi_2,fi_3,fi_4,首地址 f i _ 1,第1块,第2块,第3块,第4块,FILE,fi_1,fi_2,fi_3,fi_4,第 69 页,UNIX文件系统的存储结构,UNIX文件系统的存储结构与DOS的很类似,应该说DOS的系统设计借鉴了UNIX系统的设计思想。在UNIX下,文件、目录和I/O设备都作为文件对待,从而简化了系统设计,也方便了用户的使用。,第 70 页,UNIX文件系统的存储结构,UNIX系统将文件(广义的)都看作是由逻辑块的有序序列,每块定长(512或1024字节),块号从0开始顺序编号,从而将一个逻辑盘划分为如下所示的逻辑结构:块号:0 1 2 n n+1 r,引导块,超级块,i结点块区,数据块区,引导块 存放用于启动UNIX的引导程序。每个文件系统有一个引导块。超级块 存放文件系统状态信息的参数表。包括:文件系统占用磁盘空间的大小、文件目录项的 长度、自由数据块号链表和 自由i 结点块号链表。,第 71 页,UNIX文件系统的存储结构(续),i结点块区 也称索引结点区,用来存放文件系统的索引结点表。一个文件占据一个索引结点。第1个结点为文件系统的根结点。文件系统从根结点开始。一个文件系统可以挂在另一个文件系统的非叶结点上。数据块区 存放文件信息或用于文件管理的其他信息,(例如:文件块的一、二、三级间接寻址信息)。,第 72 页,UNIX文件名与存储地址转换示意图,PROG,PROG,目录表,索引结点表,PROG索引结点,i_mode,i_addr0,i_addr1,i_addr12,PROG第1块,PROG第2块,PROG最后1块,文件物理块,PROG文件体块,文件,第 73 页,UNIX文件系统四级寻址方式,UNIX目录项中,char i_addr40是字符数组,共40个字节,实际使用39个。每3个字节表示一个索引结点地址,共可以表示13个地址(addr0addr12)。若每个地址对应一个数据块,则文件最大只能是13块。为此,将UNIX的寻址方式设计为四级寻址方式。,第 74 页,四级寻址机制,直接地址 前10个地址直接对应10个数据块;这是出于大多数文件是5K以下小文件的考虑。512Byte*10=5kByte一级间接寻址 用addr10作为一次间接寻址;它对应的块用于存 放一次间接地址,共128个(每块512个字节,4个字节一个地址)。二级间接寻址 同理,用addr11作为二次间接寻址,共1282 个 地址,可对应1282 个存储块。三级间接寻址 用addr12作为三次间接寻址,共1283 个。最大文件长度=0.5KB*(10+128+1282+1283)=2GB,2,3,第 75 页,四级间接寻址示意图,文件FILE,FILE,目录表 索引结点表 间接索引寻址 数据块,直接地址0,直接地址1,块0,块1,直接地址9,块9,二次间接地址,块m,一次间接地址,块p,三次间接地址,第 76 页,四、文件系统的保护与使用,文件保护有两重含义:防止文件被非法读取(权限)防止文件被有意或无意的破坏。(属性)在文件系统中,通常采用“访问权限”这种保护机制来实现对文件的保护。在MS-DOS、WINDOWS单用户OS中,文件保护的意义不大。因此,保护措施和机制相对简单。对于UNIX、WINDOWS NT一类的多用户OS,文件的保护机制就复杂和有效的多。,第 77 页,1、DOS的文件保护机制,DOS通过外部命令UNDELETE设置了三级文件保护机制;分别为“警卫、追踪和一般保护”。“一般保护”措施可以有条件的恢复被删除的文件;即删除文件后,还没有做过改变磁盘存储分配的操作这样一种情况下,被删除的文件可以恢复。否则,就不能恢复。“警卫保护”和“追踪保护”是在内存和磁盘中开辟出专用空间,存留被删除的文件,两者不同之处在于开辟的空间大小不同而已。它们都是以系统资源为代价,换取保护文件的。系统、隐藏、只读,第 78 页,2、UNIX的文件保护机制,UNIX是多用户系统,文件保护就具有了实质性的意义,因而也复杂。UNIX用文件的存取权限限定对文件操作,为此,设定了“两种用户”、“三个等级”、“三种存取权限”。,第 79 页,1)两种用户,特权用户 可以随意存取任何用户的文件、包括 修改和删除;(root)普通用户 只能对自己的文件进行操作;而对其 它目录下的文件只能进行授权的操作。,第 80 页,2)三个等级,文件所有者 文件的创建者(主人),对自己的文件有处理全权;同组人 与文件所有着是同组关系(例如,同课题组、同教研室),对同组文件可进行文件主人授权的操作。其他人 与文件所有者无关的人。只能进行文件主人授权的操作;若没有被授权,则无法对文件进行任何操作。,第 81 页,3)三种存取权限,阅读权(r)只能读、显示文件名及目录;写入权(w)除具有读权限外,还可以建 立文件和目录,显示、修改 文件;执行权(x)最高权限;除具有读、写权 外还可以执行文件、删除文 件、搜索目录。,第 82 页,权限组合,三个等级、三种存取权限可以组成9种不同的存取权限代码,其格式为:1位 3位 3位 3位 类型 所有人 同组人 其他人 f r w x r w x r w x 其中,f是类型标志位:-表示是普通文件 b 表示是块设备文件 c 表示是字符设备文件 d 表示是子目录,第 83 页,举例,-rwxr-r-1 bin bin 2208 May 28 1991/etc/rc,链接数,权限,所有名,组名,文件长度,日期,文件名,权限:普通文件、主人具有“读、写、执行”权、同组人、其他人具有“读”权。,第 84 页,UNIX中设置文件权限的命令:列文件目录:ls al修改所有者:chown 修改权限:chmod mode files Mode 是4位8进制数,chmod 0044 index.html 组用户和其他用户只有读权限0400、0200、0100拥有者有读、写、执行权 0040、0020、0010同组有读、写、执行权,第 85 页,五、Windows98的文件管理,Windows 98的文件管理具有下列特点:执行速度快、易使用;支持长、短文件名采用分层块状设备的结构采用保护模式,原FAT文件系统改为VFAT提高FAT32文件系统结构,支持大容量的磁盘提供可安装文件系统结构,可以同时支持多个网络系统文件系统由保护模式32位代码组成,稳定性高。,第 86 页,Windows98文件系统类型,FAT Windows98文件系统仍支持MS-DOS的FATFAT32 为了支持更高容量的磁盘,windows98采用了FAT32文件系统,但仍保持与FAT文件格式的兼容。其主要特点:支持2048GB(2TB)分区的磁盘;采用4KB的数据分配单元,可使磁盘容量使用率提高10%。NTFS Windows采用NTFS文件系统,与FAT不兼容。,