计算机操作系统考研辅导讲义(第4、5章)_第1页
计算机操作系统考研辅导讲义(第4、5章)_第2页
计算机操作系统考研辅导讲义(第4、5章)_第3页
计算机操作系统考研辅导讲义(第4、5章)_第4页
计算机操作系统考研辅导讲义(第4、5章)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE40四、文件管理4.1考试大纲(一)文件系统基础1.文件概念2.文件结构顺序文件;索引文件;索引顺序文件3.目录结构文件控制块和索引结点;单级目录结构和两级目录结构;树形目录结构。4.文件共享共享动机;共享方式;共享语义。5.文件保护访问类型;访问控制。(二)文件系统实现1.文件系统层次结构2.目录实现3.文件实现(三)磁盘组织与管理1.磁盘的结构2.磁盘调度算法3.磁盘的管理4.2知识点归纳4.2.1文件系统的管理功能是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。而文件是指具有文件名的若干相关元素的集合。元素通常是记录,而记录又是一组有意义的数据项的集合。基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。一、文件概念1、数据项在文件系统中,数据项是最低级的数据组织形式,可把它分成以下两种类型:(1)基本数据项。用于描述一个对象的某种属性的字符集,是组织中可以命名的最小逻辑数据单位,即原子数据。(2)组合数据项。它是由若干基本数据项组成的。简称组项。基本数据项除了数据名外,还应有数据类型。2、记录记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。而在诸多记录中,为了能唯一地标识一个记录,必须在一个记录的各个数据项中,确定出一个或几个数据项,把它们的集合称为关键字。3、文件文件是由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。在有结构的文件中,文件由若干个相关记录组成;而无结构的文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位。此外,文件应具有自己的属性,属性可以包括:文件类型、文件长度、文件的物理位置、文件的建立时间等。二、文件结构文件是由一系列的记录组成的。文件系统设计的关键要素,是将这些记录构成一个文件的方法,以及将一个文件存储到外存上的方法。因此,对于任何文件都存在着以下两种形式的结构:文件的逻辑结构。这是从用户的观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。文件的物理结构。又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。无论是文件的逻辑结构,还是文件的物理结构,都会影响对文件的检索速度。下面介绍一下文件的逻辑结构。对文件逻辑结构所提出的基本要求,首先是能提高检索速度,其次是便于修改,第三是降低文件的存储费用。A、文件逻辑结构的类型文件的逻辑结构可分为两大类,一类是有结构文件,是指由一个以上的记录构成的文件,故又把它称为记录式文件;其二是无结构文件,是由字符流构成的文件,故又称为流式文件。(1)有结构文件在记录式文件中,每个记录都用于描述实体集中的一个实体,各记录有着相同或不同数目的数据项。记录的长度可分为定长和不定长两类。定长记录是指文件中所有记录的长度都是相同的,所有记录中的各数据项,都处在记录中相同的位置,具有相同的顺序和长度;变长记录是指文件中各记录的长度不相同。产生变长记录的原因,可能是由于一个记录中所包含的数据项数目并不相同,也可能是数据项本身的长度不定,但不论哪一种,在处理前,每个记录的长度是可知的。根据用户和系统管理上的需要,可采用多种方式来组织这些记录,形成下述的几种文件:顺序文件。是由一系列记录按某种顺序排列所形成的文件。其中的记录通常是定长记录,因而能用较快的速度查找文件中的记录。索引文件。当记录为可变长度时,通常为之建立一张索引表,并为每个记录设置一个表项,以加快对记录的检索速度。索引顺序文件。是上述两种文件构成方式的结合。它为文件建立一张索引表,为每一组记录中的第一个记录设置一个表项。(2)无结构文件大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。其长度以字节为单位。对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。2、顺序文件(1)逻辑记录的排序文件是记录的集合。文件中的记录可以是任意顺序的,因此,它可以按照各种不同的顺序进行排列。可归纳为两种情况:第一种是串结构,各记录之间的顺序与关键字无关。通常的办法是由时间来决定,即按存入时间的先后排列。第二种情况是顺序结构,指文件中的所有记录按关键字排列。可以按关键词的长短从小到大排序,也可以从大到小排序,或按其英文字母顺序排序。对顺序结构的文件可利用某种有效的查找算法,获得更高的检索效率。(2)顺序文件的优缺点顺序文件的最佳应用场合是在对诸记录进行批量存取时,即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁带上,并能有效地工作。在交互应用的场合,如果用户(程序)要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。这是,顺序文件所表现出来的性能就可能很差,尤其是当文件较大时,情况更为严重。顺序文件的另一个缺点是增加或删除记录比较困难。3、索引文件对于定长记录的文件,如果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第一个记录首址的地址:Ai=i*L。然而,对于可变长度记录的文件,要查找其第i个记录时,需首先计算出该记录的首地址。为此,需顺序地查找每个记录,从中获得相应记录的长度Li,然后才能按下式计算出第i个记录的首址。假定在每个记录前用一个字节指明该记录的长度,则Ai=,可见,对于定长记录,除了可以方便地实现顺序存取外,还可较方便地实现直接存取。然而对于变长记录就较难实现直接存取。为了解决这一问题,可为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中设立一个相应的表项,用于记录该记录的长度L和指向该记录的指针(指向该记录在逻辑地址空间中的首址)。由于索引表是按记录键排序的,因此,索引表本身是一个定长记录的顺序文件,从而可以方便地实现直接存取。如图4-1示出了索引文件的组织形式。索引号长度m指针ptrR00m0R11m1……Riimi……索引表逻辑文件图4-1索引文件的组织在对索引文件进行检索时,首先是根据用户提供的关键字,并利用折半查找法去检索索引表,从中找到相应的表项;再利用该表项中给出的指向记录的指针值,去访问所需的记录。而每当要向索引文件中增加一个新记录时,便需对索引表进行修改。由于索引文件可有较快的检索速度,故它主要用于对信息处理的及时性要求较高的场合。使用索引文件的主要问题是,它除了有主文件外,还需配置一张索引表,而且每个记录都要有一个索引项,因此提高了存储费用。4、索引顺序文件索引顺序文件可能是最常见的一种逻辑文件形式。它有效地克服了变长记录文件不便于直接存取的缺点,而且所付出的代价也不算太大。它是顺序文件和索引文件想结合的产物。将顺序文件中的所有记录分为若干个组(例如50个记录为一组);为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的键值和指向该记录的指针。如图4-2所示:在对索引文件进行检索时,首先也是利用用户(程序)所提供的关键字以及某种查找算法,去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置;然后再利用顺序查找法去查找主文件,从中找到所要求的记录。键逻辑地址姓名其它属性AnQiAnQiBaoRongAnKangChenLinBaoRong逻辑文件图4-2索引顺序文件如果在一个顺序文件中所含有的记录数为N,则为检索到具有指定关键字的记录,平均须查找个记录;但对于索引顺序文件,则为能检索到具有指定关键字的记录,平均只要查找个记录数,因而检索效率比顺序文件约提高倍。B、文件物理结构(外存分配方式)文件的物理结构(文件外存分配方式)主要考虑怎样才能有效地利用外存空间和如何提高对文件的访问速度。1、连续分配—顺序式的文件结构如同内存的动态分区分配,会产生外存碎片,可利用紧凑方法,将碎片拼接成一大片。优点:顺序访问容易,连续分配支持直接存取顺序访问速度快。缺点:要求有连续的存储空间必须事先知道文件的长度2、链接分配:隐式链接和显式链接优点:可离散分配,解决了碎片问题缺点:只适合于顺序访问,对随机访问极其低效,不支持直接访问,不可靠。显式链接:文件分配表FAT3、索引分配单级索引、多级索引、混合索引方式三、目录结构在现代计算机系统中,都要存储大量的文件。为了能对这些文件实施有效的管理,必须对它们加以妥善组织,这主要通过文件目录实现。文件目录也是一种数据结构,用于标识系统中的文件及其物理地址,供检索时使用。对目录管理的要求如下:(1)实现“按名存取”。即用户只需向系统提供所需访问文件的名字,便能快速准确地找到指定文件在外存上存储位置。这是目录管理中最基本的功能,也是文件系统向用户提供的最基本的服务。(2)提高对目录的检索速度。通过合理地组织目录结构的方法,可加快对目录的检索速度,从而提高对文件的存取速度。(3)文件共享。在多用户系统中,应允许多个用户共享一个文件。这样就须在外存中只保留一份该文件的副本,供不同用户使用,以节省大量的存储空间,并方便用户和提高文件的利用率。(4)允许文件重名。系统应允许不同用户对不同文件采用相同的名字,以便于用户按照自己的习惯给文件命名和使用文件。1、文件控制块和索引结点为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块”。文件管理程序可借助于文件控制块中的信息,对文件施以各种操作。文件与文件控制块一一对应,而人们把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个文件目录项。通常,一个文件目录也被看作是一个文件,称为目录文件。(1)文件控制块为了能对系统中的大量文件施以有效地管理,在文件控制块中,通常含有以下三类信息,即基本信息、存取控制信息及使用信息。基本信息类包括:文件名、文件的物理位置、文件的逻辑结构、文件的物理结构。存取控制信息类包括:文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。使用信息类包括文件建立的日期和时间、文件上一次修改的日期和时间及当前使用信息。(2)索引结点稍加分析发现,在检索目录文件的过程中,只用到了文件名,仅当找到一个目录项(即其中的文件名与指定要查找的文件名相匹配)时,才需从该目录项中读出该文件的物理地址。而其它一些对该文件进行描述的信息,在检索目录时一概不用,显然,这些信息在检索目录时,不需调入内存。为此,在有的系统中如UNIX系统,便采用了把文件名和文件描述信息分开的办法,使文件描述信息单独形成一个称为索引结点的数据结构。在文件目录中的每个目录项,仅由文件名和指向该文件所对应的索引结点指针所构成。磁盘索引结点是存放在磁盘上的索引结点。每个文件有唯一的一个磁盘索引结点,它主要包括文件主标识符、文件类型、文件存取权限、文件物理地址、文件长度、文件连接计数、文件存取时间。内存索引结点是存放在内存中的索引结点。当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,便于以后使用。在内存索引结点中又增加索引结点编号、状态、访问计数、文件所属文件系统的逻辑设备号、链接指针等。2、单级目录结构这是最简单的目录结构。在整个文件系统中只建立一张目录表,每个文件占一个目录项,目录项中含文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其它文件属性。此外,为表明每个目录项是否空闲,又设置了一个状态位。每当要建立一个新文件时,必须先检索所有的目录项,以保证新文件名在目录中是唯一的。然后再从目录表中找出一个空白目录项,填入新文件的文件名及其它说明信息,并置状态位为1,删除文件时,先从目录中找到该文件的目录项,回收该文件所占用的存储空间,然后在清除该目录项。单级目录的优点是简单且能实现目录管理的基本功能——按名存取,但却存在下述一些缺点:查找速度慢;不允许重名;不便于实现文件共享。3、两级目录为了克服单级目录所存在的缺点,可以为每一个用户建立一个单独的用户文件目录UFD。这些文件目录具有相似的结构,它由用户所有文件的文件控制块组成。此外,在系统再建立一个主文件目录MFD;在主文件目录中,每个用户目录文件都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针。用户名指向子目录的指针Wang用户目录WangAlphaAlphaZhangTestTestGaoZhang用户目录ReportReportTestTestGao用户目录BetaBetaDeviceDeviceMisxMisx图4-3两级目录结构在两级目录结构中,如果用户希望有自己的用户文件目录,可以请求系统为自己建立一个用户文件目录;如果自己不再需要UFD,也可以请求系统管理员将它撤消。在有了UFD后,用户可以根据自己的需要创建新文件。每当此时,OS只需检查该用户的UFD,判断在该UFD中是否已有同名的另一个文件。若有,用户必须为新文件重新命名;若无,便在UFD中建立一个新目录项,将新文件名及其有关属性填入目录项中,并置其状态位为“1”。当用户要删除一个文件时,OS也只需查找该用户的UFD,从中找出指定文件的目录项,在回收该文件所占用的存储空间后,将该目录项删除。如图4-3所示两级目录结构基本上克服了单级目录的缺点,并具有以下优点:提高了检索目录的速度;在不同的用户目录中,可以使用相同的文件名;不同用户还可使用不同的文件名来访问系统中同一个共享文件。4、树形目录结构对于大型文件系统,通常采用三级或以上的目录结构,以提高对目录的检索速度和文件系统的性能。多级目录结构又称为树型目录结构,主目录在这里被称为根目录,把数据文件称为树叶,其它的目录均作为树的结点。图示出了树型目录结构。图中用方框代表目录文件,圆圈代表数据文件。在该树型目录结构中,根目录中有三个用户的总目录项A、B和C。在B项所指出的B用户的总目录B中,又包括三个分目录F、E和D,其中每个分目录中又包含多个文件。如B目录中的F分目录中,包含J和N两个文件。为了提高文件系统的灵活性,应允许在一个目录文件中的目录项既是作为目录文件的FCB,又是作为数据文件的FCB,这一信息可用目录项中的一位来指示。例如,在图中,用户A的总目录中,目录项A是目录文件的FCB,而目录项B和D则是数据文件的FCB。如图4-4所示:AABCGAABDFEDJNKJMKAHFAC图4-4树型目录结构5、图形目录结构图形目录结构是在树形目录结构的基础上形成的一种目录,树形目录结构要保证目录结构中没有环,如果有环就会形成图状结构。在图状结构目录中通过link文件实现文件共享;在此结构中,实现目录的遍历和文件的删除等操作时,可能会存在问题,相对于数形目录,图形目录结构需要一些额外的措施来解决上述问题,如采用“垃圾收集”机制来解决文件的删除问题等。四、文件共享1、共享动机在现代计算机系统中,必须提供文件共享手段,即指系统应允许多个用户(进程)共享同一份文件。这样,在系统中只需保留该共享文件的一份副本。如果系统不能提供文件共享功能,就意味着凡是需要该文件的用户,都需各自备有此文件的副本,显然这会造成对存储空间的极大浪费。随着计算机技术的发展,文件共享的范围也在不断扩大,从单机系统中的共享,扩展为多机系统的共享,进而又扩展为计算机网络范围的共享,甚至实现全世界的文件共享。2、共享方式(1)基于索引结点的共享方式在树型结构的目录中,当有两个(或多个)用户要共享一个子目录或文件时,必须将共享文件或子目录链接到两个(或多个)用户的目录中,,才能方便地找到该文件,如图所示。此时该文件系统的目录结构已不再是树型结构,而是一个有向非循环图。如图4-5所示:AABCBBCCCAC?BCCBC图4-5包含有共享文件的文件系统如何建立B目录与共享文件之间的链接呢?如果在文件目录中包含了文件的物理地址,即文件所在盘块的盘块号,则在链接时,必须将文件的物理地址拷贝到B目录中去。但如果以后B或C还要继续向该文件中填加新内容,也必然要相应地增加新的盘块,而这些新增加的盘块,也只会出现在执行了操作的目录中。可见,这种变化对其他用户而言,是不可见的,因而新增加的这部分内容已不能被共享。为了解决这个问题,可以引用索引结点,即诸如文件的物理地址及其它的文件属性等信息,不再是放在目录项中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针,如图4-6所示。此时,由任何用户对文件进行的追加或修改操作,所引起的相应结点内容的改变(例如,增加了新的盘块和文件长度等),都是其他用户可见的,从而也就能提供给其他用户来共享。在索引结点中还应有一个链接计数count,用于表示链接到本索引结点上的用户目录项的数目。当count=3时,表示有三个用户目录项连接到本文件中,或者说是有三个用户共享此文件。当用户C创建一个新文件时,他便是该文件的所有者,此时将count置1。当有用户B要共享此文件时,在用户B的目录中增加一目录项,并设置一指针指向该文件的索引结点,此时文件主仍然是C,count=2。如果用户C不再需要此文件,也不能将此文件删除。因为若删除了该文件,必然删除了该文件的索引结点,这样便会使B的指针悬空,而B可能正在此文件上执行写操作,此时也因此半途而废。TestrTestrTestrCount=2文件的物理地址Wang用户文件目录Lee用户文件目录索引结点Test图4-6基于索引结点的共享方式但如果C不删除此文件而等待B继续使用,这样,由于文件主是C,如果系统要记帐收费,则C必须为B使用此共享文件而付帐,直至B不在需要。如图4-7所示。owner=cowner=ccount=1C的目录C的目录C的目录C的目录owner=ccount=2owner=ccount=1链接前拥有者删除文件后链接后图4-7进程B链接前后的情况(2)利用符号链实现文件共享为使能共享的一个文件夹,可由系统创建一个类型的新文件,也取名为,并将写入的目录中,以实现的目录与文件的链接。在新文件中只包含被链接文件的路径名。这样的链接方法被称为符号链接。新文件中的路径名,只被看作是符号链,当要访问被链接的文件且正要读类新文件时,此要求将被截获,根据新文件中的路径名去读该文件,于是就实现了用户对文件的共享。在利用符号链方式实现文件共享时,只是文件主才拥有指向其索引结点的指针;而共享该文件的其它用户,则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,这样也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。当文件的拥有者把一个共享文件删除后其他用户试图通过符号链去访问一个已被删除的共享文件时,会因系统找不到该文件而使访问失败,于是再将符号链删除,此时不会产生任何影响。符号链的共享方式也存在自己的问题:当其它用户去读共享文件时,系统是根据给定的文件路径名,逐个分量地去查找目录,直到找到该文件的索引结点。因此,在每次访问共享文件时,都可能要多次读盘,这使得每次访问文件的开销很大,且增加了启动磁盘的频率。此外,要为每个共享用户建立一条符号链,由于该链实际上是一个文件,尽管该文件非常简单,却要为它配置一个索引结点,要耗费一定的磁盘空间。符号链方式有一个很大的优点,是它能够用于链接世界上任何地方机器中的文件。五、文件保护在现代计算机系统中,存放了愈来愈多的宝贵信息供用户使用,给人们带来了极大的好处和方便;但同时也潜在有不安全性。影响文件安全性的主要因素有:人为因素、系统因素、自然因素。存取控制机制是确保文件安全性的重要措施。访问类型。我们可利用一个矩阵来描述系统的存取控制,并把该矩阵称为访问矩阵。访问矩阵的行代表域,列代表对象,矩阵中的每一项是由一组访问权组成。因为对象已由列显式地定义,故可以只写出访问权而不必写出是对哪个对象的访问权,每一项的访问权access(i,j)定义了在域Di中执行的进程能对对象Qj施加的操作集。访问矩阵中的访问权,通常是由资源的拥有者或者管理者所决定的。当用户创建一新文件时,创建者便是拥有者,系统在访问矩阵中为新文件增加一列,由用户决定在该列的某个项中应具有哪些访问权,而在另一项中又应具有哪种访问权。当用户删除此文件时,也要相应地将该文件在访问矩阵的列中取消。访问矩阵如图5-8所示,它是由3个域和8个对象组成。当进程在域D1中执行时,它能读文件F1,读写文件F2。进程在域D2中执行时,它能读文件F3、F4、F5及写文件F4、F5和执行文件F4,此外还可打印。只有当进程在域D3中运行时,才可使用绘图机。 对象域文件1文件2文件3文件4文件5文件6打印机1绘图仪2D1RR,WD2RR,W,ER,WWD3R,W,EWWR:读;W:写;E:执行图4-8一个保护矩阵上面的访问矩阵,在概念上是简单的,极易理解。但在具体实现上,却有一定的困难。这是因为,在稍具规模的系统中,域的数量和对象的数量都可能很大。保存访问矩阵需要比较大的存储空间,同时进行访问时也十分费时。事实上,每个用户(进程)所需访问的对象,通常都是非常有限的,因此访问矩阵是非常稀疏的矩阵,目前实现的方法,是将访问矩阵按列划分,或者按行划分,分别形成访问控制表或访问权利表。访问控制表指对访问矩阵按列进行划分,为每一列建立一张访问控制表。在该表中,已把矩阵中属于该列的所有空项删除,此时的访问控制表是由一有序对(域,权集)所组成。由于在大多数情况下,空项远多于非空项,因而使用访问控制表可以显著地减少所占用的存储空间,并能提高查找速度。域是一个抽象的概念,它能以各种方式实现:每个用户可以是一个域,这是最常见的一种情况,一个用户是一个域,而对象则是文件,此时,用户能够访问的文件集和访问权限取决于用户的身份;每个进程是一个域,此时,能够访问的对象集中的各访问权,取决于进程身份。(2)访问权限表如果把访问矩阵按行进行划分,便可由每一行构成一张访问权限表,换言之,是由一个域对每一个对象可以执行的一组操作所构成的表。表中的每一项即为该域对某一对象的访问权限,当域为用户(进程),对象为文件时,访问权限表便可用来描述一个用户(进程)对每一文件所能执行的一组操作。如图对应于图中域D2的访问权限表。在表中共有三个字段,其中,类型字段用于说明对象的类型;权利字段是指域D2对该对象所拥有的访问权限;对象字段是一个指向相应对象的指针。由该表可以看出,域D2可以访问的对象有4个,即文件3、4、5和打印机,对文件3的访问权限是只读,对文件4的访问权限是可读、可写或可执行等。类型权利对象0文件R—指向文件3的指针1文件RWE指向文件4的指针2文件RW-指向文件5的指针3打印机-W-指向打印机1的指针图4-9访问权限表访问权限表是安全的,那么由它所保护的对象才可能是安全的。因此,访问权限表不允许被用户(进程)直接访问。通常,可采用三种方式对访问权限表进行保护:将访问权限表存储到系统区内的一个专用区中,只允许OS对它进行访问;为每个对象建立一个标识位,用于标明该对象是否要访问权限表,该标识位不允许被用户程序访问;可以将访问权限表放在用户空间,但须将表中的每一个访问权限都译成密码。目前大多数系统都同时采用访问控制表和访问权限表。2、访问控制在计算机应用范围迅速扩大的同时,如何保证系统安全性的问题,变的更为重要了。在稍具规模的系统中,都加强了对系统安全性的管理,不少系统已经从多个级别上来保证系统的安全性。下面介绍在四个级别上对文件进行安全性管理的措施:(1)系统级安全管理系统级安全管理的主要任务,是不允许未经核准的用户进入系统,从而也就防止了他人非法地使用系统中的各类资源(包括文件)。系统级的安全管理有以下几种主要方法:a.注册。注册的主要目的是使系统管理员能够掌握要使用系统的诸用户的情况,并保证用户名在系统中的唯一性。为此,在系统中保存了一张用户表,每个注册用户在其中占有一个表项。表项中包括用户名和指定的口令。b.登录。用户注册后,若要使用本系统,还需进行登录。登录的主要目的,是通过核实该用户的注册名及口令来检查该用户使用系统的合法性。c.若干措施。系统管理员可采取以下措施,来进一步保证文件的系统级安全性:规定用户定期地修改口令,以防口令被窃;限定用户在指定的终端上机,不能任意更换终端;限定用户在规定的时间上机,其它时间不得上机。(2)用户级安全管理是为了给用户分配“文件访问权”而设计的。用户对文件访问权限的大小,是根据用户性质、需求及文件属性而分配的。用户级安全包括两方面的内容:a.用户分类不同系统对用户进行分类的方法各不相同,在一些系统中把用户分为四类:超级用户。这是具有最高文件访问权的用户,通常是系统管理员;系统操作员。系统赋予其较高的文件访问权;用户。在登录时,系统根据其需求,为他指定对一系列文件的访问权。顾客。系统限定他只能访问某些特定文件。b.文件访问权已经在系统中登录过的用户都具有指定的访问权。访问权决定了用户对哪些文件能执行哪些操作。当对某用户赋予其访问指定目录的权限时,他便具有了对该目录下的所有子目录和文件的访问权。某种访问权也可被赋予一个用户组,这时,该组中的每个成员便都具有这种访问权。可以定义八种访问权限:建立、删除、打开、读、写、查询、修改、父权等。(3)目录级安全管理是为保护系统中的各种目录而设计的,它与用户权限无关。为保证目录的安全,规定只有系统核心才具有写目录的权利。通常,系统是分别为用户和目录独立地指定权限的。当用户试图访问一目录时,核心将通过对用户访问权和目录中的访问权的比较后,用户才能获得有效的访问权。即在用户和目录中都有的访问权;或者说,有效访问权是上述两个权限的交集。(4)文件级安全管理是通过系统管理员或文件主对文件属性的设置,来控制用户对文件的访问。通常可设置以下几种属性:只执行、隐含、索引、修改、只读、读/写、共享、系统,用户对文件的访问,将由用户访问权、目录访问权限及文件属性三者的权限所确定。或者说,是有效权限和文件属性的交集。4.2.2一、文件系统层次结构如图示出了文件系统的模型。可将该模型分为三个层次,其最低层是对象及其属性;中间层是对对象进行操纵和管理的软件集合;最高层是文件系统提供给用户的接口。用户(程序)文件系统接口用户(程序)文件系统接口对对象操纵和管理的软件的集合对象及其属性图4-10文件系统模型1、对象及其属性。文件管理系统管理的对象有:(1)文件。它作为文件管理的直接对象。(2)目录。为了方便用户对文件的存取和检索,在文件系统中必须配置目录。对目录的组织和管理是方便用户和提高对文件存取速度的关键。(3)磁盘存储空间。文件和目录必定占用存储空间,对这部分空间的有效管理,不仅能提高外存的利用率,而且能提高对文件的存取速度。2、对对象操纵和管理的软件集合这是文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括:对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读和写的管理,以及对文件的共享和保护等功能。3、文件系统的接口为方便用户使用文件系统,文件系统通常向用户提供两种类型的接口:(1)命令接口。这是指作为用户与文件系统交互的接口。用户可通过键盘终端键入命令,取得文件系统的服务。(2)程序接口。这是指作为用户程序与文件系统的接口。用户程序可通过系统调用来取得文件系统的服务。二、文件的实现在实现文件的存储时,最重要的问题是如何来记录一个文件被存放在哪一些磁盘块中。由于磁盘具有可直接访问的特性,故当利用磁盘来存放文件时,具有很大的灵活性。在为文件分配外存空间时所要考虑的主要问题是:怎样才能有效地利用外存空间和如何提高对文件的访问速度。目前常用的外存分配方法有:连续分配、链接分配和索引分配三种。通常,在一个系统中,仅采用其中的一种方法来为文件分配外存空间。1、连续分配方式连续分配要求为每一个文件分配一组相邻接的盘块,在采用连续分配方式时,可把逻辑文件中的记录顺序地存放到邻接的各物理盘块中,这样形成的文件结构称为顺序文件结构,此时的物理文件称为顺序文件。这种分配方式保证了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序的一致性。为使系统能找到文件存放的地址,应在目录项的“文件物理地址”字段中,记录该文件第一个记录所在的盘块号和文件长度。连续分配的主要优点:顺序访问容易。访问一个占有连续空间的文件,非常容易;顺序访问速度快。因为由连续分配所装入的文件,所占用的盘块可能是位于一条或几条相邻的磁道上,这时磁头的移动距离最少,因此访问速度快。连续分配的主要缺点:要有连续的存储空间;必须事先知道文件的长度。2、链接分配方式如同内存管理一样,连续分配所存在的问题就在于:必须为一个文件分配连续的磁盘空间。如果将一个逻辑文件存储到外存上时,并不要求为整个文件分配一块连续的空间,而是可以将文件装到装到多个离散的盘块中,就可消除上述缺点。在采用链接分配方式时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的物理文件称为链接文件。由于链接分配是采取离散分配方式,消除了外部碎片,故而显著地提高了外存空间的利用率;又因为是根据文件的当前需要,为它分配必需的盘块,当文件动态增长时,可动态地再为它分配盘块,无须事先知道文件的大小。此外,对文件的增、删、改也十分方便。链接方式又可分为隐式链接和显式链接两种形式。(1)隐式链接在采用隐式链接分配方式时,在文件目录的每个目录项中,都须含有指向链接文件第一盘块和最后一个盘块的指针。而在每个盘块中都含有一个指向下一个盘块的指针。隐式链接分配方式的主要问题在于:它只适合顺序访问,对随机访问是极其低效的;只通过链接指针来将一大批离散的盘块链接起来,任何一个指针出问题,都会导致整个链的断开。(2)显式链接把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中,该表在整个磁盘仅设置一张,如图所示。表的序号是物理盘块号,从0开始,直至N-1;N为盘块总数。在每个表项中存放链接指针,即下一个盘块号。在该表中,凡是属于某个文件的第一个盘块号,或者是每一条链的链首指针所对应的盘块号,均作为文件地址被填入相应文件的FCB的“物理地址”字段中。由于查找记录的过程是在内存中进行的,因而不仅显著地提高了检索速度,而且大大减少了访问磁盘的次数。由于分配给文件的所有盘块号都放在该表中,故把该表成为文件分配表。MS-DOS、Windows及OS/2等操作系统都采用了FAT。PCB物理块号FAT02102434551图4-11显式链接结构3、索引分配(1)单级索引分配链接分配方式虽然解决了连续分配方式所存在的问题,但又出现了两个问题:其一不能支持高效的直接存取,要对一个较大的文件直接存取,须首先在FAT中顺序地查找许多盘块号;FAT需占用较大的内存空间,由于一个文件所占用的盘块号,是随机地分布在FAT中的,因而只有将整个FAT调入内存,才能保证在FAT中找到一个文件的盘块号,当磁盘容量较大时,FAT可能要占用数MB以上的内存空间,这是令人难以接受的。事实上,在打开某个文件时,只需把文件占用的盘块的编号调入内存即可,完全没有必要将整个FAT调入内存。为此,应将每个文件所对应的盘块号集中地放在一起。索引分配方法就是基于这种想法所形成的一种分配方法。它为每个文件分配一个索引块(表),在把分配给该文件的所有盘块号,都记录在该索引块中,因而该索引块就是一个含有许多盘块号的数组。在建立一个文件时,便须在为之建立的目录项中,填上指向该索引块的指针。索引分配方式支持直接访问,当要读文件的第i个盘块时,可以方便地直接从索引块中找到第i个盘块的盘块号;另外索引分配方式也不会产生外部碎片,当文件较大时,索引分配方式无疑要优于链接分配方式。索引分配方式的主要问题是:可能要花费较多的外存空间。对于小文件采用索引分配方式时,其索引块的利用率是极低的。(2)多级索引分配当操作系统为一个大文件分配磁盘空间时,如果所分配出去的盘块的盘块号已经装满一个索引块时,操作系统便为该文件分配另一个索引块,用于将以后继续为之分配的盘块号记录于其中。依次类推,再通过链指针将各索引块按序链接起来。当文件太大时,索引块太多,这种方法是低效的。此时,应为这些索引块再建立一级索引,称为第一索引。即系统再分配一个索引块,作为第一级索引的索引块,将第一块、第二块等索引块的盘块号,填入到此索引表中,这样便形成了两级索引分配方式。如果文件非常大时,还可用三级、四级索引分配方式。(3)混合索引方式三、目录的实现当用户要访问一个已存文件时,系统首先利用用户提供的文件名对目录进行查询,找出该文件的文件控制块或对应索引结点;然后根据FCB或索引结点中所记录的文件物理地址(盘块号),换算出文件在磁盘上的物理位置;最后,再通过磁盘驱动程序,将所需文件读入内存。目前对目录进行查询最常用的方式是线性检索法。线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,用顺序查找法直接从文件目录中找到指名文件的目录项。在树型目录中,用户提供的文件名是由多个文件分量名组成的路径名,此时须对多级目录进行查找。假定用户给定的文件路径名是/usr/ast/mbox,则查找/usr/ast/mbox的文件的过程如图所示。其查找过程说明如下:首先,系统应先读入第一个文件分量名usr,用它与根目录文件(或当前目录文件)中各目录项中的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号6,再从6号索引结点中得知usr目录文件放在132号盘块中,将该盘块内容读入内存。接着,系统再将路径名中的第二个分量名ast读入,用它与放在132号盘块中的第二级目录文件中各目录项的文件名顺序进行比较,又找到匹配项,从中得到ast的目录文件放在26号索引结点中,再从26号索引结点中得知/usr/ast是存放在496号盘块中,再读入496号盘块。然后,系统又将该文件的第三分量名mbox读入,用它与第三级目录文件/usr/ast中各目录项中的文件名的比较,最后得到/usr/ast/mbox的索引结点号为60,即在60号索引结点中存放了指定文件的物理地址。目录查询操作到此结束。如果在顺序查找过程中,发现有一个文件分量名未能找到,则应停止查找,并返回“文件未找到”的信息。根目录结点6是的/usr目录132盘块是/usr的目录结点26是/usr/ast的目录496号盘块是/usr/ast的目录1.6.26.1..1..6..4bin19dick64grants7dev13230erik49692books14lib51jim60mbox9etc26ast81minik6usr45bal17src8tmp图4-12查找/usr/ast/mbox的步骤4.2.3一、磁盘的结构磁盘设备是一种相当复杂的机电设备,这里仅对磁盘的某些性能,如数据的组织、磁盘的类型和访问时间等方面做扼要介绍。1、数据的组织与格式磁盘设备可包括一或多个盘块,每片分两面,每面可分成若干条磁道,各磁道之间留有必要的间隙。在每条磁道上可存储相同数目的二进制位。这样,磁盘密度即每英寸中所存储的位数,显然内层磁道的密度较外层磁道的密度高。每条磁道又分成若干个扇区,其典型值为10~100个扇区。每个扇区的大小相当于一个盘块,各扇区之间保留一定的间隙。为了在磁盘上存储数据,必须先将磁盘格式化。一种温盘中一条磁道格式化后,每条磁道含有30个固定大小的扇区,每个扇区为600个字节,其中512字节存放数据,其余的用于存放控制信息。每个扇区包括两个字段:(1)标识符字段。其中一个字节的SYNCH具有特定的位图像,作为该字段的定界符。利用磁道号、磁头号及扇区号三者来标识一个扇区;CRC字段用于段校验。(2)数据字段。存放512字节的数据。2、磁盘的类型对磁盘,可以从不同的角度进行分类。最常见的有:软盘和硬盘、单片盘和多片盘、固定头磁盘和移动头磁盘等。(1)固定头磁盘这种磁盘在每条磁道上都有读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读写,有效地提高了磁盘的I/O速度。这种结构主要用于大容量的磁盘上。(2)移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道,可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故广泛应用于中小型磁盘设备中。3、磁盘的访问时间磁盘设备在工作时,以恒定速率旋转。为了读或写,磁头必须能移动到所要求的磁道上,并等待所要求的扇区的开始位置旋转到磁头下,然后在开始读或写数据。故可把对磁盘的访问时间分成以下三部分。(1)寻道时间Ts是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即Ts=m×n+s。其中m是一常数,与磁盘驱动器的速度有关。(2)旋转延迟时间Tτ是指指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400r/min,每转需时11.1ms,平均旋转延迟时间为5.55ms。(3)传输时间Tt是指把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读写的字节数b和旋转速度有关。其中,r为磁盘每秒钟的转数,N为一条磁道上的字节数。二、磁盘调度算法磁盘是可供多个进程共享的设备,当有多个进程都要求访问磁盘时,应采用一种最佳调度算法,以使各进程对磁盘的平均访问时间最小。由于在访问磁盘的时间中,主要是寻道时间,因此,磁盘的调度目标,是使磁盘的平均寻道时间最少。目前常用的磁盘调度算法有如下几种:1、先来先服务是一种最简单的磁盘调度算法,它根据进程请求访问磁盘的先后次序进行调度,此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长。2、最短寻道时间优先该算法选择这样的进程,其要求访问的磁道,与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,但这种算法不能保证平均寻道时间最短。3、扫描算法(1)进程“饥饿”现象最短寻道时间优先算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”现象。因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的请求必然优先满足。会导致老进程出现“饥饿”现象。(2)SCAN算法该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向,当磁头正在自里向外移动时,扫描算法所考虑的下一个访问对象,应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向自外向里移动。同理,要访问在这个方向距离最近的,直至在无更里面的磁道要访问。从而避免出现“饥饿”现象。由于这种算法中磁头移动的规律颇似电梯的运行,因而又常称之为电梯调度算法。4、循环扫描算法扫描算法既能获得较好的寻道性能,又能防止“饥饿”现象,故被广泛用于大、中、小型机器和网络中的磁盘调度,但也存在这样的问题:当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问此磁道,这时该进程必须等待,待磁头继续从里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被大大地推迟。为了减少这种延迟,循环扫描算法规定磁头单向移动,例如,只是自里向外移动,当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问磁道,亦即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。采用循环扫描方式后,上述请求进程的请求延迟将从原来的2T减为T+Smax,其中T为由里向外或由外向里单向扫描完要访问的磁道所需的寻道时间,Smax是将磁头从最外面被访问的磁道直接移到最里面欲访问的磁道的寻道时间(或相反)。三、磁盘的管理为了实现磁盘空间的管理,首先必须记住空闲存储空间的情况。为此,首先,系统应为分配磁盘空间而设置相应的数据结构;其次,系统应提供对存储空间进行分配和回收的功能。1、空闲表法空闲表法属于连续分配方式,它为每个文件分配一个连续的存储空间。系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项,空闲表中包括:序号、该空闲区的第一个盘块号、该区的空闲盘块数等信息,应将所有空闲区按起始盘块号递增的次序排列,形成空闲盘块表。空闲盘区的分配和内存的动态分配类似,同样可采取首次适应算法、循环首次适应算法、最佳适应算法等。在内存分配上,虽然很少采用连续分配方式;然而在外存管理上,由于它具有较高的分配速度,可减少访问磁盘的频率,故它在诸多分配方式中仍占有一席之地。2、空闲链表法是将所有的空闲盘区拉成一条空闲链,根据构成链的基本元素不同,可有两种链表形式:空闲盘块链和空闲盘区链。(1)空闲盘块链是将磁盘上的所有空闲存储空间,以盘块为基本元素拉成一条链。当用户因创建文件而请求分配存储空间时,系统从链首开始,依次摘下适当数目的空闲盘块分配给用户,当用户因删除文件而释放存储空间时,系统将回收的盘块,依次链入空闲盘块链的尾部。这种方法的优点是用于分配和回收一个盘块的过程非常简单;缺点是空闲盘块链可能很长。(2)空闲盘区链将磁盘上的所有空闲盘区拉成一条链(每个盘区可包含若干个盘块)。在每个盘区上除含有用于指示下一个空闲盘区的指针外,还应标有指明本盘区大小(盘块数)的信息。盘区的分配方法与内存的动态分区分配类似。这种方法的优缺点刚好和第一种方法的优缺点相反,即分配与回收过程较复杂,但空闲盘区链较短。3、位示图法(1)位示图是利用二进制的一位来表示磁盘中一个盘块的使用情况。当其值为“0”时,表示对应的盘块空闲;为“1”时表示已分配。磁盘上的所有盘块都有一个二进制位与之对应,这样由所有盘块所对应的位构成一个集合,称为位示图。通常可用m×n个位数来构成位示图,并使m×n等于磁盘的总块数。(2)盘块的分配根据位示图进行盘块分配时,可分三步进行:123456789101112131415161100100011110001120011001100000111301000011110000114..16图4-13位示图(2)盘块的分配根据位示图进行盘块分配时,可分三步进行:a.顺序扫描位示图,从中找出一个或一组其值均为“0”的二进制位(“0b.将所找到的一个或一组二进制位,转换成与之相应的盘块号。假定,找到的其值为“0”c.修改位示图,令map[i,j]=1.(3)盘块的回收盘块的回收分两步:将回收盘块的盘块号转换成位示图中的行号和列号,转换公式为:i=(b-1)DIVn+1j=(b-1)MODn+1修改位示图。令map[i,j]=0。这种方法的主要优点,是从位示图中很容易找到一个或一组相邻接的空闲盘块。此外由于位示图很小,占用空间少,因而可将它保存在内存中,在每次进行盘区分配时,无需首先去把磁盘分配表读入内存,从而省掉许多磁盘的启动操作。4.3经典例题解析1、试述文件管理系统设置打开文件、关闭文件命令的原因。分析:该题目深入地考察了文件系统的功能。操作系统要处理大量用户文件,而访问一个文件要查询目录,有时甚至要多次查询目录。由于文件目录和文件一起存放在辅存上,当存取文件时,必须先到辅存中读取文件目录信息,从中获得文件的存放地址,然后再去存取文件。这样一来,文件信息的存取将花费很多时间。如果将整个文件目录放入主存,虽然可以提高存取速度,但这需要占据大量的主存空间,显然这也是不可取的。实际上,在一段时间内使用的文件数总是有限的,因此只要将目录中当前使用的那些文件的目录表目复制到内存中就可以了。这样,既不占用太多的主存空间,又可显著提高查询文件目录的速度。为此,大多数操作系统中设置了两个文件操作:打开文件和关闭文件。打开文件操作完成的功能是将文件的有关目录信息复制到主存活动文件表中,以建立用户和这个文件的联系,并将该表目的编号(或称为索引)返回给用户,以后,当用户要求对该文件操作时,系统便可直接利用该索引号到活动文件表中去查找,避免了对该文件的再次检索,提高检索速度。关闭文件操作的功能是用户宣布这个文件当前不再使用,系统将其在主存中的相应目录信息删去,因而也就切断了用户与这个文件的联系。2、有一磁盘组共有10个盘面,每个盘面有100个磁道,每个磁道有16个扇区。假定分配以扇区为单位,若使用位示图管理磁盘空间,问位示图占用多少空间?若空白文件目录的每个表目占用5个字节,问什么时候空白文件目录大于位示图?分析:空白文件目录是管理磁盘空间的一种方法,该方法将文件存储设备上的每个连续空闲区看作一个空白文件。系统为所有空白文件单独建立一个目录,每个空白文件在这个目录中占一个表目。表目的内容至少包括第一个空白块的地址、空白块的数目;位示图是另一种常用的管理磁盘空间的方法,该方法通过建立一张位示图来反映整个存储空间的分配情况。由题目知,磁盘组扇区总数为:16×100×10=16000因此,使用位示图描述扇区状态需要的位数为:16000位=2000字节又由题目所给条件知,空白文件目录的每个表占5个字节,位示图需要占2000字节,2000个字节可存放的表目数为:2000/5=400,所以当空白区数目大于400时,空白文件目录大于位示图。3、假定磁盘块的大小为1K,对于540M的硬盘,其文件分配表FAT需要占用多少存储空间?分析:文件分配表FAT是一个数据结构,用在以链接方式存储文件的系统中记录磁盘分配和跟踪空白磁盘块。由题目所给条件可知,硬盘大小为540M,磁盘块的大小为1K,所以该硬盘共有:540M/1K=540K(个)磁盘块,又512K<540K<1024K,故540K个盘块号要用20位二进制表示,即文件分配表的每个表目为2.5个字节。FAT要占用的存储空间总数为:2.5×540=1350K。4、在UnixSystemⅤ中,如果一个盘块的大小为1KB,每个盘块占4个字节,那么,一个进程要访问偏移量为263168字节处的数据时,需要经过几次间接?分析:一个盘块可放1K/4=256(个)盘块号263168的逻辑盘块号为:263168/1K=257因为10<257<266,所以263168的块号在一次间接块内,需经过一次间接。5、在UnixSystemⅤ中,卷资源表如下所示,现有一进程要释放4个物理块,其块号为150#,156#,172#,177#,画出卷资源表的变化,在此基础上假定一进程要求分配5个空闲块,画出分配后的卷资源表。S_nfree=98S_nfree=98S_free[0]=120S_free[1]=121…S_free[96]=145S_free[97]=2104.4题型练习4.4.11.文件系统的主要目的是().A.实现对文件的按名存取B.实现虚拟存储C.提高外存的读写速度D.用于存储系统文件

答案-1:A2.文件系统是指().A.文件的集合B.文件的目录集合C.实现文件管理的一组软件D.文件,管理文件的软件及数据结构的总体答案-2:D3.文件管理实际上是管理().A.主存空间B.辅助存储空间

C.逻辑地址空间D.物理地址空间

:B4.下列文件的物理结构中,不利于文件长度动态增长的文件物理结构是().

A.顺序文件B.链接文件C.索引文件D.系统文件5.下列描述不是文件系统功能的是().A.建立文件目录B.提供一组文件操作

C.实现对磁盘的驱动调度D.实现从逻辑文件到物理文件间的转换6.文件系统在创建一个文件时,为它建立一个().A.文件目录B.目录文件C.逻辑结构D.逻辑空间7.面向用户的文件组织机构属于().A.虚拟结构B.实际结构C.逻辑结构D.物理结构8.按文件用途来分,编译程序是().A.用户文件B.档案文件C.系统文件D.库文件9.将信息加工形成具有保留价值的文件是().A.库文件B.档案文件C.系统文件D.临时文件10.文件目录的主要作用是().A.按名存取B.提高速度C.节省空间D.提高外存利用率11.如果文件系统中有两个文件重名,不应采用().A.一级目录结构B.树型目录结构

C.二级目录结构D.A和C12.文件系统采用树型目录结构后,对于不同用户的文件,其文件名().A.应该相同B.应该不同

C.可以不同,也可以相同D.受系统约束13.文件系统采用二级文件目录可以().A.缩短访问存储器的时间B.实现文件共享

C.节省内存空间D.解决不同用户间的文件命名冲突14.文件代表了计算机系统中的().A.硬件B.软件C.软件资源D.硬件资源15.索引式(随机)文件组织的一个主要优点是().A.不需要链接指针B.能实现物理块的动态分配

C.回收实现比较简单D.用户存取方便16.有一个长度为3000个字节的流式文件要存储在磁盘上,磁盘的每块可以存放512个字节,该文件至少用()块.A.5B.6C.7D.300017.文件的存储方法依赖于().A.文件的物理结构B.存放文件的存储设备的特性

C.A和BD.文件的逻辑结构18.多级目录结构形式为().A.线形结构B,散列结构C.网状结构D.树型结构

19.树型目录结构的主文件目录称为().A.父目录B.根目录C.子目录D.用户文件目录

20.树型目录结构的第一级称为目录树的().A.分支节点.B.根节点C.叶节点D.终节点

21.使用绝对路径名访问文件是从()开始按目录结构访问某个文件.A.当前目录B.用户主目录C.根目录D.父目录

22.目录文件所存放的信息是().A.某一文件存放的数据信息B.某一文件的文件目录

C.该目录中所有数据文件目录D.该目录中所有子目录文件和数据文件的目录23.()是指有关操作系统和其他系统程序组成的文件.A.系统文件B.档案文件C.用户文件D.顺序文件

24.由字符序列组成,文件内的信息不再划分结构,这是指().A.流式文件B.记录式文件

C.顺序文件D.有序文件25.AUTOEXEC.BAT文件的逻辑结构形式是().A.字符流式文件B.库文件C.记录式文件D.只读文件26.数据库文件的逻辑结构形式是().A.字符流式文件B.档案文件

C.记录式文件D.只读文件27.逻辑文件是()的文件组织形式.A.在外部设备上B.从用户观点看

C.虚拟存储D.目录28对顺序文件做读文件操作时,总是从()按顺序读出信息.

A.文件头部向后B.文件中部开始

C.文件尾部开始D.当前位置开始29.在文件系统中,要求物理块必须连续的物理文件是().

A.顺序文件B.链接文件

C.索引文件D.多重索引文件30.对文件的存取时必须按指针进行,效率较低,采用这种物理结构的是().A.顺序文件B.链接文件

C.索引文件D.多重索引文件31.若用户总是要求用随机存取方式查找文件记录,则采用索引结构比采用链接结构().

A.麻烦B.方便C.一样D.有时方便有时麻烦32.磁盘与主机之间传递数据的单位是().A.柱面B.磁道C.数据块D.记录33.用户归还文件的使用权可以调用的文件操作是().

A.建立B.打开C.关闭D.删除34.在UNIX系统中,磁盘存储空间空闲块的链接方式是().

A.单块链接B.位示图法C.顺序结构D.成组链接35.在文件管理中,采用位示图主要是实现().A.磁盘的驱动调度

B.磁盘空间的分配和回收

C.文件目录的查找

D.页面置换36.下面()属于存储介质.

A.磁带

B.光驱

C.硬盘驱动器

D.磁带机

37.对一个文件的访问,常由()共同限制.A.用户访问权限和文件属性

B.用户访问权限和用户优先级C.节省主存空间D.文件属性和口令38.文件系统采用二级目录结构,这样可以().A.缩短访问文件存储器时间

B.实现文件共享C.优先级和文件属性

D.解决不同用户之间的文件名冲突问题39.一般来说,文件名及属性可以收纳在()中以便查找.A.目录

B.索引C.字典

D.作业控制块40.如果文件采用直接存取方式且文件大小不固定,则宜选择()文件结构A.直接

B.顺序C.随机D.索引

4.1.对文件的主要操作使用内容是什么?它的系统调用内容是什么?2.什么是文件和文件系统?文件系统有那些功能?3.什么是文件目录?文件目录中一般包含那些内容?4.按文件的物理结构,可将文件分为哪几类?5.什么是逻辑文件?什么是物理文件?6.对目录管理的主要要求是什么?7.在UNIX操作系统中,是如何对空闲盘块进行分配和回收的?8.文件存取控制方式有哪几种?试比较它们各自的优缺点。9.试说明文件系统中对文件操作的系统调用处理功能。10.假定一个盘组共有100个柱面,每个柱面上有16个磁道,每个盘面分成4个扇区,问:(1)整个磁盘空间共有多少个存储块?(2)如果用字长为32位的单元来构造位示图,共需要多少个字?(3)位示图中第18个字的第16位对应的块号是多少?11.假定在某移动臂磁盘上,刚刚处理了访问60号柱面的请求,目前正在73号柱面上读信息,并有下列请求序列等待访问磁盘:请求序列:

1

2

3

4

5

6

7

8

9

欲访问的柱面号:150

50

178

167

87

43

23

160

85

试用最短寻找时间优先算法、电梯调度算法和循环扫描算法,分别排出实际上处理上述请求的次序并分别求出平均寻道长度。12.假定有一个磁盘组共有100个柱面,每个柱面有8个磁道,每个盘面划分成8个扇区。现有一个5000个逻辑记录的文件,逻辑记录的大小与扇区大小相等,该文件以顺序结构被存放在磁盘组上,柱面、磁道、扇区均从0开始编址,逻辑记录的编号从0开始,文件信息从0柱面、0磁道、0扇区开始存放。请问:

(1)该文件的3468个逻辑记录应存放在哪个柱面的第几个磁道的第几个扇区上。

(2)第56柱面上的第8磁道的第5扇区中存放的是该文件的第几个逻辑记录。13.某软盘有40个磁道,磁头从一个磁道移至另一磁道需要6。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为13磁道,每块的旋转延迟时间及传输时间分别为100、25,问读取100块的文件需要多少时间?如果系统对磁盘进行了整理,让同一文件的磁盘块尽可能靠拢,从而使逻辑上相邻数据块的平均距离降为2磁道,这时读取一个100块的文件需要多少时间?14.许多操作系统中提供了文件重命名功能,它能赋予文件一个新名字。若进行文件复制,并给复制新文件起一个名字,然后删除旧文件,也能达到给文件命名的目的。试问这两种方法在实现有何不同?15.某系统的文件物理结构采用混合索引分配方式,如果每个盘块的大小为1KB,每个盘块号占4个字节,在文件的索引结点中,共设12个地址项,前十个是直接地址,第十一个存放一次间接地址,第十二个存放二次间接地址,计算此系统允许的文件最大长度可达多大?16.在UNIX中,假定盘块的大小为1KB,每个盘块号占4字节,索引节点中磁盘地址信息如下表所示,将下列文件的字节偏移量转换为物理地址:(1)9000(2)14000(3)350000解答:计算字节偏移量9000的逻辑块号和块内偏移量:逻辑块号为:INT[9000/1024]=8块内偏移量为:9000-8*1024=808逻辑块号小于8,因此该块为直接块,由图知物理块号为367,块内偏移量为808;计算字节偏移量14000的逻辑块号和块内偏移量:逻辑块号为:INT[14000/1024]=13块内偏移量为:14000-13*1024=688因10≤13<266,该块为一次间接块。其物理块号为952,块内偏移量为688;计算字节偏移量350000的逻辑块号和块内偏移量:逻辑块号为:INT[350000/1024]=341块内偏移量为:35000-341*1024=816因266≤341<65802,该块为二次间接块。其物理块号为3333,块内偏移量为816;17.4.单项选择题:1A2D3B4A5C6A7C8C9B10A11A12C13D14C15D16B17C18D19B20B21C22D23A24A25A26C27B28A29A30B31B32C33C34D35B36A37A38D39A40D综合应用题1.答:对文件系统的主要操作为:

(1)文件管理:包括目录管理,实现按名存取。

(2)文件存储空间的管理:文件的组织形式--逻辑结构和物理结构,分配与管理外部存取器。

(3)文件的存取控制:解决文件保护、保密和共享。

(4)提供方便的用户接口:系统调用。

系统调用的主要内容有:文件的创建、打开、读、写、关闭、删除等。2.答:文件:具有符号名的一组相关元素的有序序列,是一段程序或数据集合。文件系统:包含文件管理程序(文件与目录的集合)和所管理的全部文件。文件系统的功能包括:⑴分配与管理外部存储器,用户以文件形式存放信息并可按名存取。⑵提供合适的存储方法,如键盘命令和系统调用,以及文件的创建create、打开open、关闭close、读写read/write、删除delete、和重命名rename等。⑶文件的共享与保护,解决文件名中的冲突与存取权限的控制。3.答:文件目录即文件名址录。它是一张记录所有文件的名字及其存放地址的目录表。表中还应包括关于文件的说明和控制方面的信息。文件目录一般包含:文件名、文件逻辑结构(说明该文件的记录是否定长,记录长度及记录个数等)、文件在存储器中的物理位置、存取控制信息(登记文件主本人及其他用户具有的存取权限)、管理信息(如建立日期等)、文件类型。4.答:文件的三种物理结构是顺序文件、链接文件和索引文件。连续分配要求为每一个文件分配一组相邻接的盘块,在采用连续分配方式时,可把逻辑文件中的记录顺序地存放到邻接的各物理盘块中,这样形成的文件结构称为顺序文件结构,此时的物理文件称为顺序文件。在采用链接分配方式时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的物理文件称为链接文件。索引分配为每个文件分配一个索引块(表),在把分配给该文件的所有盘块号,都记录在该索引块中,因而该索引块就是一个含有许多盘块号的数组。在建立一个文件时,便须在为之建立的目录项中,填上指向该索引块的指针。5.答:逻辑文件:结构是用户所观察到的文件组织形式,逻辑文件是用户可直接处理的数据内容,它独立于物理特性,又称为组织文件。逻辑文件是用户观点,研究用户“思维”中的抽象文件,为用户提供一种逻辑结构清晰,使用简便的逻辑文件形式,用户按照这种形式去存储、检索、加工有关文件信息。物理文件:有实际存储结构的文件,是在外存上实际存储的文件,与存储介质的存储性能有关。物理文件是实现观点,系统按物理结构形式去和外部设备打交道。6.答:文件系统所要解决的核心问题,就是按照充分发挥主机和外部设备效率的原则,把信息的逻辑结构映像成设备介质上的物理结构,把用户的文件操作转换成相应的I/O指令。转换过程所使用的主要数据结构是文件目录和辅存空间使用情况表。所以目录管理的基本功能就是通过查目录能实现符号名与具体地址之间的转换。要求目录的编排应以如何能准确地找到所需文件为原则,而选择目录的方法应以查找速度快为准则。7.答:UNIX采用成组链接法进行空闲磁盘块的管理。例如,每个50个空闲块为一组,组中的头一块为“组长块”第一组的50个空闲块块号放在第二组的组长块中,而第二组的其余49块是完全空闲的。第二组的50块号又放在第三组的组长块中。依次类推,组与组之间形成链接关系。最后一组的块号(可能不足50块)通常放在内存的一个专用栈(即专用块的空闲块号栈)结构中。这样,平常对盘块的分配和释放是在栈中进行(或构成新的一组)。空闲块分配:当建立文件、需要分配空闲盘块时,总是先把专用块中表示栈深(即栈中有效元素的个数)的数值减1,这里就是40—1等于39。以39作为检索专用块中空闲块号栈的索引。由图中所示,得到盘块号111,它就是当前分出去的第一个空闲块。如果需要分配20个盘块,则上述操作就重复执行20次。如果当前栈深的值是1,需要分配2个空闲盘块,那么栈深值(1)减1,结果为0,此时系统做特殊处理:先根据0为索引得到盘块号150,它是第七十八组的组长;然后把150号盘块中的内容—下一组(即第七十七组)所有空闲盘块的数量(50)和各个盘块的块号分别放入专用块的栈深和空闲块号栈中,从而专用块的栈中就记载着有第七十七组盘块的情况;最后把150盘块分配出去。至此,分出去1块。接着再分配一块,此时工作简单多了:50—1结果是49,以49索引得到第七十七组的151号块。空闲块释放:在图5-17所示的情况下,如果要删除一个文件,它占用3个盘块,块号分别是69、75和87。首先释放69号块,其操作过程是:把块号69放在栈深40所对应的元素中,然后栈深值加1,变为41。接着分别释放75号块和87好块。最后,专用块中栈深的值为43,空闲块号栈中新加入的3个盘块出现的次序是69,75,87。如果栈深的值是50,表示该栈已满,此时还要释放一个盘块89号,则进行特殊处理:先将该栈中的内容(包括栈深值和各空闲块号)写到要释放的新盘块(即89号)中;将栈深及栈中盘块号清为0;以栈深值0为索引,将新盘块号89写入相应的单元中,然后栈深值加1,栈深值变为1。这样,盘块89号就成为新组的组长块。成组链接法是UNIX系统中采用的空闲盘块管理技术,它兼备了空闲空间表法和空闲块链接法的优点,克服了两种方法都有的表(或链)太长的缺点。当然,成组链接法在管理上要复杂一些,尤其是盘块分配时出现栈空、盘块释放时遇到栈满的情况下,要作特殊处理。答:文件存取控制方式有四种:8.⑴存取控制矩阵:建立一个二维访问控制矩阵用以列出系统中所有用户和文件。其中,一维列出系统全部用户,另一维列出计算机系统的全部文件。矩阵元素“1”表示允许访问,“0⑵用户权限表:把一个用户(或用户组)所要存取的文件名集中存放在一张表中,其中每个表目指明相应文件的存取权限。优点:便于查找权限。缺点:如果用户数或文件数多则过于庞大,不便查找。⑶使用口令:用户为自己的每个文件规定一个口令,并附在用户文件目录中。存取文件时必须提供口令,只有当提供的口令与目录中口令一致时才允许存取。优点:占存储空间少,方便。缺点:保护能力弱。⑷使用密码:存储时用“密码”对文件进行编码,取用文件时进行译码。优点:保密性强。在这个方案中,发方提供的代码键不存入系统。只有当用户要存取文件时,才需将代码送进系统。这样别人无法偷看或篡改别人的文件。缺点:必须花费大量编码和译码时间,增加了系统的开销。9.答:系统调用是操作系统提供给编程人员的唯一接口。利用系统调用,编程人员在源程序中动态请求和释放系统资源,调用系统中已有的功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。系统调用如同一个黑匣子,对使用者屏蔽了具体操作动作,只是提供了有关功能.有关文件系统的系统调用是用户经常使用的,包括文件的创建(create)、打开(open)、读(read)、写(write)、关闭(close)等。下面是一个有关文件系统的系统调用的例子。main(argc,argv)intargc;

char*argv[];{intfd1,fd2,fd3,n;charbuf[512],ch=’’;fd1=open(argv[1],0);/*打开argv[1]对应的文件,返回标识符fd1*/fd2=open(argv[2],0);/*打开argv[2]对应的文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论