4.文件管理
4.1 文件管理概念
4.1.1 文件的属性
4.1.2 文件内部数据怎么被组织起来
4.1.3 操作系统应该向上提供哪些功能
4.1.4 小结
4.2 文件的逻辑结构
4.2.1 概念
4.2.2 顺序文件
4.2.3 索引文件
4.2.4 索引顺序文件
4.2.5 多级索引顺序文件
4.2.6 小结
4.3 文件目录
4.3.1 文件控制块
4.3.2 目录结构
4.3.2.1 单级目录结构
4.3.2.2 两级目录结构
4.3.2.3 多级目录结构
4.3.2.4 无环图目录结构
4.3.3 索引结点
类似MYSQL的索引,只索引主键和指向位置的指针 文件名 | 索引结点指针
4.3.4 小结
4.4 文件的物理结构
4.4.1 文件块、磁盘块
4.4.2 文件分配方式——连续分配
优点:
-
直接算出逻辑块号对应的物理地址,支持直接访问
-
在机械硬盘中,连续分配方式的文件,磁头移动的距离最短,此时连续分配的文件在顺序读/写操作时速度最快
缺点:
- 不方便文件拓展
- 存储空间利用率低,会产生磁盘碎片
4.4.3 文件分配的方式——链接分配
4.4.3.1 隐式链接
查找效率很低
方便文件拓展
4.4.3.2 显式链接
4.4.3.3 总结
4.4.4 文件分配方式——索引分配
4.4.4.1 概念
三个索引的方案:
套娃开始.....
4.4.4.2 链接方案
4.4.4.3 多层索引
采用K层索引结构,且顶级索引表未读入内存,则需要K+1次读磁盘操作,才能读取到一个数据块
4.4.4.4 混合索引
4.4.4.5 索引分配小结
4.4.5 小结
4.5 文件存储空间管理
4.5.1 存储空间的划分与初始化
4.5.2 存储空间管理——空闲表法
4.5.3 存储空间管理——空闲链表法
- 空闲盘块链:以盘块为单位组成一条空闲链
- 空闲盘区链:以盘区为单位组成一条空闲链
4.5.4 存储空间管理——位示图法
4.5.5 存储空间管理——成组链接法
适用于大型文件系统
仅有下一盘块的一个盘块需要记录下一分组的指针和块数。因此分配时,超级块中有201-300,300为第一块,存放着下一分组的数据,将201-300分配,然后300中的下一组的数据复制到超级块中。
4.5.6 小结
4.6 文件的基本操作
4.6.1 创建文件
4.6.2 删除文件
4.6.3 打开文件
4.6.4 关闭文件
4.6.5 读文件
4.6.6 写文件
4.6.7 小结
4.7 文件共享
4.7.1 硬链接
linux中的硬链接:
touch a
# ln source target
ln a b
创建一个新文件a
将当前目录下的a链接到当前目录下的b,a和b共享一个inode
4.7.2 软链接
4.7.3 小结
4.8文件保护
4.8.1 口令保护
4.8.2 加密保护
对某个文件进行加密,然后需要通过密码才能对文件进行正确的解密
压缩文件的加密
优点:保密性强
缺点:编码\解码需要一定的性能占用