操作系统原理教程.docx
《操作系统原理教程.docx》由会员分享,可在线阅读,更多相关《操作系统原理教程.docx(19页珍藏版)》请在冰豆网上搜索。
操作系统原理教程
操作系统原理教程
第4章文件管理
本章教学目标
●
●熟悉文件的概念、分类、文件的组织
●掌握磁盘的调度算法
●熟悉文件目录的管理、文件的保密与保护方法
●熟悉文件的使用
本章教学内容
●
●4.1文件管理概述
●4.2文件的组织
●4.3文件的存储设备
●4.4文件的目录管理
●4.5文件的共享与安全
●4.6文件的使用
4.1文件管理概述
●4.1.1文件管理的主要任务
●4.1.2文件管理的主要功能
●4.1.3文件系统的基本概念
4.1.1文件管理的主要任务
●文件管理,即构成一个文件系统,负责管理在外存上存放的文件,并把对文件的存取、共享和保护等手段提供给操作系统和用户。
●文件管理的主要目标是提高外存储空间的利用率。
●它的主要任务是对用户文件和系统文件进行管理,方便用户使用,并保证文件的安全性。
4.1.2文件管理的主要功能
●1.文件存储空间管理
●2.文件目录管理
●3.逻辑文件与物理文件的转换
●4.文件读写管理
●5.文件共享和安全的管理
1.文件存储空间管理
●存储管理的任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的工作速度。
●由于文件存储设备是以块为单位进行管理的,因此,文件存储空间的管理实质上是一个空闲块的组织和管理问题,它包括空闲块的组织,空闲块的分配与空闲块的回收。
2.文件目录管理
●为实现文件的按名存取,每个文件首先应该具有一个文件名与之对应。
●目录管理的任务是为每个文件建立目录项,并对众多的目录加以组织,以实现方便的按名存取,实现文件的共享,提供快速的目录查询手段,提高文件的检索速度。
3.逻辑文件与物理文件的转换
●逻辑文件:
规定用户直接使用的文件。
●物理文件:
存储介质上的文件。
●用户使用文件时只要给出文件的名字和一些适当的说明信息,文件系统就能按照用户的要求把逻辑文件组织成物理文件存放到存储介质上,或者把存储介质上的物理文件转换成逻辑文件供用户使用。
●文件系统还可根据需要更换文件存放的位置而对用户没有任何影响。
4.文件读写管理
●文件系统读写控制的主要任务:
–一是,对于拥有读写和执行权限的用户,允许其对文件进行相应的操作。
–二是,对于没有相应权限的用户,禁止他们对文件进行相应的操作。
–三是,防止一个用户冒充其他用户对文件进行读写操作。
–四是,防止拥有存取权限的用户误用文件。
5.文件共享和安全的管理
●文件共享是指不同的用户共同使用同一个文件。
●文件的安全管理即文件的保护,是解决文件的非法操作的关键。
4.1.3文件系统的基本概念
●1.文件
●2.记录
●3.数据项
●4.文件类型
●5.文件系统模型
1.文件
●文件是指存放在外存上的已命名的一组相关信息的集合。
●通常将程序和数据组织成文件。
●文件中的基本访问单位可以是位、字节或记录。
●文件的属性包括文件类型、文件长度、文件的物理位置、文件的存取控制、文件的建立时间。
2.记录
●记录是一组相关数据项的集合,用于描述数据对象某方面的属性。
●它是文件中数据处理的基本单位,是组成文件的基本元素。
3.数据项
●数据项是指描述一个对象的某种属性的字符集,它是数据处理的最小单位。
●它可以分为
–基本数据项:
是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。
–组合数据项:
由若干个基本数据项组成,简称组项。
4.文件类型
●
(1)按性质和用途分类
–系统文件、用户文件、库文件
●
(2)按文件中的数据形式分类
–源文件、目标文件
●(3)按文件的存取控制属性分类
–只执行文件、只读文件、读写文件
●(4)按文件的逻辑结构分类
–有结构文件、无结构文件
●(5)按文件的物理结构分类
–顺序文件、链接文件、索引文件
●(6)按照文件的内容分类
–普通文件、目录文件、特殊文件
5.文件系统模型
●文件系统是指含有大量文件及其属性说明的,对文件进行操纵和管理的,向用户提供使用接口的软件集合。
图4-1表示了文件系统的模型。
●它分为三个层次
–最低层是对象及其属性说明;
–中间层是对对象进行操纵和管理的软件集合;
–最高层是文件系统提供给用户的接口。
4.2文件的组织
●文件的组织是指文件的构造方式,即文件的结构。
对任何一个文件,都存在着两种形式的结构:
逻辑结构和物理结构。
●4.2.1文件的逻辑结构
●4.2.2文件的物理结构
●4.2.3记录的成组和分解
4.2.1文件的逻辑结构
●1.文件逻辑结构的概念
●2.文件逻辑结构的形式
1.文件逻辑结构的概念
●文件的逻辑结构(FileLogicalStructure)是用户用户组织文件时可见的结构,即用户所观察到的文件组织形式。
●文件的逻辑结构是用户可以直接处理的数据及其结构,它独立于物理特性,又称为文件组织。
●选择文件的逻辑结构主要有以下原则:
–
(1)提高检索效率
–
(2)便于修改
–(3)降低文件存储费用
–(4)便于用户操作
2.文件逻辑结构的形式
●文件的逻辑结构从形式上分为两类:
–有结构的记录式文件:
●在记录式文件中,所有的记录通常都是属于一个实体集的,有着相同或不同数目的数据项。
记录的长度可分为定长和不定长两类。
–无结构的流式文件
●是指由字符流构成的文件。
流式文件内的数据不再组成记录,只是一串字节。
对流式文件的存取需要指定起始字节和字节数。
4.2.2文件的物理结构
●1.文件物理结构的概念
●2.文件物理结构的形式
●3.文件的访问方式
1.文件物理结构的概念
●文件的物理结构,又称为文件的存储结构,它是指文件在外存上存储时的组织结构。
●文件的物理结构与存储介质的物理特性及用户对文件的访问方式有关。
●文件的物理结构通常划分为大小相等的物理块,也称为物理记录。
它是文件分配及传输信息的基本单位。
物理记录的大小与物理设备有关,与逻辑记录的大小无关。
2.文件物理结构的形式
●三种文件物理结构组织文件:
–顺序结构:
顺序结构将一个在逻辑上连续的文件信息依次存放在外存连续的物理块中。
–链接结构:
链接结构将文件存放在外存的若干个物理块中,这些物理块不必连续,并且在每一个物理块中设一个指针,指向下一个物理块的位置,从而使得存放同一个文件的物理块链接起来。
–索引结构:
将文件存放在外存的若干个物理块中,并为每个文件建立一个索引表,索引表中的每个表目存放文件信息的逻辑块号和与之对应的物理块号。
3.文件的访问方式
●
(1)顺序访问
–是指用户从文件初始数据开始依次访问文件中的信息。
对记录式文件意味着按记录的编号从小到大进行存取,对流式文件则意味着对文件从头至尾进行存取。
顺序访问的特点是访问速度快,不需要计算访问信息的位置,适合于数据的统计和汇总等。
●
(2)直接访问(随机访问)
–直接访问是指用户随机地访问文件中的某段信息。
要支持用户以直接访问方式访问文件,文件必须存放在可以支持快速定位的随机存储设备中。
4.2.3记录的成组和分解
●1.记录的成组
–是指把若干条逻辑记录合并成一组存入一个物理块的过程。
●2.记录的分解
–是指从一条物理记录中把逻辑记录分离出来的过程。
4.3文件的存储设备
●4.3.1文件存储设备的类型
●4.3.2磁盘的驱动调度算法
●4.3.3存储空间的分配与回收
●4.3.4存储空间的分配举例
4.3.1文件存储设备的类型
●1.顺序存储设备
●2.直接存储设备
1.顺序存储设备
●顺序存储设备是按信息的物理位置进行定位和读/写操作的存储设备。
在顺序存储设备中,只有前面的物理块被存取之后,才能存取其后的物理块。
●磁带就是一种典型的顺序存取设备。
●【例4-1】假定磁带记录密度为每英寸800字符,每一逻辑记录为160字符,块间隙为0.6英寸。
今有1500个逻辑记录需要存储,试计算磁带的利用率?
若要使磁带空间利用率不少于50%,至少应以多少个逻辑记录为一组?
这说明了什么问题?
2.直接存储设备
●是允许文件系统直接存取对应存储介质上的任意物理块的存储设备。
●磁盘就是典型的直接存储设备。
●由于磁带是一种顺序存储设备,用它存储文件时应采用顺序结构存放,顺序存取时效率较高。
磁盘是直接存储设备,三种文件物理结构都可采用,实际存储时可根据文件的使用情况来确定。
如果文件是顺序存取的,采用顺序结构和链式结构都可以;若采用直接存取方式且文件大小不固定,应采用索引方式,若文件大小固定,也可以采用顺序结构。
2.直接存储设备
●【例4-2】某软盘有40个磁道,磁头从一个磁道移到另一个磁道需要6ms。
文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为13磁道,每块的旋转延迟时间及传输时间分别为100ms、25ms,问读取一个100块的文件需要多少时间?
如果系统对磁盘进行了整理,让同一个磁盘块尽可能靠拢,从而使逻辑上相邻的数据块的平均距离降为2磁道,这时读取一个100块的文件需要多少时间?
4.3.2磁盘的驱动调度算法
●1.移臂调度
–
(1)先来先服务(FCFS)
–
(2)最短寻道时间优先(SSTF)
–(3)扫描算法(SCAN)或电梯调度算法
–(4)循环扫描算法(CSCAN)
●2.旋转调度
(1)先来先服务(FCFS)
●先来先服务调度算法是按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访问的物理位置。
●采用这种调度算法,只需要对访问磁盘的作业排队,新来的访问者排在队尾,始终从队首取出访问者访问磁盘,直到该队列为空。
(2)最短寻道时间优先(SSTF)
●最短寻道时间优先调度算法总是让离当前磁道最近的请求访问者启动磁盘驱动器,即是让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁臂移动过大的问题。
●采用这种调度算法,需要为请求访问磁盘的作业设置一个队列,随着当前磁道的改变,不断计算后续访问者与当前磁道的距离,让距离最短的访问者访问磁盘,新的当前磁道为最新访问的磁道。
(3)扫描算法(SCAN)或电梯调度算法
●扫描调度算法总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。
如果沿磁臂的方向无请求访问时,就改变磁臂的移动方向。
在这种调度方法下磁臂的移动类似于电梯的调度,所以它也称为电梯调度算法。
●采用这种调度算法,需要为访问者设置两个队列,根据磁头的移动方向,能访问到的访问者由近及远排队,背离磁头移动方向的访问者也由近及远排为另一队。
先按磁头移动方向队列调度访问者访问磁盘,当该方向没有访问者时,再改变方向,选择另一个访问者队列访问磁盘。
(4)循环扫描算法(CSCAN)
●循环扫描调度算法是在扫描算法的基础上改进的。
磁臂改为单项移动,由外向里。
当前位置开始沿磁臂的移动方向去选择离当前磁臂最近的哪个柱面的访问者。
如果沿磁臂的方向无请求访问时,再回到最外,访问柱面号最小的作业请求。
2.旋转调度
●旋转调度采用的是延迟时间最短者优先算法。
当磁臂定位后,等待访问该柱面的若干个访问者可能要求访问同一磁道上的不同扇区,也可能要求访问不同磁道上的扇区。
旋转调度总是对先到达磁头位置上的扇区进行信息传送操作,若访问的扇区号相同,则应分多次进行旋转调度。
磁盘的驱动调度算法举例
●【例4-3】若磁头的当前位置为100磁道,磁头正向磁道号增加的方向移动。
现有一磁盘读写请求队列:
23、376、205、132、19、61、190、398、29、4、18、40。
若采用先来先服务、最短寻道时间优先和扫描(电梯调度)算法,试计算平均寻道长度各为多少?
●【例4-4】磁盘请求以10、22、20、2、40、38柱面的次序到达磁盘驱动器。
寻道时每个柱面移动需要6ms,计算以下寻道次序和寻道时间。
●
(1)先来先服务
●
(2)电梯调度算法(起始向磁道号大的方向移动)
●在所有情况下磁头臂起始都位于柱面20号上。
4.3.3存储空间的分配与回收
●1.顺序结构与连续分配
●2.链接结构与链接分配
●3.索引结构与索引分配
1.顺序结构与连续分配
●
(1)基本原理:
–连续分配要求为每一个文件分配一组相邻接的盘块。
一组盘块的地址定义了磁盘上的一段线性地址。
因其采用空闲文件目录登记磁盘的空闲区,所以该分配方法也称为空闲文件目录法。
●
(2)采用的数据结构
–有文件目录、空闲文件目录。
●(3)外存空间的分配与回收
–当请求分配外存空间时,系统依次扫描空闲文件目录的记录,直到找到一个合适的空闲文件为止,在文件目录中填入该文件的文件名和所分配的始址末址,并修改空闲文件目录中相应的表目。
否则,提示空间不足。
–当用户撤消一个文件时,系统根据文件目录,找到该文件在外存中的始址和末址,对空闲文件目录进行调整。
它有4种情况,与可变分区管理的空闲区整理相同。
最后,删除该文件在文件目录中的记录。
2.链接结构与链接分配
●
(1)基本原理
–是将文件存放在外存的若干个物理块中,这些物理块不必连续,并且在每一个物理块中设一个指针,指向下一个物理块的位置,从而使得存放同一个文件的物理块链接起来。
●
(2)采用的数据结构
–有文件目录、空闲块链。
●(3)外存空间的分配与回收
–当请求分配外存空间时,系统依次从空闲块链中,取下几块分配给该文件,把最后一物理块的指针设为空值,并调整空闲块链的头指针。
在文件目录中增加一条记录,填入该文件的文件名和首块地址。
若空间不足,则给出提示。
–当用户撤消一个文件时,系统根据文件目录,收回其存储空间。
它将收回的空闲块依次链入空闲块链首,并删除该文件在文件目录中的记录。
3.索引结构与索引分配
●
(1)基本原理
–将文件存放在外存的若干个物理块中,并为每个文件建立一个索引表,索引表中的每条记录存放文件信息的逻辑块号和与之对应的物理块号。
系统通过文件索引表来完成对文件的操作。
●
(2)采用的数据结构
–整个系统设置了一个文件目录和一个位示图,为每个文件设置了一个索引表。
●(3)外存空间的分配与回收
4.3.4存储空间的分配举例
●【例4-5】有一磁盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区。
假定分配以扇区为单位,若使用位示图管理磁盘空间,问位示图需要占用多少空间?
若空闲文件目录的每条记录占用5个字节,问什么时候空闲文件目录大于位示图?
●【例4-6】设某文件为链接文件,由5个逻辑记录组成,每个逻辑记录的大小与磁盘块大小相等,均为512字节,并依次存放在50、121、75、80、63号盘块上。
若要存取文件的第1569逻辑地址处的信息,问要访问哪一个磁盘块?
4.4文件的目录管理
●4.4.1文件目录的基本概念
●4.4.2一级目录
●4.4.3二级目录
●4.4.4多级目录
●4.4.5目录管理举例
4.4.1文件目录的基本概念
●1.文件的组成
–文件体:
即文件本身,比如前面介绍过的记录式文件或字符流式文件。
–文件控制块。
也叫文件说明,它是为文件设置的用于描述和控制文件的数据结构,其中包括文件名、文件类型、文件结构、文件的存储位置、文件长度、文件的访问权限、文件的建立日期和时间等各种属性。
●2.文件目录
–是指存放文件有关信息的一种数据结构。
它包含多条记录,每条记录为一个文件的文件控制块(FCB)的有关信息。
4.4.2一级目录
●1.基本原理
–它采用的方法是为外存的全部文件设立一张如图4-17所示的目录表。
表中包括全部文件的文件名、存储文件的物理地址,以及文件的其他属性,如文件长度、文件类型等等。
每个文件占据表中的一条记录。
该目录表存放在外存的某个固定区域,需要时系统将其全部或部分调入主存。
●2.特点
–
(1)目录结构易于实现,管理简单
–
(2)易发生重名问题
–(3)当文件较多时,查找时间较长
–(4)不便于实现文件共享
4.4.3二级目录
●1.基本原理
–将文件目录分成主文件目录和用户文件目录两级。
在二级目录中,各个文件的说明信息被组织成目录文件,然后以用户为单位把各自的文件说明划分成组。
●2.特点
–
(1)提高了检索目录的速度。
–
(2)可以解决用户文件重名问题。
–(3)可以使不同用户共享同一个文件。
–(4)可实现对文件的保护和保密作用。
–(5)二级文件目录虽然解决了不同用户之间文件同名的问题,但同一用户的文件不能同名。
4.4.4多级目录
●1.基本原理
–把二级目录的层次关系加以推广,就形成了多级目录。
最高层为根目录,最低层为文件。
–当要访问某个文件时,往往使用该文件的路径名来标识文件。
文件的路径名是从根目录出发,直到所要找到的文件。
●2.特点
–
(1)层次清楚
–
(2)解决了用户文件重名问题
–(3)搜索速度快
4.4.5目录管理举例
●【例4-7】假定磁盘块的大小为1KB,对于540MB的硬盘,其文件分配表FAT需要占用多少存储空间?
当硬盘容量为1.2GB时,FAT需要占用多少空间?
4.5文件的共享与安全
●4.5.1文件共享
●4.5.2文件安全
4.5.1文件共享
●1.基本概念
–文件共享是指一个文件可以被多个授权的用户共同使用。
–文件的共享要解决两个问题。
一是如何实现共享,二是对各类共享文件的用户进行存取控制。
●2.实现文件共享的方法
–
(1)绕弯路法
–
(2)连访法
–(3)基本目录法
4.5.2文件安全
●文件的安全是指避免合法用户有意或无意的错误操作破坏文件,或非法用户访问文件。
●1.文件保护
–是指避免文件因有意或无意的错误操作使文件受到破坏。
●2.文件保密
–是指文件本身不得被未授权的用户访问,即防止他人窃取文件。
4.6文件的使用
●4.6.1文件的存取方法
●4.6.2文件的操作
●4.6.3文件使用的步骤
4.6.1文件的存取方法
●根据对文件中记录的存取次序,存取方法可以分为
–顺序存取:
是指按文件中的记录顺序依次进行读或写操作的存取方法。
–随机存取:
是指以任意的次序随机的读或写文件中的记录。
4.6.2文件的操作
●1.“建立”操作
–把一个新文件存放到存储介质上
●2.“打开”操作
–使用一个已经存放在存储介质上的文件
●3.“读/写”操作
–要读/写文件记录
●4.“关闭”操作
–在进行“读/写”操作完之后,需要执行“关闭”操作。
●5.“删除”操作
–删除文件
4.6.3文件使用的步骤
●
(1)读文件的步骤
–“打开”文件
–“读”文件
–“关闭”文件
●
(2)写文件的步骤
–“建立”文件
–“写”文件
–“关闭”文件
本章小结
●文件管理的主要任务是分配外存空间,对用户文件和系统文件进行管理,方便用户使用,并保证文件的安全性。
●主要目的是提高外存的使用效率和方便用户读文件的使用。
●主要功能是文件存储空间的管理、文件目录的管理、文件读写的管理、文件共享和安全的管理。
●熟悉和掌握以下基本概念:
–文件、记录、数据项、文件系统、记录的成组、记录的分解、文件目录
●熟悉和掌握以下基本知识:
–1.文件的类型2.文件的组织
–3.文件的存储设备4.磁盘调度
–5.磁盘空间的分配与回收6.文件目录
–7.文件共享8.文件安全
习题
●一、单项选择题
–1—20题
●二、填空题
–1—15题
●三、判断题
–1—10题
●四、名词解释题
–1—10题
●五、简答题
–1—6题
●六、应用题
–1—12题