操作系统概念学习笔记 第十一章 文件系统接口
文件概念:
计算机能在多种不同媒介上存储信息,为了方便地使用计算机系统,操作系统提供了信息存储的统一逻辑接口。
操作系统对存储设备的各种属性加以抽象并且定义了逻辑存储单元(文件)再将文件映射到物理设备上。
文件是记录在外存上相关信息的具有名称的集合。
文件属性:
文件是有名称的,通常为字符串,文件被命名后,它就独立于进程、用户、甚至创造它的系统。文件通常有如下属性:
1 名称
2 标识符
3 类型
4 位置
5 大小
6 保护
7 时间、日期和用户标识
文件操作:
文件属于抽象数据类型。操作系统提供系统调用对文件进行创建、写、读、定位和截短。
创建文件:
1 必须在文件系统中为文件找到空间
2 在目录中为新文件创建一个条目
写文件:
读文件:
在文件内重定位:
删除文件:
截短文件:
允许所有文件属性都不变,而只是将其长度设为0并释放其空间
这6个基本操作组成了所需文件操作的最小集合。
文件类型:
当设计文件类型时,总是要考虑操作系统是否应该识别和支持文件类型。
如果操作系统识别文件类型,那么它就能按合理方式对文件进行操作。
实现文件类型的常用技术是在文件名称内包含类型。名称可分为两部分:名称和扩展名,通常用圆点加以分隔。
文件结构:
文件类型也可用于表示文件的内部结构。
内部文件结构:
访问方法:
顺序访问:
文件信息按顺序,一个记录接着一个记录地加以处理,这种访问模式最为常用。
直接访问:
文件由固定长度的逻辑记录组成,以允许程序按任意顺序进行快速读和写。直接访问方式是基于文件的磁盘模型,这是因为磁盘允许对任意文件块进行随机读和写。对直接访问,文件可作为块或记录的编号序列。
数据库通常使用这种类型的文件,计算出哪块包含答案,并直接读取相应块来提供所需信息
其他访问方法:
其他访问方式可建立在直接访问方式之上,这些访问通常涉及创建文件索引。
目录结构:
为了管理所有这些数据,需要组织它们,这种组织通常分为两部分:
第一:磁盘分为一个或多个分区,有时,分区大于一个磁盘,
第二:每个分区都包含了存储在分区中的文件的信息,这种信息保存在设备目录或卷内容表中。设备目录记录分区上所有文件的各种信息
目录可看做系统表,它能将文件名称转换成目录条目。
目录相关操作:
1 搜索文件
2 创建文件
3 删除文件
4 列出目录
5 重命名文件
6 跟踪文件系统
单层目录:
所有文件都包含在同一目录中,其特点是便于支持和理解
当文件类型增加时或系统有多个用户时,单层目录有严重限制。
双层目录:
每个用户都有自己的用户文件目录(UFD),每个UFD都有相似的结构,但只列出了单个用户的文件。
先搜索系统的主文件目录(MFD)。
定义一个特殊的用户目录,它包括所有系统文件。先搜索本地UFD,如果找不到,系统会自动搜索特殊用户目录(包括系统文件)
当给定一文件时,搜索的一系列目录称为搜索路径。
树型目录:
无环图目录:
树形结构禁止共享文件和目录。无环图允许目录含有共享子目录和文件。
当人们作为一个组工作时,所贡献的文件可放在一个目录中,所有组员的UFD可以将该共享文件目录作为其子目录。实现方法:
1 创建一个称为链接的新目录条目,链接实际上是另一个文件或目录的指针
2 简单地在共享目录中重复所有共享文件信息。
通用图目录:
文件系统安装:
目录结构要建立在多个分区上就必须安装这些分区以使其可用。
文件共享:
多用户:
绝大多数系统通过管理用户名和相关用户标识的链表,来实现拥有者属性。
远程文件系统
网络的出现允许在远程计算机之间进行通信。网络允许在校园范围内或全时间范围内进行资源共享。
1 FTP,实现在机器之间进行文件的人工传输
2 分布式文件系统,远程目录可从本机上直接访问
3 万维网。浏览器获取对远程文件的访问
客户机-服务器模型:
分布式信息系统
故障模式
一致性语义
unix语义:
1 一个用户对已经打开的文件进行写操作,可以被同时打开同一文件的其他用户看见
2 允许用户共享文件当前指针的位置
一个文件是与单个物理映射相关联,该映射是作为互斥资源访问的,对这种单个映像的竞争会导致进程延迟
会话语义:
1 一个用户对打开文件的写不能被同时打开同一文件的其他用户所看见
2 一旦文件关闭,对其修改只能为以后打开的会话所看见,已经打开文件的用户并不能看见这些修改
这种语义,一个文件同时可与(可能不同的)多个物理映射暂时地相关联,因此,多个用户允许对其自己的映射进行并发的读和写操作
对于访问的调度几乎没有任何限制
永久共享文件语义:
一旦被声明为共享,它就不能被修改。
保护:
访问类型:
文件保护的需要是允许访问的直接结果,如果系统不允许对其他用户的文件进行访问,也就不需要保护了。
访问控制:
实现基于身份访问的最为普通的方法是为每个文件和目录增加一个访问控制列表,以给定每个用户名及其所允许的访问类型
两个缺点:
1 创建这样的列表可能比较麻烦且很可能没有用处,尤其是事先不知道系统的用户列表
2 原来固定大小的目录条目,现在必须是可变大小,这会导致更为复杂的空间管理
为精简访问列表,许多系统为每个文件采用了三种用户类型:
1 拥有者:创建文件的用户
2 组:需要共享文件且具有类似访问的用户形成
3 其他:系统内的所有其他用户

浙公网安备 33010602011771号