4.1.5 文件的存储空间管理
存储空间的划分和初始化:
几个重要的点:
1.文件卷要划分为目录区和文件区
2.目录区用来存放FCB,而文件区用来存放文件数据
3.文件卷可以由多个物理盘组成
存储空间的管理
空闲表法:
空闲链表法:
空闲盘区链每个盘区的第一个盘块记录了盘区的长度和下一个盘区的指针
位示图法(重要):
上图中,0表示空闲,1表示已分配,一个字的字长为16位
注意推算盘块号与(字号,位号)的相互转换公式:
成组链接法:
UNIX采用策略,适用于大型文件系统
4.1.6 文件的基本操作
创建文件
用了“create系统调用”
提供了几个参数:
1.文件目录
2.文件名
3.所需的外存空间
删除文件
用了“delete系统调用”
提供的参数:
1.文件目录
2.文件名
打开文件
open
系统调用
1.文件目录
2.文件名
3.对文件进行的操作类型(读或写)
打开文件不会直接把文件数据直接读入内存,而是将文件的目录项复制到了打开文件表中,将打开文件表的索引号返回给内存
读文件
read
系统调用
真正把文件数据从外存读入内存
写文件
write
系统调用
4.1.7文件共享
基于索引节点的共享方式(硬链接)
索引节点会设计一个链接计数器count,表示链接到本索引节点的用户目录项数
基于符号链的共享方式(软链接)
即桌面的快捷方式,在link型文件中记录了共享文件的路径
用软链接的方式访问共享文件需要进行多次io操作,因而访问的速度会更慢
4.1.8 文件保护
口令保护
为文件设置一个口令,口令一般存放在FCB或者索引节点中
优点:简单
缺点:口令存放在系统内部,不够安全(不懂为什么会入侵到系统内部)
加密保护
eg:异或加密:(如果密码和原来一样,解密下来是一串没有意义的数字)
优点:保密性强
缺点:解密时间长
访问控制
增加访问控制表(Access-Control List,ACL),这个表中记录了各个用户可以对这个文件进行哪些操作
优点:实现灵活
4.1.9文件系统的结构层次
第一层:文件操作
第二层:文件目录
第三层:文件保护
第四层:文件逻辑结构
第五层:文件物理结构
第六层:文件存储管理
第七层:磁盘管理
例子辅助记忆: