操作系统 第四章 第一部分 文件管理(王道考研)
操作系统 第四章 第一部分 文件管理(王道考研)
初识文件管理

文件的属性

文件名:计算机里,完整的文件名应该包括主文件名和扩展文件名两部分。扩展文件名就是你说的“后缀”。针对你说的情况,文本文件名应该写为:1.txt。
标识符=文件的路径+文件名
文件内部数据的组织(文件的逻辑结构)

有结构文件 = 表文件
文件之间的组织形式(目录结构)


操作系统提供的功能
基本功能:文件的增删改查


文件怎么放在外存中?(文件的物理结构)


操作系统实现的文件管理功能

小结

文件的逻辑结构

无结构文件

有结构文件

记录的长度是否固定

实际生活中,最常用的是可变长记录
有结构文件的逻辑结构

顺序文件

结合链表和数组进行理解
链式存储:链表
顺序存储:数组

可变长记录就要去访问每条记录的长度

数组元素长度固定的数组


索引文件
索引表配置记录的指针,从而相当于定长记录的顺序文件。

索引顺序文件
二级页表的思想,表中有表
索引的索引

多级索引顺序文件
超级套娃,索引的索引的索引的。。

小结

文件目录

目录示例

文件控制块



对目录的操作

目录结构
单机目录结构
只有一层的文件夹

两级文件目录
有多个用户,但是用户对自己的文件不能进行进一步的管理

多级目录结构
树的结构

当前目录->相对路径(减少IO次数)

缺点

无环图目录结构

索引结点(FCB的改进)
只放一些有用的数据项


小结

文件的物理结构

文件块,磁盘块



文件分配方式

连续分配


优点
- 支持随机访问
 

- 速度最快
 

缺点
- 不方便拓展
 - 存储空间利用率低,产生难以利用的磁盘碎片
 
链接分配
类似于链表

隐式链接
起始块号是0号块,链表的头和尾,每个节点包含指向下一个节点的指针。
优点

缺点

显示链接
FAT



优点


缺点
FAT(文件分配表)占用一定的存储空间。
小结
链接分配默认是隐式链接。
索引分配

索引块对应一个索引表,占用存储空间

优点

缺点
索引块占用一定的存储空间。
索引表太小了,怎么解决?


链接方案
类似:链表中每个元素都是数组


缺点:要找到最后一个逻辑块,必须所有的索引块都读入内存,效率低
多层索引
简单理解:目录的目录


磁盘IO次数多

混合索引


小结

文件分配方式的小结

文件存储空间管理

存储空间的划分和初始化

空闲表法

空闲链表法

空闲盘块链
单链表的增删改查(多次)


空闲盘区链
节点大小不定长的单链表的增删改查(有可能是多次或者是1次)


位示图法
二维数组


成组链接法
理解即可,树状结构,长度不用写死,每个节点有长度和数据,关键看是已经用到的目录还是代表空闲节点



这张图我得好好解释一下,首先来看左边绿色的空闲盘块号栈,这是第一组(唯一进入内存的一组,只有它会占据存储空间)。看到S.free = 100了没,这表示该组有100个空闲块数目,再往下看,第0号对应的是300,表示下一组物理空闲块的物理盘块号为300,你看它指向的是不是300号对应的磁盘块。再看黄色的块,这些块里保存的才是真正的可用的空闲块,也就是说每组中只有99个块可用。尽管如此,每组还是有100个块的。特别要注意的是,最后一组的下一组盘块号不是没有么,我们这里采用的是结束标记“0”,也就是最右边一个蓝色块的第二项为0。
小结

文件的基本操作
文件的增删改查

创建文件

删除文件

打开文件

内存中存放正在打开的文件,免得重新加载
打开文件是找到对应的文件的指针,不是全部加载文件。系统中只有一个包含文件所有信息的打开文件的记录总表(系统的打开文件表)
进程中有打开文件表。

关闭文件
打开计数器为0时,才能进行文件删除功能。

读文件

写文件
保存文件的功能

小结
文件描述符:指向文件的指针

文件共享
共享:系统中只有一份文件数据

硬链接
硬链接就是复制了一份的文件目录项,直接指向文件。
该目录项只包含文件名。索引结点指针。
不能对目录创建硬链接

软链接
(符号链接):删除链接文件对于原文件无影响


小结

文件保护

口令保护
密码

加密保护
通过“密码”加密和解密 ,加解密的密码是一致的。 异或加密

访问控制
用户的权限控制,对一个目录进行的设置,其下的所有目录和文件都是相同的设置

用户分组

小结

文件系统的层次结构
本章的目录结构

例子


                
            
        
浙公网安备 33010602011771号