文档详情

文件系统接口.ppt

发布:2017-02-24约2.54千字共20页下载文档
文本预览下载声明
文件系统接口 对大多数用户来说,文件系统是操作系统最明显的一个方面。它提供了操作系统和所有用户的数据和程序的在线存储和访问机制。文件系统包含两个部分:文件的集合和目录结构。文件系统需要海量存储设备。 本章,我们考虑文件和主要目录的结构,讨论在多进程、用户和计算机中共享文件的语义,讨论处理文件保护的方法。 文件系统接口 本章目标: 解释文件系统的功能 描述文件系统的接口 讨论文件系统设计的方法,包括访问方法、文件共享、文件锁和目录结构 讨论文件系统的保护 本章内容 本章内容 文件的概念 访问方法 目录和磁盘结构 文件系统安装 文件共享 保护 文件的概念 计算机可以在各种存储介质上,如磁盘、磁带、光盘等上存储信息,来方便使用,这样操作系统提供了一种一致的存储信息的逻辑视图。OS可以从存储设备的物理特性抽象定义逻辑存储单元:文件。文件被操作系统映射到物理设备上。这些存储设备通常是可以是长久保存的。 文件是一个存储在第二存储设备上相关信息的命名集合。从一个用户的观点来看,文件是逻辑存储设备的最小分配单元,不使用文件,数据将无法写入第二存储设备。通常,数据是一个bit、byte、lines或者记录的序列。 文件的概念 文件属性 一个文件可以通过文件名命名,文件名通常是一个字符串。有些系统区分文件名的大小写,有些系统不区分。 当文件命名时,它将和进程、创建的用户等独立。 文件的属性,虽然在各个操作系统中都不同,但是通常都有: 文件名、标识符、类型、位置、大小、保护方式、时间、日期和用户标识。 一些系统还支持扩展的文件属性,包括字符编码方式等。 所有文件的信息保存在目录结构中,目录结构也存储在第二存储设备上。 文件的概念 文件操作 一个文件时一个抽象的数据类型,要合理定义文件,我们需要考虑可以在文件上实施的操作。通常,OS需要提供对文件、创建、写入、读取、重定位、删除、截断等系统调用。通常的六个基本操作为 创建 写入 读取 重定位 删除 截断 文件的概念 上面提到的多数文件操作涉及查询目录,找到命名文件的入口。为避免重复的查找,很多系统需要在文件第一次使用前,使用一个open系统调用。OS保存一个表,成为开发文件表,包含了所有打开文件的信息。当请求一个文件操作时,文件通过这个表的下标查找。当文件不再使用时,需要被进程关闭,操作系统从打开文件表中删除相应项。 Open和close函数的实现,由于多个进程可能同时打开一个文件,变得很复杂。通常OS使用俩级表:进程级和系统级。 文件的概念 对一个打开的文件来说,通常有这样的一些信息: 文件指针 文件打开计数 文件的磁盘位置 访问权限 文件的概念 文件类型 访问方法 文件存储了信息,在使用时,这些信息必须被读入计算机的内存。文件中的信息可以通过多找那个方式访问,一些系统只提供了一种稳健访问方式,有些系统支持多种访问方式。对特定的应用选择合适的访问方式是设计考虑的一个主要问题。 顺序访问:最简单的访问方式是顺序访问,文件中的信息按照顺序访问,一个记录接着一个记录。 直接访问:文件由固定大小的逻辑记录组成,允许程序员不按照顺序读写记录。直接访问方法基于磁盘模型,数据库通常为这种类型。 目录和文件结构 下面,我们考虑如何存储文件。文件存储在随机访问的存储设备上 一个存储设备可以整个用于一个文件系统,或者进行精细划分。例如,一个磁盘可以分区为多个分区,每个分区保存一个文件系统。分区可以限定单个文件系统的大小,将多个文件系统类型放到一个设备中,或者将一个设备的一部分用作其它用途。 包含文件系统的一个实体通常成为一个卷。每个卷可以看成是一个虚拟磁盘。每个包含一个文件系统的卷通常也包含系统中的文件信息。这个信息保存在设备目录中。 目录和文件结构 目录包含了卷中所有文件的信息,如文件名、位置、大小、类型等。 在一个计算机系统中,可以有多个存储设备,每个存储设备都可以划分成为卷。这样,计算机可以有0个或多个文件系统,每个文件系统都可以是不同的类型。 计算机中的文件系统可以是可扩展的。 目录可以看成是将文件名映射成为目录入口的符号表。这样,我们可以看到可以用多种方式组织目录。这些组织方式允许我们插入、删除、查找、列出文件等操作 目录和文件结构 考虑目录结构,我们考虑可以在目录上执行的操作包括: 查找文件 创建文件 删除文件 列目录 重命名文件 遍历文件系统 目录和文件结构 目录的组织方式 单层目录 双层目录:主目录和用户文件目录 树状结构目录, 文件共享方式,link 图状目录 文件系统安装 正如一个文件在使用前必须打开一样,一个文件系统在被系统中的进程使用前必须安装,必须创建目录结构,然后安装到文件系统名空间中,之后才能使用。 安装过程通常比较直接:OS给设备一个名字和一个安装点,通常安装点时一个空目录,例如
显示全部
相似文档