本章介绍文件的逻辑组织和在文件存储器上的物理组织;实现“按名存取”和文件共享、保护的文件系统目录的结构和管理;文件存储空间分配和回收算法和文件系统的磁盘格式;文件系统的安全性。
1.文件系统概述
1.1文件
1.1.1文件的定义和命名
文件是存贮在某种介质上的并具有文件名的一组有序信息的集合。
文件名格式如下:[<盘符>] <文件名> [.扩展名]。
1.1.2与文件相关的概念
- 数据项
数据项是描述一个对象的某些属性的字符集,它是数据的基本单位,一个数据项有一个值。 - 记录
记录是一组相关数据项的集合,用于描述一个对象某方面的属性 - 文件
文件是具有文件名的一组相关记录的集合 - 数据库
数据库是相关数据的集合
1.2文件系统
1.2.1文件系统的定义和命名
文件系统是操作系统中以文件方式管理计算机软件资源的软件和被管理的文件及数据结构(如目录和索引表等)的集合。
- 从系统角度来看,文件系统是对文件存储器的存储空间进行组织、分配和回收,负责文件的存储、检索、共享和保护。
- 从用户角度来看,文件系统主要是实现“按名存取”,文件系统的用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方。
1.2.2文件系统的类型
- FAT文件系统:它是MS-DOS操作系统使用的文件系统
- NTFS(NT文件系统):它是Windows NT操作系统使用的文件系统,它具有很强的安全特性和文件系统恢复功能
1.2.3文件管理的目的
- 方便的文件访问和控制:以符号名称作为文件标识,便于用户使用
- 并发文件访问和控制:在多道程序系统中支持对文件的并发访问和控制
- 统一的用户接口:在不同设备上提供同样的接口,方便用户操作和编程
- 多种文件访问权限:在多用户系统中的不同用户对同一文件会有不同的访问权限
- 优化性能:存储效率、检索性能、读写性能
- 差错恢复:能够验证文件的正确性,并具有一定的差错恢复能力
2.文件的组织
- 文件的组织是指文件的构造方式
- 从用户观点除法观察到的文件组织结构称为文件的逻辑结构
- 而文件在外存上的存储组织形式称为文件的物理结构,又称文件的存储结构
2.1文件的逻辑结构和存取方法
- 从用户观点出发观察到的文件组织结构称为文件的逻辑结构,逻辑结构的文件称逻辑文件。
- 逻辑文件从结构上分成两种形式,一种是无结构的流式文件(如文档),另一种是有结构的记录式文件(如数据库中的表)。
- 用户通过对文件的存取来完成对文件的修改、追加和搜索等操作
- 常用的存取方法有顺序存取法、随机存取法和按键存取法三种
2.2文件的物理结构(如何在磁盘上存储)
文件在存储介质上的组织方式称为文件的存储结构或称文件的物理结构、物理文件。
2.2.1文件控制块FCB
为了实现“按名存取”,系统必须为每个文件设置用于描述和控制文件的数据结构,它至少要包括文件名和存放文件的盘物理地址,这个数据结构称为文件控制块FCB,文件控制块的有序集合称为文件目录,即一个文件控制块FCB就是一个文件目录项。
FCB包含信息如下:
-
文件基本信息类
- 文件名:标识一个文件的符号名,在每个系统中文件必须具有唯一的名字。
- 文件的物理地址:由于文件的物理结构不同而不同。
-
存取控制信息类
- 文件的存取权限,像UNIX用户分成文件主、同组用户和一般用户三类,这三类用户的读、写、执行的权限。
-
文件使用信息类
- 文件建立日期、最后一次修改日期、最后一次访问的日期
- 当前使用的信息:打开文件的进程数,在文件上的等待队列
2.2.2如何在磁盘上存储文件
- 先像内存的管理一样给外存分块(物理块),然后把文件也分成大小相等的页(逻辑块)
- 外存分配方法有连续分配、链接分配、索引分配,相应物理文件有:顺序文件、链接文件、索引文件。
2.2.2.1连续分配——顺序文件
把文件存储到磁盘连续的物理盘块中所形成的文件称为顺序文件。
优点:管理简单,顺序存取速度快。
缺点:增删记录相当困难,磁盘存储空间的利用率不高,有外零头。
2.2.2.2链接分配——链接文件
在将逻辑文件存储到外存上时,不要求为整个文件分配连续的空间,而是可以装入到离散的多个盘块中,只在每个盘块最后一个单元设置链接指针(这称为隐式链接) ,然后用链接指针将这些离散的盘块链接成一个队列,这样形成的物理文件称为链接文件。
优点:盘存储空间利用率高,文件增删改记录方便。
缺点:在随机存取某一个记录前需要用多次盘I/O操作读该记录前的文件信息以取得该记录的盘块号,才能存取该记录。
2.2.2.3索引分配——索引文件
索引文件是实现非连续存储的另一种方法,系统为加快记录的检索过程,为每个文件建立了一张索引表,每个逻辑块在索引表中占有一个表项,登记存放该逻辑块的盘块号。
当索引表很大时,需要用多个盘块。管理有多个盘块的索引表有两种方法:
-
是将存放索引表的盘块用链接指针链接起来称为链接索引
链接索引可以顺序地读取索引表各索引表项,但读取后面的索引表项类同链接文件需要花费多次盘I/O操作。 -
是采用多级索引
索引表本身建立索引表,从而形成了两级索引,如所形成的两级索引表还不能存放在一个盘块中,则需要为二级索引表建索引表,而形成三级索引。
如:如果每个盘块的大小为4KB,每个盘块号大小占4B
索引文件优点:既适合顺序存取记录又适合按任意次序随意存取记录,也便于增删文件的记录,所以索引结构文件应用范围较广。
索引文件缺点:当文件很大时索引表很庞大,占用了许多盘空间,而在文件很小时,多级索引级别又不变,带来索引块的零头和存取速度减慢。
3.文件的目录和管理
3.1目录结构——多级目录
3.1.1单级目录结构
单级目录结构简单,能实现目录管理的基本功能–按名存取,但存在查找速度慢,不允许重名和不便于实现文件共享等缺点,因此它只适用于单用户环境。
3.1.2多级目录结构
为解决单级目录结构,在多道程序设计系统中常采用多级目录结构,MS-DOS和UNIX等操作系统都采用多级目录结构。这种目录结构像一棵倒置的有根树从树根向下,每一个节点是一个目录,最末一个结点是文件
-
重名问题:在多级目录中存取一个文件需要用文件全名,则使用文件名相同时而文件全名不同,从而解决了重名问题。
-
相对路径:进程对各文件的访问都相对于“工作目录”而设置路径,这称为相对路径名。
-
绝对路径:从根目录开始的路径名称为绝对路径名
3.2文件共享
文件共享:是指不同的用户使用不同的文件名来使用同一文件。
3.3内存目录管理
3.3.1目录查询技术
系统
首先利用用户提供的文件名,对文件目录进行查询,找出该文件的文件控制块FCB。
然后根据找到的FCB中所记录的文件物理地址,并根据文件物理组织方式找出文件的盘块号,
进而换算出文件在磁盘上的物理位置(柱面号、磁头号、扇区号),
最后启动磁盘驱动程序,将所需文件读入内存。
3.3.2内存的目录管理表
为了减轻盘I/O负担,采用把当前使用的文件目录表目复制到内存,建立内存的目录管理表。
3.3.3文件操作常用系统调用
文件系统提供的常用系统调用有“建立”(create)文件、“打开”(open)文件、“写”(write)文件、“读”(read)文件、“关闭”(close)文件、“删除”(delete)文件等。
-
建立文件(create)
当用户提出在某个路径或目录下建立文件时,系统首先检查在该目录下有否相同名的文件
-
打开文件(open)
“打开”命令的任务是:磁盘目录中找到该文件的FCB,拷贝到内存,建立内存的目录管理表。
-
读/写文件(read/write)
用户(或进程)要读写文件时,利用PCB中用户打开文件表的指针可以找到所需读/写的文件所的盘块
-
关闭文件(close)
将已修改的内存文件目录信息及时写回到磁盘目录中,并释放文件的内存目录表目空间供其它进程使用。
-
删除文件(delete)
根据用户提出的在某目录下的文件名,命令将该文件在目录文件中的表项和相应的索引节点内容删除
4.文件存储空间的管理
4.1磁盘组织
磁盘是常用的存储设备,它具有容量大,存取速度快,可以实现随机存取等优点,是现代操作系统的必需存储设备,也是实现虚拟存储器所必需的硬件。
-
磁盘物理组织
每个磁盘都是由盘片,磁道和扇区组成。
4.2磁盘空闲块管理
下面是几种常用的文件存储空间的管理方法
4.2.1空闲表法
空闲表法属于连续分配方法,它为外存上所有空闲区建立一张空闲表。
4.2.2位示图法
磁盘上所有盘块都有一个二进制位与之对应,这样,由所有盘块所对应的位形成了一个集合称为位示图,位示图用磁盘块存放,称为位图块。
例:操作系统盘块大小为1KB,每个位图块有8192位,每个位图块能管理多大空间?要管理大的磁盘空间就需要多个位图块,这就需增设位图索引块,每个位图块块号用4B记录,这样一个位图索引块可管理多大的空间?
解题步骤:
-
先用盘块大小aKB,每个位图块有bB(b*1024位),得出每个位图块管理a×bKB
的磁盘空间。
-
再用盘块大小aKB除以每个位图块块号所用aB记录,则可得一个位图索引块(盘块)中有n个(n=aKB/aB )
-
再用n个乘上每个位图块管理的空间aKB×bB×n=a×b×nMB,得到位图索引块可管理的空间。
解题:
- 每个位图块能管理:1KB * 8192 = 8 MB
- 一个位图索引块可管理1KB/4B=256个位图块
- 总共管理256×8MB = 2GB大小磁盘空间
位示图优点:位示图描述能力强,位示图较小,可以复制到内存,使查找既方便又快速。
4.2.3空闲块链接法
空闲块链接法是将磁盘上所有空闲盘区链接在一个队列中,称为空闲块链。
空闲块链接法的优点是不需专用块存放管理信息,它的缺点是连续分配回收多块空闲块时需增加盘I/O操作。
5.安全和保护
影响文件安全性的主要因素:人为因素、系统因素、自然因素
为了确保文件系统的安全性,可针对上述原因而采取以下措施:
- 通过存取控制机制来防止由人为因素所造成的文件不安全性。
- 通过磁盘容错技术,来防止由磁盘部分的故障所造成的文件不安全性。
- 通过“后备系统”来防止由自然因素所造成的不安全性。
5.1文件的存取控制
文件系统对文件的保护常采用存取控制方式进行,所谓文件的存取控制就是不同的用户对文件的访问规定不同的权限,以防止文件被未经文件主同意的用户访问。
-
存取控制矩阵
理论上存取控制方法可用存取控制矩阵,它是一个二维矩阵,一维列出计算机的全部用户,另一维列出系统中的全部文件,矩阵中每个元素Aij是表示第i个用户对第j个文件的存取权限。
-
存取控制表
一个改进的办法是按用户对文件的访问权力的差别对用户进行分类,由于某一文件往往只与少数几个用户有关,所以这种分类方法可使存取控制表大为简化。
-
用户权限表
改进存取控制矩阵的另一种方法是以用户或用户组为单位将用户可存取的文件各集中起来存入一表,这称为用户权限表。
end…
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84189.html