第五章文件系统教学要求和重点5.1概述5.2文件的逻辑组织和物理组织5.3目录文件5.4文件存储空间的管理5.5文件的共享和文件系统的安全性5.6UNIX文件的主要操作及命令作业返回教学要求:1.熟练掌握文件、文件系统、目录概念。2.了解文件系统的功能。3.掌握文件的逻辑组织和物理组织的概念,以及相应的组织形式。4.掌握目录的基本组织方式,特别是UNIX系统的目录结构。5.了解文件存储空间的管理。6.掌握路径名和文件链接的概念。7.掌握文件存取控制的作用及UNIX系统中采取的办法。8.掌握UNIX系统中文件的分类,对文件和目录的基本操作命令,如cat,more,ls,cp,cd,rm。教学重点:返回1.文件、文件系统的概念;2.文件的逻辑组织和物理组织的概念;3.目录和目录结构;4.路径名和文件链接;5.文件的存取控制;6.对文件和目录的主要操作。5.1概述--文件及其分类文件(file)是被命名的数据的集合体文件具有自己的属性,包括:文件类型、文件长度、文件的物理类型、文件的存取控制、文件的建立日期等。通常放在外存上,可作为一独立单位被存放和实施相应的操作。文件类型(1)按用途分类:系统文件;库文件;用户文件。(2)按文件中的数据形式分类:源文件;目标文件;可执行文件。(3)按存取权限分类:只读文件;读写文件;可执行文件。(4)按保存时间分类:临时文件;永久文件。(5)在UNIX和MS—DOS系统中,按文件的内部构造和处理方式分类:普通文件;目录文件;特别文件。5.1概述--文件的命名用户对文件是按名存取的。不同系统对文件的命名规则是不同的,但所有操作系统都允许由1至8个字母构成的字符串作为合法的文件名。数字和特殊字符也可出现在文件名中。大多操作系统文件名都由两部分构成:文件名.扩展名中间由圆点分开,文件名是由用户确定的,而扩展名往往是由系统定义好的,都是具有一定含义的。扩展名含义扩展名含义.bak后备文件.hlpHELP命令文本.basBASIC源程序.lib由连接程序使用的.obj文件.bin可执行二进制程序.man联机手册页.cC源程序.obj目标文件(编译输出,尚未连接).dat数据文件.paspascal源程序.doc文档文件.texTEX格式程序的输入文本.ftnFORTRAN源程序.txt一般文本文件5.1概述--文件系统的功能所谓文件系统,就是操作系统中负责操作和管理文件的一整套设施,它实现文件的共享和保护,方便用户“按名存取”。文件系统应具备以下功能:(1)文件管理:(2)目录管理;(3)文件存储空间的管理;(4)文件的共享和保护;(5)提供方便的接口本节完5.2文件的逻辑组织和物理组织--逻辑组织从用户观点出发所见到的文件组织形式称为文件的逻辑组织。1.有结构文件2.无结构文件又称为记录式文件,是由若干个相关的记录组成,并且对每个记录编上号码定长记录文件变长记录文件又称为流式文件,文件内部不再划分记录,它是由一组相关信息组成的有序字符流5.2文件的逻辑组织和物理组织--用户对文件的存取方法(1)顺序存取对文件的大量操作是读和写,对文件的读写操作是顺序进行的:读文件是读该文件的下面部分并自动地向前推进。写文件是把信息附加到文件的末尾并推进到新写成的文件的结尾。(2)随机存取也称直接存取。文件视为若干编上号的块或记录;读写时允许随意读入块和写入块,故而对文件的存取是没有限定顺序的。5.2文件的逻辑组织和物理组织--物理组织..首块块号30文件长度4目录文件在存储设备上的存储组织形式称为文件的物理组织。它和文件的存取方法有密切关系,另外也取决于存取设备的物理特性。(1)连续文件又称做顺序文件,是把一个逻辑上连续的文件信息存放在连续编号的物理块中。文件说明磁带…2930313233…file1优点:存取速度快缺点:(1)要求文件建立时就确定长度(2)不便于文件的动态扩充(3)易造成外部碎片,无法被文件使用,从而造成浪费5.2文件的逻辑组织和物理组织--物理组织又称做链接文件。将一个逻辑上连续的文件分散存放在不同的物理块中为了使系统能找到下一个逻辑块所在物理块,可在各物理块中设立一个存储单元,用来存放下一物理块的首地址(2)串连文件..首物理块号90目录(文件A的说明)90块65(0)65块71(1)71块32(2)32块NULL(3)优点:克服了顺序文件的缺点,能充分利用存储空间缺点:(1)利于文件的顺序访问,而不利于随机存取(2)每个物理块中增加了一个连接字,故而存储文件本身信息的容量不再是2的整次幂,为信息管理添加了一些麻烦5.2文件的逻辑组织和物理组织--物理组织(3)索引文件系统为每个文件建立一个索引表其中的表项指出存放该文件的各个物理块号而整个索引表由文件说明项指出..A文件索引指针文件目录0251732483NULL文件A的索引表25块73块48块优点:具备了串连文件的优点,同时还克服了它的缺点缺点:读取文件时首先要取出索引表,然后才能查表,得到物理号,从而降低了存取文件的速度5.2文件的逻辑组织和物理组织--物理组织(4)多重索引文件即间接索引方式:由最初索引项中得到某一般块号,该块中存放的信息是另一组般块号;而后者每一块中又可存放下一组盘块号(或者是文件本身信息),这样间接几级(通常为1~3级),最末尾的盘块中存放的信息一定是文件内容。I节点直接块0直接块1直接块2直接块3直接块4直接块5直接块6直接块7直接块8直接块9一次间接二次间接三次间接数据块UNIX文件系统采用了多重索引方式右图为UNIX中文件控制块(又称I节点)。它由13项整数构成,前10项为直接,第11块为一次间接,第12块为二次间接,第13块为三次间接这种方法具有一般索引文件的优点,但也存在间接索引需要多次访盘而影响速度的缺点本节完5.3目录文件--文件控制块对于文件,如同进程一样,有相应的控制结构。文件控制块:用于描述和控制文件的数据结构;它与文件一一对应。实现用户对文件的“按名存取”通常由下列信息项组成:(1)文件名(2)文件类型(3)位置(4)大小(5)保护信息:对文件读写及执行等操作的控制权限标志(6)使用计数:表示当前有多少个进程在使用(打开了)该文件(7)时间5.3目录文件--文件目录文件目录:文件控制块的有序集合。目录项:文件目录中的一个文件控制块。目录文件:完全由目录项构成的文件。文件目录所提供的最基本的功能:具有将文件名转换成文件在外存的物理位置的功能我们在一个具体的目录结构时,必须注意到对目录所实行的操作:(1)查找(2)建立文件(3)删除文件(4)列出目录清单(5)后备5.3目录文件--目录结构1.单级目录结构(目录项)名称文件类型分配方式位置长度保护权限…………(目录项)目录文件1文件2文件n所有文件都登记在同一目录中优点:简单、能实现按名存取。缺点:查找速度慢,不允许重名,不便于共享。5.3目录文件--目录结构为每个用户单独建立一个目录,各管辖自己下属的文件。2.二级目录结构用户n…用户2用户1主文件目录TESTCBOA用户文件目录BADATAXA文件优点:不同用户可以有相同的文件名;提高了检索目录的速度;不同用户可以用不同的文件名来访问系统中同一共享文件5.3目录文件--目录结构3.树形目录结构二级目录的推广。多级目录结构的一种形式,形同一棵倒置的树系统中只有一个根目录,用户可以创建自己的目录和文件,每个目录中可以包含子目录和文件,末端一般是普通的数据文件rootbindevbin…ttylpmailfpml……f1.cf2.cprog在树形目录结构中,从根目录到末端的数据文件之间只有一条惟一的路径。这样利用路径名就可惟一地表示一个文件。两种表示形式:①绝对路径名:又称全路径名,是指从根目录开始到达所查找文件的路径名。②相对路径名:一种捷径是为每个用户设置一个当前目录(又称工作目录),访问某个文件时,就从当前目录开始向下顺次检索。5.3目录文件--目录结构4.非循环图目录结构树形目录的推广。它允许一个文件或目录可在多个父目录中占有项目,但并不构成环路。这种结构方式叫做链接(link)root…dictspelllistnewcountlistlist1radcw7wordsUNIX采用此种文件系统本节完5.4文件存储空间的管理--空闲空间法文件系统建立一个空闲空间表记录磁盘上的空闲盘块序号第一空闲块号空闲块个数物理块号1242,3,4,5218918,19,20,21,22,23,24,25,26359559,60,61,62,63如下图:表中每一项表示一个连续的空闲块,其中记录了该区域的起始块和所包含的空闲块个数空闲块分配:建立新文件时,在空闲空间表寻找合适的表项(主要是空闲块个数是否够),若刚好够则把该项从表中清除;若大于所需数量,则将分配后剩余的部分记录在该表项中空闲块回收:当用户删除一个文件时,系统回收该文件原来占用的块,并将相应的空闲块信息填回空闲空间表中。若释放的盘区和原有空闲区相邻接,则把它们合并此种方法适于连续文件;但易产生碎片,造成空间浪费5.4文件存储空间的管理--空闲块链接法将所有空闲块链在一个队列中,用一个指针指向第一个空闲块,每个空闲块中都包含有下一个空闲区的块号,最后一块的措针项记为NULL,表示链尾32#块43#块84#块98#块MNM#块KN#块NULLK#块2空闲区头空闲块分配:从链头取下一块,然后使空闲区头指向下一块。每次只能取一块,若申请n块,则重复n次上述动作空闲块回收:将新释入的盘块依次链入空闲链头,并使空闲区头指向最后释入的那一块此法易于实现,但工作效率低5.4文件存储空间的管理--位图(BitMap)法利用一串二进制的值来反映磁盘空间的分配情况,也称为位向量(BitVector)法每个盘块对应一位。如果盘块是空闲的,对应位为0;若盘块已分配出去,对应位是1;123456789101112131415161718192021222324252627100001100000011100111111000…如上图,盘块1,6,7,14,15,16,19,20,21,22,25,24,是空闲的盘块号对应位示图向量位示图大小由盘块数确定,它占用空间小(一个字节可以表示8个盘块状态)。因此工作效率很高5.4文件存储空间的管理--空闲块成组链接法每50个空闲块为一组,组中的头一块做为“组长块”,每个组长块中存放的是上一组中所有空闲块块号。除“组长块”外的49块均是空闲块。最后一组的块号(小于等于50)放在内存一个专用栈结构中。平常对盘块的分配和释放都是在栈中进行的:当将栈中最后一块分配时,它必是该组组长块,将其中所包含的下一组的块号依次写入栈;当栈中已满,又有盘块释放时就将栈中的所有块组成一个新组,其块号依次写入新释放的块中;见书P162图5-175.4文件的共享和文件系统的安全性所谓文件共享,是指系统允许多个用户(进程)共同使用某个或某些文件。利用文件共享功能,可以节省大量外存空间利用内存空间,因为系统中只需保存共享文件的一个副本。所谓连接文件并不是创建文件,实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称,增加一条共享文件的途径。所以,有人也将链接文件称为给文件“起别名”。文件的链接root……bindev……usr………wang……zhangf1.cf2.ctx15.4文件的共享和文件系统的安全性文件的存取控制文件保护是指文件免遭由于文件主或其他用户的错误操作造成破坏。文件保密是指未经文件主授权的用户不得访问该文件。保护机制通过限制文件存取的类型来实现受控共享。若干不同类型的操作都能得到控制:(1)读——从文件中读取信息;(2)写——写或重写文件;(3)执行——把文件装入内存并执行它;(4)附加——在文件末尾写入新的信息;(5)删除——删除文件并释放所占空间以便系统再分配。5.4文件的共享和文件系统的安全性(1)命名(2)口令:为每个文件设置口令,存取文件时要先对口令(3)存取控制:根据不同的用户身份,对每个文件为他们规定不