操作系统原理-第六章文件系统
- 格式:docx
- 大小:305.38 KB
- 文档页数:15
第六章文件管理一、选择题1.文件系统最基本的目标是(A),它主要是通过(B)功能实现的,文件系统所追求的最重要的目标是(C)。
A,C:(1)按名存取;(2)文件共享;(3)文件保护;(4)提高对文件的存取速度;(5)提高I/O 速度;(6)提高存储空间利用率。
B:(1)存储空间管理;(2)目录管理;(3)文件读写管理;(4)文件安全性管理2.在文件系统中可命名的最小数据单位是(A),用户以(B)为单位对文件进行存取、检索等,对文件存储空间的分配则以(C)为单位。
A,B,C:(1)字符串;(2)数据项;(3)记录;(4)文件;(5)文件系统。
3.按逻辑结构可把文件分为(A)和(B)两类,UNIX系统中的文件系统采用(B)。
A,B:(1)读、写文件;(2)只读文件;(3)索引文件;(4)链式文件;(5)记录式文件;(6)流式文件。
4.假定盘块的大小为1KB,对于1.2MB的软盘,FAT需占用(A)的存储空间;对于100MB的硬盘,FAT需占用(B)的存储空间。
A:(1)1KB;(2)1.5KB;(3)1.8KB;(4)2.4KB;(5)3KB。
B:(1)100KB;(2)150KB;(3)200KB;(4)250KB;(5)300KB。
5.从下面的描述中选出一条错误的描述。
(1)一个文件在同一系统中、不同的存储介质上的拷贝,应采用用一种物理结构。
(2)文件的物理结构不仅与外存的分配方式相关,还与存储介质的特性相关,通常在磁带上只适合使用顺序结构。
(3)采用顺序结构的文件既适合进行顺序访问,也适合进行随机访问。
(4)虽然磁盘是随机访问的设备,但其中的文件也可使用顺序结构。
6.从下面关于顺序文件和链接文件的叙述中,选出一条正确的叙述。
(1)顺序文件适合于建立在顺序存储设备上,而不适合于建立在磁盘上。
(2)显式链接文件将分配给文件的下一个物理盘块的地址登记在该文件的前一个物理盘块中。
(3)顺序文件必须采用连续分配方式,而链接文件和索引文件则可采用离散的分配方式。
1、文件是具有名字的一组信息序列。
文件系统:OS中负责管理和存取文件信息的软件机构。
功能:a.能实现各种对文件操作的命令(打开、读等)。
b.对文件存储空间的管理。
c.实现对文件的保护和共享。
d.为用户提供统一的文件使用方式。
e.支持相关用户进程间的信息通信。
f.对文件实施严格的维护。
2、因为文件系统是用户与操作系统内核的界面。
用户都是通过文件系统得到操作系统的服务。
3、按用途可分为以下三类:系统文件:由OS及其它系统程序的信息所组成的文件。
这类文件对用户不直接开放,只能通过OS提供的系统调用为用户服务。
库文件:由标准子程序及常用的应用程序组成的文件,这类文件允许用户使用,但用户不能修改它们。
用户文件:由用户委托系统保存、管理的文件,如源程序、目标程序、计算结果等。
4、因为外部设备是用户使用的,为了方便用户就将外部设备也看成“文件”。
5、文件的逻辑组织:用户给出的文件组织。
文件的物理组织,即文件在外存的存贮方式。
在外存上的存放方式基本上有三种:链接、连续和索引。
连续方式只能用于顺序存取,其它方式则都适用。
6、优点:允许各用户之间的文件同名,利于用户之间的文件共享,利于描述在实际中往往需要的多层次的文件结构形式。
分解法有利于文件共享。
在多级目录结构中,同一目录中的文件不能重名,但不同目录中的文件可以重名。
8、打开文件的目的就是建立从用户文件管理机构到具体文件控制块之间的一条联络通路。
打开文件的系统调用是open,其命令格式为:fd=open(pathname,flags,modes)。
打开文件的好处:(1)对文件的存取权限作进一步限制。
(2)访问文件时不再使用文件名。
关闭文件的命令格式为:close(fd)。
其中,fd为欲关闭文件的打开文件号。
关闭文件是打开文件的逆过程,切断打开文件建立的那条联络通路。
一般说来,关闭只是表示当前文件不能再用了,但系统中还保留它,以后需要用时可再打开,而文件一旦被删除,就永远从系统中消失了。
操作系统第六章答案第六章⽂件管理1、何谓数据项、记录和⽂件P203 P204答:数据项:数据项是最低级的数据组织形式,是数据组中可以命名的最⼩逻辑数据单位,若⼲个基本数据项组成的。
记录:记录是⼀组相关数据项的集合,⽤于描述⼀个对象在某⽅⾯的属性。
⽂件:⽂件是指由创建者所定义的、具有⽂件名的⼀组相关元素的集合,可分为有结构⽂件和⽆结构⽂件两种。
在有结构的⽂件中,⽂件由若⼲个相关记录组成;⽽⽆结构⽂件则被看成是⼀个字符流。
⽂件在⽂件系统中是⼀个最⼤的数据单位,它描述了⼀个对象集。
2、⽂件系统的模型可分为三层,试说明其每⼀层所包含的基本内容。
P206图答:1、对象及其属性:⽂件、⽬录、硬盘(磁带)存储空间;2、对对象操纵和管理的软件集合:⽂件管理系统的核⼼部分;3、⽂件系统的接⼝:命令接⼝、程序接⼝;3、试说明⽤户可以对⽂件施加的主要操作有哪些。
P207答:1、最基本的⽂件操作:创建⽂件、删除⽂件、读⽂件、写⽂件、截断⽂件、设置⽂件的读/写位置;2、⽂件的“打开”和“关闭”操作;3、其它⽂件操作;4、何谓逻辑⽂件何谓物理⽂件P208答:逻辑⽂件:这是从⽤户观点出发所观察到的⽂件组织形式,是⽤户可以直接处理的数据及其结构,它独⽴于⽂件的物理特性,⼜称为⽂件组织。
物理结构:⼜称为⽂件的存储结构,是指⽂件在外存上的存储组织形式。
这不仅与存储介质的存储性能有关,⽽且与所采⽤的外存分配⽅式有关。
5、如何提⾼对变长记录顺序⽂件的检索速度P210答:对于变长记录的顺序⽂件,在顺序读或写时的情况相似,但应分别为它们设置读或写指针,在每次读或写完⼀个记录后,须将读或写指针加上Li。
Li 是刚读或刚写完的记录的长度。
6、试说明对索引⽂件和索引顺序⽂件的检索⽅法。
P211 P212答:在对索引⽂件进⾏检索时,⾸先是根据⽤户(程序)提供的关键字,并利⽤折半查找法去检索索引表,从中找到相应的事项;再利⽤该表项中给出的指向记录的指针值,去访问所需的记录。
第六章文件系统** 知识点汇总1、文件、文件系统的概念⑴文件:是被命名的数据的集合体。
⑵文件系统:就是操作系统中负责操纵和管理文件的一整套设施,它实现文件的共享和保护,方便用户“按名存取”。
2、外存管理和文件系统概述(1)、外存是负责长期保存数据的所有存储部件的总称,如磁盘,磁带,光盘等。
操作系统的外存管理功能是操作系统中负责管理外存使用的那些功能的总称,负责管理和顽尘国外存使用中所有硬件相关和应用无关的工作,为用户使用外存提供方便服务,高校和安全管理。
(2)、外存硬件接口特性外存的作用:✧用来永久或长期存放数据。
✧作为盘交换区——作为内存后备存放当前运行程序和数据。
外存的种类:✧联机外存:硬盘✧脱机外存:光盘,软盘,磁带,U盘外存的主要涉及标准和性能指标:密度,速度,容量,体积,成本,便携性,可重写性和可重用性等。
存储容量分为非格式化容量和格式化容量。
一般格式化容量是非格式化容量的80%格式化分为:高级格式化(仅删除数据),低级格式化。
✧高级格式化,清除硬盘上的数据、生成引导区信息、初始化FAT表、标注逻辑坏道等✧低级格式化,就是将空白的磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。
硬盘的低级格式化是高级格式化之前的一件工作,目前所有硬盘厂商在产品出厂前,已经对硬盘进行了低格化的处理,因此我们新购买的硬盘在装系统时只需要进行高级格化的过程,来初始化FAT表,进行分区操作。
硬盘的低级格式化过程是一种损耗性操作,对硬盘的使用寿命会产生一定的负面作用。
外存设备都由驱动控制部分和存储介质两部分组成。
✧存储介质与驱动器都固定:硬盘✧驱动器固定但存储介质不固定:光盘,软盘✧驱动器和存储介质都不固定:移动硬盘,U盘等大多数系统将设备驱动控制部件中的大部分电子控制部分分离出来构成设备控制器,而设备驱动器只剩下机械驱动部分和简单的电子控制电路。
设备控制器决定设备与计算机间的逻辑联系,一个设备控制其可以同时控制多个设备驱动器。
硬盘的结构硬盘内由设备驱动器及存储介质组成。
其存储介质是磁盘。
磁盘表面被划分为若干个同心圆,每个同心圆成为一个磁道。
每一磁道划分为几个扇区(通常每个扇区存放512B)。
每个扇区间都留出一定的空间用来记录扇区标记。
用扇区作为最小寻址单位和存取单位。
寻址时磁盘转动,磁头移动到目标磁道,磁头通过读取并判断扇区标记,来确定和等待指定扇区,当目标扇区从磁头下顺序经过,读取相应扇区内的内容。
通过增加磁盘数,及每个磁盘都正反两面都涂以磁性材料,来增加容量。
所有盘面中处于同一磁道号上的所有磁道组成一个柱面。
读写同一个柱面的数据,不需要移动磁头,故通常将同一文件内容分配在同一柱面上,以节省访盘时间。
对主机提供的接口是:“读/写,磁盘地址(设备号,柱面号,磁面号,扇区号),内存地址”。
当接收到一个访盘请求时,由以下三个步骤:✧寻道,磁头移动到指定磁道(寻道时间)✧等待扇区从磁头下经过(延迟时间)✧数据在磁盘与内存间传送(传送时间)访盘时间=寻道时间+延迟时间+大胆地硬盘分为固定磁头和移动磁头两种。
固定磁头同一盘面上每个磁道设置一个磁头,所以节省了寻道时间,但成本昂贵。
移动磁头,每个盘面仅一个磁头,成本低。
(3)用户对外存的使用要求✧在存取外存上的数据是,不希望解除和涉及外存物理空间地址和存取单位,外存设备接口地址,等物理硬件细节。
而是采用符合用户习惯的逻辑地址于逻辑操作。
✧外存上存放的信息安全可靠,防止来自硬件的故障和来自他人的侵权。
✧可以方便地共享,动态伸缩,拆卸携带,了解存取请款共和使用情况等。
✧以最小代价完成上述任务。
(4 )文件定义及文件系统的工作界面文件系统提供了:文件子系统,目录,文件,文件内字节,这4个层次上的操作。
文件是操作系统提供的,是用户观点中期内容具有连续顺序关系的最大外存逻辑数据空间。
3、文件系统用户界面(1)文件级界面:文件属性和文件操作每个文件都拥有文件名。
操作系统为每个文件名与该文件在外存中存放位置间建立对应关系。
在多用户环境下,操作系统还需为每个文件建立和维护文件主和访问权限等信息。
文件属性信息包括文件名,文件主,访问权限以及文件类型,文件长度等。
这些信息不属于文件本身的内容,但是用户需要由操作系统来保存这些属性。
并提供查询这些属性的操作。
对文件本身内容的读写。
操作系统在操作级和编程级都提供了相应的操作。
编程级:提供读写文件的系统调用,内存映像文件方式的读写操作。
文件的打开:int open( const char * pathname, int flags);参数pathname 指向欲打开的文件路径字符串。
参数flags 所使用的用宏定义的值:O_RDONL Y 以只读方式打开文件O_WRONL Y 以只写方式打开文件O_RDWR 以可读写方式打开文件上述三种是互斥的,也就是不可同时使用,下列的可以利用OR(|)运算符组合O_CREAT 若欲打开的文件不存在则自动建立该文件。
O_EXCL 如果O_CREAT 也被设置,此指令会去检查文件是否存在。
文件若不存在则建立该文件,否则将导致打开文件错误。
此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打开文件失败。
O_NOCTTY 如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机。
O_TRUNC 若文件存在并且以可写的方式打开时,令文件长度清为0,而原来存于该文件的资料也会消失。
O_APPEND 当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面。
该函数返回值称为文件句柄或文件描述字(file descriptor),之后文件的读写,用该文件句柄来指定该文件,而不再使用文件的文件名。
文件的打开,可以理解为一种权限许可。
即检查文件是否存在,用户对该文件是否具备相应操作的权限,以及检查文件共享的许可。
操作系统在读写文件的系统调用中,提供文件当前读写指针机制。
文件打开时,该指针指向文件首字节,在执行读写系统调用后,指针指向港读写过的最后一个字符的下一个字符。
同时还提供了改变当前读写指针的系统调用。
off_t lseek(int fildes,off_t offset ,int whence);每一个已打开的文件都有一个读写位置,当打开文件时通常其读写位置是指向文件开头,若是以附加的方式打开文件(如O_APPEND),则读写位置会指向文件尾。
当read()或write()时,读写位置会随之增加,lseek()便是用来控制该文件的读写位置。
参数fildes 为已打开的文件描述词,参数offset 为根据参数whence来移动读写位置的位移数。
whence为下列其中一种:SEEK_SET 参数offset即为新的读写位置。
SEEK_CUR 以目前的读写位置往后增加offset个位移量。
SEEK_END 将读写位置指向文件尾后再增加offset个位移量。
当whence 值为SEEK_CUR 或SEEK_END时,参数offet允许负值的出现。
1) 欲将读写位置移到文件开头时:lseek(int fildes,0,SEEK_SET);2) 欲将读写位置移到文件尾时:lseek(int fildes,0,SEEK_END);3) 想要取得目前文件位置时:lseek(int fildes,0,SEEK_CUR);当调用成功时则返回目前的读写位置,也就是距离文件开头多少个字节。
若有错误则返回-1。
操作系统通常还提供了通配符机制,以便于利用文件命名共性对文件分类分组,对一组文件同时进行操作。
(2)目录级界面:目录(树)和链接。
用户需要一个清单,列出在外存中存放着哪些文件,操作系统自动建立和维护这个清单,这个清单称之为目录。
若外存中所有的文件用一个目录来表示,则该目录是单级目录。
当外存上同时存放的文件数量越来越多,单级目录查找起来就十分麻烦,为此操作系统引入多级目录机制。
反映了文件的分类关系。
采用树状结构来表示这种多级分类机制。
提供了一组相应的目录操作,目录建立,目录删除,设置当前目录等。
有的操作系统允许一个文件同时属于多个目录,但实际上该文件只有一处物理存储。
这种在一处存储,多处出现的文件和目录间的关系,称为链接(Link)避免了重复存储冗余浪费和数据不一致性。
不用每次使用共享文件都要写出路径名。
用户可以按照自己的需要,习惯,来给文件命名。
为用户程序中对共享文件的使用提供了灵活性,适应性,兼容性。
还可以使一个用户程序能够根据本次运行时的调用名来决定本次运行的工作方式。
链接分为:硬链接和符号链接(软链接)。
两者在实现机制上不相同。
(3)文件子系统级用户界面文件子系统,通常称为卷,是满足以下特性的一个外存区域。
该区域的空闲空间信息也存放在该区域内。
该区域中所存放的文件和目录的属性信息业存放在该区域内。
该区域可能是一个外存介质,也可能是一个外存介质的一部分外存区域。
为什么需要多个文件子系统?不同访问权限的区域划分在不同的分区中。
需要不同的分区,来存放不同的操作系统及其管理文件。
便于移动存储文件子系统的建立(格式化)硬盘格式化过程低格,运行fdisk命令,在每个磁面上划分与标记磁道和扇区,标出坏扇区,划分和建立分区。
高格,运行format命令,对指定分区进一步划分成几个区域,有的存放文件内容,有的存放文件属性信息,有的存放目录信息,有的存放总信息。
4 文件的实现(1)连续分配背景下的讨论最简单背景下(单介质,单级目录,文件连续分配)的文件系统实现机制。
连续分配(continuous allocation)策略是指每个文件在存储介质上是无力连续存放的,即每个文件在存储介质上占据连续的物理块号,并在其中连续顺序存放。
1)、最简单背景下文件操作流程和所需管理信息最基本的操作:读文件(文件名,文件内起始读位置,要读的长度,目标地址)写文件(文件名,文件内起始下位置,要写的长度,目标地址)建立文件(文件名)删除文件(文件名)所需的管理信息:文件名,文件主,全县,文件在外存上的物理位置(称为文件内地址映射信息,指出文件占据的总块数和起始块号即可),文件操作时间记录等。
称为文件描述信息或文件管理信息。
平时存放在外存上,用时读入内存。
所需的管理信息:写文件时文件按长度可能发生增减,因此需要申请或释放空闲盘块,故操作系统需要建立和维护盘空闲空间信息。
效率上的初步考虑:盘空闲空间信息等盘卷总信息,是被频繁访问修改的,所以通常在开机后马上进入内存,并常驻内存。
用户程序在使用一个文件时,通常要对该文件进行多次读写,每次读写都要用到该文件的文件描述信息,故通常在用户使用一个文件期间,该文件的文件描述信息一直驻留内存,直到用不再使用该文件。