操作系统笔记10-文件系统
操作系统笔记10
文件系统
文件系统由两个不同的部分组成——文件和目录结构
文件属性
文件通常包含以下属性:
- 名称(文件名)
- 标识符
- 类型
- 位置(一个指针项)
- 大小
- 保护
- 时间、日期、用户标识
名称和位置是最重要的两个。
文件操作
- 创建文件
- 写文件
- 读文件
- 删除文件
- 文件内重定位
- 截短文件
许多系统要求在首次使用文件时,需要使用系统调用**open()**语句。
open()语句会查找文件对应目录,将其从磁盘存入内存,建立CPU和文件的联系。注意这里并不会将文件内容写入内存,而是将文件的目录项存到内存中的打开文件表中。
文件访问方法
-
顺序访问
最简单的访问方式,顺序介质如磁带就只能使用顺序访问。
-
直接访问
文件由固定长度的逻辑记录组成,允许程序按任意顺序进行读写
目录结构
目录要:提高查找效率,避免命名冲突
目录的相关操作:
- 搜索文件
- 创建文件
- 删除文件
- 遍历目录
- 重命名文件
- 跟踪文件系统
单层结构目录(一级目录)
单层目录,即所有的文件都包含在同一目录中。
问题:
- 会出现命名冲突
- 访问效率低
- 不支持分组
双层结构目录(二级目录)
为每个用户创建独立的目录
命名冲突得到有效解决,查找效率提高
树型目录结构
路径命有两种形式:相对路径名和绝对路径名
创建文件时,在当前目录下创建文件
删除一个目录时,其子目录、文件也会被删除
无环图目录——文件共享
树型目录结构禁止共享文件和目录,无环图目录是树型目录结构的扩展
删除一个文件或目录时,如果该文件或目录是共享的,则会有空指针危险:
**解决方法:**采用共享计数:每次删除时,共享计数-1,如果共享计数==0,则删除。
通用图目录结构:可能出现环
存在环的时候,遍历时可能会出现死循环,所以必须保证无环。
利用环路检测算法,在共享前检测。
文件保护
文件一般有以下几种操作类型:
- 读
- 写
- 执行
- 添加
- 删除
- 列表清单
许多系统为每个文件采用了三种用户类型:
- 拥有者
- 组
- 其他
每种用户类型的权限用三个二进制位即可表示(RWX),1表示有权限,0表示没有权限
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





