文件与设备系统补充Word文档下载推荐.docx
- 文档编号:15785040
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:10
- 大小:91.40KB
文件与设备系统补充Word文档下载推荐.docx
《文件与设备系统补充Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《文件与设备系统补充Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
可以将文件访问方式推广到其他操作如用户管理,备份,网络访问等。
11.5.2文件的并发访问
文件并发访问控制的目的是提供多个进程并发访问同一文件的机制。
(1)方法:
☐访问文件之前,必须先打开文件:
如果文件的目录内容不在内存,则将其从外存读入,否则,仍使用已在内存的目录内容。
这样,多个进程访问同一个文件都使用内存中同一个目录内容,保证了文件系统的一致性。
☐文件锁定(filelock):
可以协调对文件指定区域的互斥访问
✧Solaris2.3中lockf的锁定方式:
✓F_UNLOCK:
取消锁定;
✓F_LOCK:
锁定;
如果已被锁定,则阻塞;
✓F_TLOCK:
如果已被锁定,则失败返回
✓F_TEST:
锁定测试;
☐利用进程间通信,协调对文件的访问;
11.6外存存储空间管理
11.6.1文件存储空间分配(fileallocation)
1.新创建文件的存储空间(文件长度)分配方法
☐预分配(preallocation):
创建时(这时已知文件长度)一次分配指定的存储空间,如文件复制时的目标文件。
☐动态分配(dynamicallocation):
需要存储空间时才分配(创建时无法确定文件长度),如写入数据到文件。
2.文件存储单位:
簇(cluster)
文件的存储空间通常由多个分立的簇组成,而每个簇包含若干个连续的外存存储单位(如扇区sector),如何确定每个簇的大小――簇又称为部分(portion)
(1)簇的大小
☐两个极端:
大到能容纳整个文件,小到一个外存存储块
☐簇较大:
提高I/O访问性能,减小管理开销
☐簇较小:
簇内的碎片浪费较小,特别是大量小文件时有利。
(2)主要方法:
两种
☐簇大小可变,其上限较大:
I/O访问性能较好,文件存储空间的管理困难(类似于动态分区存储管理)
☐簇大小固定,较小:
文件存储空间使用灵活,但I/O访问性能下降,文件管理所需空间开销较大
3.文件存储分配数据结构
采用怎样的数据结构来记录一个文件的各个部分的位置。
通常称为文件分配表(fileallocationtable,FAT)
☐连续分配(contiguous):
只需记录第一个簇的位置,适用于预分配方法。
可以通过紧缩(compact)将外存空闲空间合并成连续的区域。
☐链式分配(chained):
在每个簇中有指向下一个簇的指针。
可以通过合并(consolidation)将一个文件的各个簇连续存放,以提高I/O访问性能。
☐索引分配(indexed):
文件的第一个簇中记录了该文件的其他簇的位置。
可以每处存放一个簇或连续多个簇(只需在索引中记录连续簇的数目)。
11.6.2外存空闲空间管理(freespacemanagement)方法
外存空闲空间管理的数据结构通常称为磁盘分配表(diskallocationtable),分配的基本单位是簇。
文件系统可靠性包括检错和差错恢复。
空闲空间的管理方法:
三种,均适用于上述几种文件存储分配数据结构;
(1)位示图(bitmap):
每一位表示一个簇,取值0和1分别表示空闲和占用。
(2)空闲空间链接(chainedfreespace):
每个空闲簇中有指向下一个空闲簇的指针,所有空闲簇构成一个链表。
不需要磁盘分配表,节省空间。
每次申请空闲簇只需取出链表开头的空闲簇即可。
(3)空闲空间索引(indexedfreespace):
在一个空闲簇中记录其他几个空闲簇的位置。
注:
可以上述方法结合,应用于不同的场合。
如:
位示图应用于索引结点表格,链接和索引结合应用于文件区的空闲空间。
11.6.3文件卷
(1)磁盘分区(partition):
通常把一个物理磁盘的存储空间划分为几个相互独立的部分,称为“分区”。
一个分区的参数包括:
磁盘参数(如每道扇区数和磁头数),分区的起始和结束柱面等。
(2)文件卷(volume):
或称为“逻辑驱动器(logicaldrive)”。
在同一个文件卷中使用同一份管理数据进行文件分配和外存空闲空间管理,而在不同的文件卷中使用相互独立的管理数据。
☐一个文件不能分散存放在多个文件卷中,其最大长度不超过所在文件卷的容量。
☐通常一个文件卷只能存放在一个物理外设上(并不绝对),如一个磁盘分区或一盘磁带。
(3)格式化(format):
在一个文件卷上建立文件系统,即:
建立并初始化用于进行文件分配和外存空闲空间管理的管理数据。
通常,进行格式化操作使得一个文件卷上原有的文件都被删除。
11.7文件系统举例
11.7.1MSDOS的文件系统
(1)概述
☐多级目录,无文件别名,无用户访问权限控制
(2)磁盘文件卷结构
图1MSDOS的磁盘文件卷结构
☐文件卷(volume)信息:
记录在引导记录的扇区中。
包括:
簇大小,根目录项数目,FAT表大小,磁盘参数(每道扇区数,磁头数),文件卷中的扇区总数,簇编号长度等
✧逻辑扇区号:
三元组(柱面号,磁头号,扇区号)->
一个文件卷中从0开始对每个扇区编号,优点:
屏蔽了物理磁盘参数的不同
✧允许同时访问的文件卷数目上限可以由config.sys文件中的LASTDRIVE=语句指定
☐簇(cluster):
由若干个扇区组成。
在一个文件卷中从0开始对每个簇编号。
☐对簇大小的讨论
✧文件卷容量越大,若簇的总数保持不变即簇编号所需位数保持不变,则簇越大。
缺点:
簇内碎片浪费越多
✧文件卷容量越大,若簇大小不变,则簇总数越多,相应簇编号所需位数越多,可以是12,16,32二进制位即FAT12,FAT16,FAT32。
☐FAT表:
两个镜像,互为备份。
文件卷中的每个簇均对应一个FAT表项,文件分配采用链式分配方法。
每个FAT表项所占位数是簇编号的位数,其值是(以FAT12为例):
✧0:
表示该簇空闲
✧FF7h:
物理坏扇区
✧FF8h~FFFh:
表示该簇是文件的最后一个簇
✧其他值:
表示该簇被文件占用,而且表项中的值是文件下一个簇的编号。
☐FAT表大小占文件卷容量的比例:
簇编号位数/(8*512*每个簇的扇区数)
☐目录:
是目录项的顺序文件,不对目录项排序。
若目录中包含的文件数目较多,则搜索效率低。
每个目录项大小为32字节,其内容包括:
文件名(8+3个字符),属性(包括文件、子目录和文件卷标识),最后一次修改时间和日期,文件长度,第一个簇的编号。
在目录项中,若第一个字节为E5h,则表示空目录项;
若为05h,则表示文件名的第一个字符为E5h。
✧文件名不区分大小写
11.7.2WindowsNT的文件系统
1.概述
(1)NTFS为多级目录结构,支持文件别名(符号链接方式);
(2)NTFS文件由多个文件属性构成,每个属性由属性名和属性流(stream,简单字节队列)组成;
用户可自定义属性;
(3)NTFS支持用户权限管理:
有5种权限划分:
读、写、运行、删除和修改权限;
支持按用户、用户组分配权限;
(4)NTFS文件支持数据压缩功能;
(5)NTFS卷结构支持容错功能;
2.NTFS结构
NTFS的结构以卷为单位,卷与磁盘分区相关;
卷由一组文件和未分配空间组成;
NTFS以簇为基本硬盘分配单位,簇的大小为物理扇区的整数倍,通常为2K倍。
NTFS卷上的所有数据(包括用于引导、定位、空间分配等文件系统管理数据)都以文件的形式保存;
NTFS结构由一组元文件构成:
(1)主文件表($MFT):
文件记录数组,每个记录为1KB;
每个文件对应一个或多个文件记录;
(2)主文件表副本($MFTMirr):
是主文件表中前几项的副本,用于在主文件表不能读取时的元文件定位;
(3)卷结构日志($LogFile):
记录所有影响NTFS卷结构的操作,用于系统失败后的卷恢复;
(4)空间分配位图($Bitmap):
标识卷中每个簇的分配状态,即:
空闲和已被分配;
(5)引导文件($Boot):
引导程序代码;
(6)坏簇文件($BadClus):
记录卷中据有损坏位置;
(7)卷文件($Volume):
卷名、文件系统版本、卷状态(卷是否被损坏);
(8)属性定义表($AttrDef):
卷中支持的属性类型列表;
11.7.3UNIX的文件系统
☐多级文件目录,可以建立文件别名(索引结点方式和符号链接方式),有用户访问权限控制(文件的读R、写W和执行X,相应于目录的检索文件、增删文件和进入目录)
✧注意:
如果对文件具有写权限,而对文件所在目录没有写权限,仍然可以改变该文件的长度(如添加数据),因为除文件名外的其他文件目录内容都存放在索引结点而不是在目录文件。
☐文件类型:
常规文件(ordinaryfile),目录文件(directory),特殊文件(specialfile)如外设,先进先出文件(FIFO)如命名管道
3.磁盘文件卷结构
图2磁盘文件卷结构
☐超级块:
描述文件系统的状态,包括磁盘空闲块栈,空闲i结点栈
☐i结点(inodelist):
存放文件说明信息,每项64字节
☐目录文件:
每个目录项16字节。
文件名区分大小写。
☐文件分配:
直接索引,一级、二级、三级间接索引
6.打开文件管理
☐进程打开文件表,系统打开文件表
☐内存i结点表:
空闲的内存i结点->
组织成链表;
占用的内存i结点->
哈希表(对冲突采用链表方式解决)
✧内存i结点的分配
✧内存i结点的释放
✧内存i结点的锁定
☐进程所进入的目录:
包括各个打开文件的目录路径,以及进程的当前目录
✧进入一个目录,如果该目录文件的内存i结点已经存在,则只需把内存i结点的引用计数加1,否则读入该目录文件的磁盘i结点并建立内存i结点。
✧系统起动之后,进入根目录并建立相应内存i结点,直到系统关闭
✧退出目录:
如关闭文件或修改当前目录
☐目录路径查找:
把目录路径分解为各级目录名,然后逐级进入目录并查找。
目录路径为/usr/include/sys,则各级目录名为usr,include,sys。
查找过程举例:
✧已经进入上级目录usr,根据其内存i结点查找其目录文件,找到include目录项
✧根据include目录项,建立其内存i结点,则进入include目录
✧如果查找成功完成,则会进入目录路径中所包含的各级目录,如:
打开文件为/usr/include/sys/types.h,则进入的各级目录依次为/usr,/usr/include,/usr/include/sys
安装和拆卸文件卷:
mount和umount
12外部设备管理
12.1引言
12.1.1外部设备类型和特征
1.按交互对象分类
☐人机交互设备:
视频显示设备、键盘、鼠标、打印机
☐与计算机或其他电子设备交互的设备:
磁盘、磁带、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 设备 系统 补充