
第十一章 文件系统和目录
第十一章 文件系统和目录
11.1 文件系统
文件系统是操作系统提供的一个逻辑视图,是用户能够按照文件集合的方式管理数据
文件系统通常用目录组织文件
文件:数据的有名集合,用于组织二级存储设备
文件系统:操作系统为它管理的文件提供的逻辑视图
目录:文件的有名分组
11.1.1 文本文件和二进制文件
所有文件可以被分为文本文件和二进制文件。
文本文件:数据字节是字符集中的字符
二进制文件:包含特定格式的数据的文件,要求基于文件中的数据给位串一个特定的解释
一些用高级语言编写的程序也会被存储为文本文件,有时叫做源文件
有些信息类型通过特定的二进制格式或解释来表示数据,从而更有效且更符合逻辑,需要用专门解释这种类型的数据的程序才能够阅读或修改它
11.1.2 文件类型
大多数文件都包含有特定类型的信息,文档中包含的信息的种类叫做文件类型,大多数操作系统都能识别一系列特定的文件类型
文件名通常分为两部分:主文件名,文件扩展名。文件扩展名说明了文件的类型
文件类型:文件中存放的关于类型的信息
文件扩展名:文件名中说明文件类型的部分
11.1.3 文件操作
可以对文件进行以下操作:
- 创建文件
- 删除文件
- 打开文件
- 关闭文件
- 从文件中读取数据
- 把数据写入文件
- 重定位文件中的当前文件指针
- 把数据附加到文件末尾
- 删减内容
- 复制文件
- 重命名文件
11.1.4 文件访问
直接文件访问:最常用,最容易实现。以线性结构访问文件中的数据的方法
直接文件访问:通过指定逻辑记录编号直接访问文件中数据的方法,适用于数据库
11.1.5 文件保护
决定了用户是否可以使用文件和为什么目的使用文件
11.2 目录
大多数操作系统都用文件表示目录。
目录文件存放的是关于目录中的其他文件的数据,文件的保护设置的信息,文件创建的时间,修改的时间等
11.2.1 目录树
包含其它目录的目录叫做父目录,被包含的目录叫做子目录,如此嵌套,形成分级结构
因此,文件系统通常被看做文件树
目录树:展示文件系统的嵌套结构目录结构的组织
根目录:包含其它所有目录的最高层目录
工作目录:当前活动的子目录
11.2.2 路径名
要用文本指示一个特定的文件,必须说明该文件的路径,即找到这个文件所需历经的一系列目录
路径:文件或子目录在文件系统中的位置的文本文件
绝对路径:从根目录开始,包含所有后继子目录的路经
相对路径:从当前工作路径开始的路径
11.3 磁盘调度
当计算机在一段时间内处理多个进程时,会建立访问磁盘的请求列表
磁盘调度:操作系统用于确定首先满足哪些磁盘I/O请求的技术
11.3.1 先到先服务磁盘调度法(FCFS)
请求按其请求到达的顺序处理它们,并不考虑读写头当前的位置
11.3.2 最短寻道时间优先磁盘调度法(SSTF)
该算法将通过尽可能少的读写头移动满足所有未解决的请求,这种方法可能会在满足一个请求后改变读写头的移动方向
如果有请求因为距离原因无法得到解决,这种情况叫做饿死。先到先服务磁盘调度方法永远不会发生这种情况
11.3.3 SCAN磁盘调度法
读写头向轴心移动,然后向盘片边缘移动,就这样在轴心和盘片边缘之间来回移动
需要指定最初移动的方向
这个方法有很多变体:环形SCAN算法,LOOK磁盘调度方法等