1/81第三章文件系统(一)文件系统的基本概念(二)文件的逻辑结构与存取方法(三)文件的物理结构(四)文件目录结构(五)文件的共享与保护(六)文件操作2/81(一)文件系统的基本概念一.文件1.什么是文件文件是在逻辑上具有完整意义的信息集合,它有一个名字以供标识,文件名是以字母开头的字母数字串。构成文件的基本单位——信息项记录文件是具有符号名的信息(数据)项的集合文件是具有符号名的记录的集合3/812.文件分类(1)按文件的性质和用途分类系统文件程序库文件用户文件(2)按保护级别分类不保护文件执行文件只读文件读写文件(3)按文件流向分类输入文件输出文件输入输出文件4/813.文件名与属性(1)文件名用户使用文件符号名存取文件系统使用文件内部标识符管理文件(2)文件扩展文件扩展表示了文件的使用特征如:.c.obj.lib等(3)文件属性文件的属性字,表示文件类别、保护级等信息。5/81二.文件系统1.什么是文件系统文件系统是操作系统中负责管理和存取文件信息的软件机构。包括:管理文件所需的数据结构(如目录表、文件控制块、存储分配表)管理程序一组操作6/812.文件系统的功能(1)从用户角度看文件系统实现了“按名存取”的功能(2)从系统角度看文件系统负责有效地分配辅存空间构造文件结构提供存取文件的方法提供文件共享功能对存入的文件进行保护提供一组文件操作命令7/81(3)文件系统的特点使用简单使用文件名、一组文件操作命令安全可靠提供防护措施,在文件遭受破坏时,能及时复原。既能共享,又能保密身份验证、存取权限验证。8/81(二)文件的逻辑结构与存取方法一.文件的组织的两种观点1.文件的逻辑结构(1)什么是文件的逻辑结构从用户角度看到的文件面貌。即用户对信息进行逻辑组织形成的文件结构。9/81(2)研究文件逻辑结构的目的为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户按文件的逻辑结构形式去存储、检索和加工文件中的信息。10/812.文件的物理结构(1)什么是文件的物理结构文件的物理结构是信息在物理存储器上的存储方式,是数据的物理表示和组织。(2)研究文件物理结构的目的选择工作性能良好、设备利用率高的物理文件形式。系统按照文件的物理结构形式和外部设备打交道,控制信息的传输。用户看到的是逻辑文件在磁盘上存放的是物理文件11/813.逻辑记录与物理记录(磁盘块)(1)逻辑记录逻辑记录是文件中按信息在逻辑上的独立含义来划分的信息单位。逻辑记录是对文件进行存取操作的基本单位。(2)物理记录在存储介质上,由连续信息所组成的一个区域称为块,也叫物理记录。(3)逻辑记录与物理记录的区别与关系一个是逻辑的概念,一个是物理的概念逻辑记录最终在存放到物理记录上12/81二.文件的逻辑结构1.流式文件流式文件是相关的有序字符的集合。是无结构的。流式文件是按信息的个数或以特殊字符为界进2.记录式文件记录式文件是一种有结构的文件。这种文件在逻辑上总是被看成一组连续顺序的记录的集合。定长记录与变长记录13/81(1)定长记录r0r1┇rnRPTR定长记录01L2L(2)变长记录r0r1┇rnRPTR变长记录0L0+1L1L0Ln14/81三.文件的存取方法1.顺序存取后一次存取总是在前一次存取的基础上进行的。顺序存取时不必给出具体的存取位置。2.随机存取用户以任意次序请求某个记录。随机存取时要指出起始存取位置(例如记录号)。15/81(三)文件的物理结构文件的物理结构描述了文件在辅存上的安置、链接和编目的方法。常用的文件物理结构:连续文件、串联文件、索引结构一.连续文件结构1.什么是连续文件连续文件结构是由一组分配在磁盘连续区域的物理块组成的。16/812.连续文件结构文件A有三个记录(记录大小为512B),采用连续文件结构,r0存放在块号为100的磁盘块上,试画出该文件的结构。文件A3100r0r1r2磁盘块号100101102文件目录文件A目录项17/813.连续文件的特点连续存取时速度较快文件长度一经固定便不易改变文件的增生和扩充不易问题:在连续文件结构下,当要存取Ri记录时,应如何操作?18/81文件A有三个记录(大小为512B),采用连续文件结构,r0存放在块号为100的磁盘块上。问r2记录所在的磁盘块号?文件A3100r0r1r2磁盘块号100101102文件目录文件A目录项19/81二.串联文件结构1.什么是串联文件串联文件结构是按顺序由串联的块组成的,即文件的信息存于若干块物理块中,每个物理块的最末一个字作为链接字,它指出后继块的物理地址。文件的最后一块的链接字为结束标记“∧”,它表示文件至本块结束。20/812.串联文件的结构文件A100r157r2r0150磁盘块号100磁盘块号150磁盘块号57文件目录文件A目录项21/813.串联文件的特点能较好地利用辅存空间。易于对文件进行增生和扩充。连续存取时速度较快问题:在串联文件结构下,当要存取Ri记录时,应如何操作?22/81三.索引文件结构1.什么是索引文件系统为每个文件建立逻辑块号与物理块号的对照表。这张表称为该文件的索引表。文件由数据文件和索引表构成。这种文件称为索引文件。23/812.索引文件结构文件A索引表指针文件A目录项r0r1文件目录逻辑块号物理块号02318921263229r2r3磁盘块号23磁盘块号89磁盘块号126磁盘块号229文件索引表24/813.索引文件的操作索引文件在存储区中占两个区:索引区和数据区。索引区存放索引表,数据区存放数据文件访问索引文件需要两步操作——查文件索引,由逻辑块号查得物理块号由此磁盘物理块号而获得所要求的信息。4.索引文件的特点易于文件的增删直接读写任意记录25/815.索引表的组织——多级索引(1)直接索引文件A目录项r0r1文件目录r2r3磁盘块号23磁盘块号89磁盘块号126磁盘块号22901232389126229文件目录项中有一组表项用于索引。每一个表项登记的是逻辑记录所在的磁盘块号。26/81(2)一级间接索引文件目录项中有一组表项,其内容登记的是第一级索引表块的块号。第一级索引表块中的索引表项登记的是文件逻辑记录所在的磁盘块号。27/81文件A目录项文件目录5266126229r0块号23┇2389r1块号89r256块号178┇17849r511块号49┇┇┇┇一级间接索引磁盘块28/81(3)二级间接索引文件目录项中有一组表项,其内容登记的是第二级索引表块的块号。第二级索引表块中的索引表项登记的第一级索引表块的块号,第一级索引表项中登记的是文件逻辑记录所在的磁盘块号。29/81文件A目录项文件目录┇┇┇二级间接索引┇┇┇磁盘块┇┇┇┇┇┇┇一级间接索引30/81UNIX系统采用索引文件结构:UNIX系统采用多级间接索引结构,对小型文件采用直接索引,对大型文件采用间接索引,从而,既保证绝大多数的文件有高的存取效率,又能适应存取一些大型文件。(既保证了文件系统的高效率,又使其有很宽的适应面)。31/81文件的大小:(10+256+2562+2563)*512B=5KB+128KB+32MB+8GB32/8133/81磁盘管理磁盘存储器不仅可用的存储容量大,存取速度快,断电后信息不丢失,而且可以实现随机存取,是实现虚拟存储器所必需的硬件。磁盘硬件结构•磁盘、柱面、磁道、扇区。•磁盘的数据组织•磁盘的类型•磁盘的访问时间对磁盘的访问时间,包括:⑴寻道时间Ts⑵旋转延迟时间Tr⑶实际传输时间Tt34/81磁盘调度程序•磁盘调度程序的作用:•常用的磁盘调度算法如下:1.先来先服务调度算法FCFS磁盘调度调度过程如下图所示。35/812.最短寻道时间优先调度算法3.SCAN调度采用这种算法磁盘的调度顺序为(此时磁臂的方向是冲下):37、14、0(转向)、65、67、98、122、124、183、199(转向)如下图所示。4.C-SCAN调度SCAN磁盘调度36/81(四)文件目录及其结构一.文件目录有关概念1.什么是文件目录文件目录是记录文件的名字、存放地址及其他有关文件的说明信息和控制信息的数据结构。2.文件目录的内容(1)文件名(2)文件逻辑结构说明该文件的记录是否定长、记录长度及记录个数等。37/81(3)文件物理结构记录文件的物理结构形式。连续文件——指出文件第一块的物理地址、文件所占块数串联文件——指出该文件第一块的物理地址索引文件——指出索引表地址。(4)存取控制信息登记文件主本人具有的存取权限、核准的其38/81(5)管理信息记录文件建立日期、时间,上一次存取时间、要求文件保留的时间等信息(6)文件类型记录文件的类型,例如可分为数据文件、目录文件、块存储设备文件、字符设备文件。文件目录结构——一级文件目录二级文件目录多级文件目录(树型文件目录)39/81二.一级文件目录结构1.什么是一级文件目录系统将已建立的所有文件的文件名、存放地址及有关的说明信息放在一张表中,这张表称为一级文件目录。表9.2一级文件目录文件名物理地址其它信息sqrttestcompilerassemblergabczhang40/812.一级文件目录的特点比较简单,要求文件名和文件之间有一一对应的关系。即:不允许两个文件有相同的名字。在多用户环境中,出现命名冲突3.什么是重名问题所谓“重名”,是指不同用户对不同文件起了相同的名字,即两个或多个文件只有一个相同的符号名。又称为命名冲突为了解决命名冲突、获得更灵活的命名能力,文件系统必须采用二级目录、多级目录结构。41/81三.二级文件目录结构1.什么是二级文件目录将文件目录分成主文件目录和用户文件目录两级。每个用户建立一个文件目录,它登记该用户建立的所有文件名及其在辅存中的位置和有关说明信息。主目录则登记进入系统的各个用户文件目录的情况,这样就形成了二级目录的结构。42/812.二级文件目录结构testabcbetabeta文件名其他信息地址testabcbeta┅┅┅Gao的用户文件目录文件名其他信息地址sqrtbeta┅┅Wang的用户文件目录文件名其他信息地址WangGao┅┅主目录sqrt43/813.二级文件目录的特点二级文件目录结构解决了命名冲突,即允许在不同用户目录下,文件名可以相同。方法:存取一个文件时要给出文件路径名。在二级文件目录下,一个文件的路径名是由用户名和文件名拼起来得到的。如——用户wang的文件beta其路径名为“wang:beta”用户gao的文件beta其路径名为“gao:beta”。44/81四.树型文件目录结构1.什么是树型文件目录在多级目录系统中(除最末一级外),任何一级目录的目录项可以描述一个目录文件,也可以描述一个非目录文件(数据文件),而数据文件一定在树叶上。这样,就构成了一个树形层次结构。45/812.树型文件目录结构(图9.11)abcfedabcahjhjmrgaacid=13id=21id=14id=15id=16id=17id=18id=19id=20id=1id=2id=3id=4id=11id=12id=5id=8id=9id=10id=6id=7根目录子目录a子目录b子目录c子目录a子目录f子目录e子目录d46/813.文件路径名多级目录中,一个文件的路径名是由根目录到该文件的通路上所有目录文件符号名和该文件的符号名组成的字符串,相互之间用分隔符分隔。图9.11中id为15的文件其文件路径名为从根目录开始“b:f:J”。文件路径名的作用?当用户进程使用路径名来存取文件时,文件系统将根据这个路径名的顺序来查访各级目录,47/814.解决命名冲突在树型文件目录结构中,能更方便地解决命名冲突问题。例:图9.11中id为13的文件与id为20的文件有相同的文件名,都为a。id为13的文件的文件路径名?id为20的文件的文件路径名?48/81id为13:文件路径名为从根目录开始“a:a:a”id为20:文件路径名为从根目录开始“b:d:a”abcfedabcahjhjmrgaaci