操作系统-第7章-文件管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章文件管理7.1文件和文件系统7.2文件的逻辑结构7.3目录管理7.4文件共享7.5文件保护7.1文件和文件系统所有的计算机应用程序都要存储信息检索信息三个基本要求能够存储大量的信息长期保存信息可以共享信息7.1文件和文件系统解决方法把信息以文件的形式存储在磁盘或其他外部介质上文件是通过操作系统来管理的,包括文件的结构命名存取使用保护和实现方法7.1文件和文件系统两种观点用户观点文件系统如何呈现在用户面前:一个文件由什么组成,如何命名,如何保护文件,可以进行何种操作等等操作系统观点文件目录怎样实现,怎样管理存储空间,文件存储位置,磁盘实际运作方式(与设备管理的接口)等等7.1文件和文件系统数据项、记录和文件数据项基本数据项:用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段组合数据项:由若干个基本数据项组成的,简称组项记录记录是一组相关数据项的集合,用于描述一个对象在某方面的属性7.1文件和文件系统文件由创建者所定义的、具有文件名的一组相关元素的集合文件属性文件类型文件长度文件物理地址文件的建立日期其它诸如:用户名、文件逻辑结构、文件物理结构、存取控制类信息、最后修改日期、最后访问日期、共享计数等7.1文件和文件系统一些常用的文件属性7.1文件和文件系统文件名和类型文件名创建文件时需给文件命名文件的具体命名规则在各个系统中各不相同文件名的长度是否区分大小写扩展名用于指示文件的类型扩展名的作用7.1文件和文件系统常用的文件扩展名7.1文件和文件系统文件类型按用途分类系统文件:由系统软件构成的文件用户文件:用户的程序和数据等文件库文件:标准子例程及常用例程构成的文件,允许用户使用但不能修改按文件中数据的形式分类源文件目标文件可执行文件7.1文件和文件系统按存取控制属性分类只执行文件只读文件读写文件按组织形式和处理方式分类普通文件目录文件特殊文件7.1文件和文件系统按文件的逻辑结构分类有结构文件无结构文件按文件的物理结构分类顺序文件链接文件索引文件7.1文件和文件系统文件系统的层次结构文件系统:含有大量的文件及其属性的说明,对文件进行操纵和管理的软件,以及向用户提供的使用文件的接口等的集合7.1文件和文件系统对象及其属性文件目录磁盘(磁带)存储空间文件系统的接口命令接口程序接口:系统调用7.1文件和文件系统对对象操纵和管理的软件集合文件系统的核心部分文件系统的功能大多在这一层实现文件存储空间的管理文件目录的管理将文件的逻辑地址转换为物理地址的机制对文件读和写的管理文件的共享与保护分为四层I/O控制层、基本文件系统层、基本I/O管理程序、逻辑文件系统7.1文件和文件系统文件操作最基本的文件操作创建文件删除文件读文件写文件设置文件的读/写位置7.1文件和文件系统文件的“打开”和“关闭”操作“打开”,指OS将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引号)返回给用户“关闭”,指OS将该文件在打开文件表中的表目删除掉其它文件操作对文件属性进行操作有关目录的操作7.1文件和文件系统使用文件系统调用的程序示例一个UNIX程序,功能:将源文件复制到目标文件复制文件的一个简单程序(2-1)7.1文件和文件系统复制文件的一个简单程序(2-2)7.1文件和文件系统返回7.2文件的逻辑结构文件的逻辑结构从用户角度看文件,研究文件的组织形式,是用户可以直接处理的数据及其结构,它独立于物理特性,又称为文件组织7.2文件的逻辑结构文件逻辑结构的类型有结构文件(记录式文件)记录定长记录变长记录按文件组织方式顺序文件索引文件索引顺序文件无结构文件(流式文件)7.2文件的逻辑结构顺序文件逻辑记录的排列方式串结构:记录之间的顺序与关键字无关,通常由时间决定;不利于查找顺序结构:文件的所有记录按关键字排列;可以利用有效的查找算法7.2文件的逻辑结构顺序文件的优缺点优点批量存取时,顺序文件效率最高缺点查找速度慢添加、修改记录,比较困难:配置事务文件,每隔一段时间,批量处理7.2文件的逻辑结构顺序文件的访问隐式寻址方式定长记录不定长记录显式寻址方式定长记录读指针:Rptr写指针:WptrRptr=Rptr+LWptr=Wptr+LRptr=Rptr+Li+1Wptr=Wptr+Li+1Ri=i*L7.2文件的逻辑结构RiR1R0......LLLRptr0Li*LRiLiR1R0L1L0......0L0+1L0L0+L1+2RptrL1Li10)1(ikkLikkL0)1(7.2文件的逻辑结构索引文件引入:解决变长记录文件较难直接存取的问题思路:为变长记录文件创建一张索引表,索引表是定长记录文件,检索时,先查找索引表,再根据指针所指的地址读取记录优点:提高了对文件的查找速度;插入删除记录方便缺点:增加了存储开销7.2文件的逻辑结构索引号长度m指针ptr0m01m1……imi……索引表R0R1…Ri…逻辑文件7.2文件的逻辑结构索引顺序文件引入:解决变长记录文件较难直接存取的问题,而且所付出的代价不大思路:将顺序文件的所有记录分成若干组,为顺序文件建立一张索引表,索引表中为每组的第一个记录建立一个索引项检索时,先检索索引表,找到记录所在记录组的第一个记录的表项,再顺序查找主文件,得到要求的记录当文件较大时,可以考虑多级索引7.2文件的逻辑结构键逻辑地址AnQiBaor……姓名其他属性AnQiAnKang…Baor……7.2文件的逻辑结构直接文件和哈希文件直接文件可根据给定的记录键值,直接获得指定记录的物理地址关键:用什么方法进行从记录值到物理地址的转换哈希(Hash)文件目前应用最为广泛的一种直接文件返回7.3目录管理目录管理的要求实现“按名存取”提高对目录的检索速度文件共享允许文件重名7.3目录管理按名存取把ASCII码文件名映射成定位文件数据所需的地址信息过程(即目录检索过程)利用路径名逐级查找文件目录,找到相应的文件属性找出文件属性中记录的文件物理地址启动磁盘操作,将所需文件读入文件目录一个文件目录也被看作是一个文件,称为目录文件由若干有序的目录项组成每个目录项对应一个文件7.3目录管理问题:在目录项中如何存储文件属性?方法1将文件属性全部存储在目录项中——FCBMS-DOS/Windows中采用方法2将文件属性存储在i(索引)结点中在目录项中只存储文件名和i结点号UNIX中采用7.3目录管理文件控制块和索引结点文件控制块(FCB)文件控制块是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息(文件属性),是文件存在的标志FCB内容基本信息类存取控制信息类使用信息类7.3目录管理索引结点磁盘索引结点(磁盘上,每个文件一个)文件主标识,文件类型,文件存取权限,文件物理地址,文件长度,文件连接计数,文件存取时间内存索引结点(内存,从磁盘索引结点拷入信息)索引结点编号,状态,访问计数,文件所在设备的逻辑设备号,链接指针(a)简单目录,包含固定大小的目录项,其中有磁盘地址和属性(b)每个目录项只引用i结点的目录7.3目录管理MS-DOS的目录项UNIXV7的目录项7.3目录管理7.3目录管理简单的文件目录单级文件目录在整个系统中,为所有文件建立一个目录文件(组成一线性表),每个文件占一个目录项优点:简单,易实现缺点查找速度慢不允许重名不便于实现文件共享文件名物理地址文件说明状态位文件名1文件名2…7.3目录管理两级文件目录为改变一级文件目录命名冲突,并提高对目录文件检索速度而改进目录分为两级主文件目录(MFD)用户文件目录(UFD)优点提高了检索目录的速度在不同的用户目录中,可以使用相同的文件名不同用户可用不同的文件名来共享同一个文件缺点:增加了系统开销7.3目录管理用户名WangZhangGao指向子目录指针Wang用户目录AlphaTestAlphaTestReportTestZhang用户目录ReportTestGao用户目录BetaDeviceMisxBetaDeviceMisx7.3目录管理树形(多级)目录结构在两级目录结构的基础上,允许用户再创建自己的子目录及子目录的子目录…优点层次结构清晰,便于管理和保护有利于文件分类解决重名问题提高文件检索速度能进行存取权限的控制现代操作系统中应用最广泛的目录结构7.3目录管理查找一个文件按路径名逐层检查,可以按全路径(绝对路径)和相对路径查找ABCFED13ABD2GA4AC5671011JNK12JMK13AHF141516b1718192021a897.3目录管理目录查询技术线性检索法(顺序检索法)Hash方法1.1..4bin7dev14lib9etc6usr8tmp示例:查找/usr/ast/mbox步骤132结点6是/usr的目录6.1..19dick30erik51jim26ast45bal132#块是/usr的目录496结点26是/usr/ast的目录496#块是/usr/ast的目录26.6..64grant92Book60mbox61minix17src7.3目录管理返回7.4文件共享基于有向无循环图实现共享有向无循环图用户B想共享用户C的一个文件file1用户B在自己的目录中增加一个目录项自己决定文件名部分其他文件属性从用户C的file1目录项中复制每个文件可以有多个父目录优点:共享方便缺点:达不到真正的共享文件系统包含一个共享文件7.4文件共享7.4文件共享利用索引结点将文件的物理地址和其他的属性放在索引结点中,只在目录项中存放文件名和指向索引结点的指针Linux实例注:索引结点中有链接计数器。只有计数器值为0,才能删除文件,同时也将删除索引结点(悬空指针问题)file2file1count=2文件物理地址用户B的目录用户C的目录基于索引结点的共享方式file1的i结点7.4文件共享(a)连接之前(b)创建连接之后(c)当所有者删除文件之后7.4文件共享7.4文件共享利用符号链接实现文件共享在用户B的目录中建立LINK文件,其内容是它所链接的文件的路径名优点:只有文件主才有指向i结点的指针,文件主删除文件,不会有悬空指针只要简单的提供一个机器的网络地址以及该机器上驻留的路径,就可以连接全球任何地方的机器上的文件缺点:空间和时间开销更大Linux实例7.4文件共享file12file1文件物理地址用户B的目录用户C的目录file1的i结点文件物理地址文件类型:LINK/…/c/file1file12的i结点7.4文件共享返回7.5文件保护安全性的两个重要方面数据丢失灾难硬件或软件故障人的失误入侵者:积极的或消极的非技术人员的偶然窥视入侵者的窥视明确的偷窃企图商业或军事间谍活动•可通过备份解决(存放在另一处)•容错技术可通过存取控制机制7.5文件保护保护域访问权一个进程能对某个对象执行操作的权利用一个有序对(对象名,权集)表示保护域进程对一组对象访问权的集合进程只能在指定域内执行操作进程和域间的静态联系进程和域间的动态联系7.5文件保护访问矩阵概念:用矩阵来描述系统的存取控制,该矩阵叫做访问矩阵,行代表域,列代表对象,矩阵中的每一项由一组访问权组成。域的实现每个进程是一个域,仅当进程拥有切换权时,才能进行切换每个用户是一个域,用户的切换,引起域的切换对象文件7.5文件保护文件1文件2打印机D1RD2R,W,EWD3W对象域一个具有切换权的访问矩阵域D1域D2域D3SSR:读W:写

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功