- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第九章 文件系统精要
第九章 文件系统;9.1 文件系统的概念;文件系统的功能:;9.2 文件的逻辑组织与存取方法;一、文件的逻辑结构;1、流式文件;2.记录式文件;二、存取方法;9.3文件的物理结构
文件的物理结构是指文件在外存上的存储组织形式,它与存储介质的存储特性有关。存储介质通常划分为大小相同的物理块,物理块是分配和存储信息的基本单位,如磁盘块的大小是512B的整数倍(1KB/块,4KB/块),为便于管理,一般也把文件信息划分为与物理块大小相等的逻辑块。
例如:当磁盘块大小为512B,某文件长度为1034B,则需要3个物理块,第3块的利用率为10B/512B。当磁盘块大小为1KB/块时,则需要2个物理块,第2块的利用率为10B/1024B。;常见的文件物理结构有:;9.3.1 连续文件
它是将文件信息依次存放在外存连续的物理块中。
例如:某文件A由3个逻辑块组成,第一个逻辑块对应的物理块号为100,则连续文件的物理结构为:;9..3.2串联文件
文件存储的物理块不必连续,在每个物理块的最后一个字做为指针,指向下一个物理块的位置。
例如:某文件B有3个逻辑块,分别分配到100,150,57号物理块中,串联文件的结构为:;2.文件映照结构(文件分配表FAT);例如:文件C占用了第3,6,4,8块,文件映照图结构为:;特点:存放链指针需要一定的存储空间,文件映照图一般比较大,不宜保存在主存。在最坏情况下,可能要把整个文件映照图全部读入主存,才能找到文件在磁盘中的所有物理块,所以,把文件所占的磁盘空间尽量靠近是有利的,而不应将文件散布在整个磁盘上(如定期做碎片整理工作)。
例:假定1KB/块,对于120GB的硬盘,采用FAT32结构(一个磁盘块号32位),求文件映照图的大小?
解:磁盘块数=120GB/1KB=120M
文件映照图的大小=120MX32bit/8=480MB;9.3.4索引文件
为了能随机的访问文件的任何一部分,可以采用索引文件结构。
每个文件文件需建立一个索引表,索引表中的每个表项为文件的逻辑块号和与之对应的物理块号。
例如:某文件D分别存放在物理块23,19,26,29中,该文件的索引结构为:; 索引文件在存储区占两个区,索引区和数据区。要访问索引文件需要两步操作:
查索引表,由逻辑块号得物理块号;
由物理块号访外存获得所要求的信息。
特点:
可以进行随机访问,易于进行文件的增删。但索引表的使用增加了存储空间的开销,文件操作需要两次访问外存。;例:P263 UNIX System V 的多重索引结构,每个文件都有自己的磁盘地址表。;一次间址;二次间址;;10.在某系统中,一个目录项可以存储至多13个磁盘块地址。前10个地址指向文件的前10块,第11个地址指向一个一次间址块,第12个地址指向一个二次间址块,第13个地址指向一个三次间址块。假设每个间址块可以容纳256个磁盘块地址指针,一个磁盘块的大小为1KB,那么一个文件最多可以达到多大?
解:(10+256+2562+2563)×1KB;例:在UNIX System V中,如果盘块的大小为1KB,每个盘块号占4B,那么一个进程要访问偏移量263168B处的数据时,要经过几次间址?
解:逻辑盘块号=int(263168/1024)=257
块内偏移量=263168 mod 1024 =0
∵ 10﹤257﹤10+256
∴只需要经过一次间接寻址。;9.4文件存储空间的管理;例:某磁盘空间使用情况如下:;;9.4.2空闲块链
思想:把文件存储设备上所有的空闲块链接在一起,当申请者需要空闲块时,分配程序从链头开始摘取所需要的空闲块,然后调整链首指针。当回收空闲块时,把释放的空闲块插入链中。
针。;方法一:每个空闲块中包含指向下一空闲块的指针。
特点:每申请一块都要读出空闲块并取得指针,申请多次时需多次读盘。;方法二:将空闲块号组成空闲块链
每个结点的内容包括:当前(或下一个)空闲块号和指向下一个结点的指针。;9.4.3位示图
思想:每个磁盘块都对应1bit,“1”—已分配,“0”—未分配。
写出例题中的位示图:
0011,1001,1111,0001,1000,1110 ……;例题:
一个位示图的大小=磁盘容量/磁盘块大小/8(字节)
例如:对应80GB的磁盘,磁盘块大小为1KB,则位示图的大小=80GB/1KB/8=10MB
思考:如何减少位示图的大小?
增加磁盘块的大小。;P270 9.8.6 UNIX空闲块的管理——成组链接法
;成组链接法
思想:从尾向前,空闲块每100块一组,最后一组99块,其余的就是直接管理的盘块号和盘块数,放入S_free[ ]和S_nfree中。每一组的最后一块作为索引表,用来登记下一组100块
文档评论(0)