600 likes | 779 Views
操作系统整体结构回顾. 系统软件和操作系统. 应用软件. 应用程序接口. 资源抽象. 其他系统软件. 操作系统接口. 资源共享. 操作系统. 软件-硬件接口. 硬件. 操作系统的基本组织结构. 操作系统. 进程与资源管理. 文件管理. 存储管理. 设备管理. 处理机. 主存. 设备. 计算机硬件. 第6章 文件系统. 引言 基本概念 目录 文件系统 文件系统的实现 文件系统的安全性和保护机制 LINUX 文件系统概述 小结. 引言. 信息 数字信息 信息处理机 文件 存放文件的介质 文件存放形式 文件操作形式.
E N D
系统软件和操作系统 应用软件 应用程序接口 资源抽象 其他系统软件 操作系统接口 资源共享 操作系统 软件-硬件接口 硬件
操作系统的基本组织结构 操作系统 进程与资源管理 文件管理 存储管理 设备管理 处理机 主存 设备 计算机硬件
第6章 文件系统 • 引言 • 基本概念 • 目录 • 文件系统 • 文件系统的实现 • 文件系统的安全性和保护机制 • LINUX文件系统概述 • 小结
引言 • 信息 • 数字信息 • 信息处理机 • 文件 • 存放文件的介质 • 文件存放形式 • 文件操作形式
基本概念 • 文件的概念 • 文件的分类 • 文件的操作 • 文件的转储和恢复
文件的概念 • 文件是指具有符号名的数据信息的集合。 • 命名了的字符串集合 • 例如,在UNIX系统中,文件系统从物理上将每个文件仅仅看成是由一系列字符串组成,而不把文件处理成物理记录的集合。 • 命名了的相关记录集合 • 例如一个命名为“学生登记表”的文件是一个学生情况记录的集合,每个学生情况的记录是由姓名、性别、年龄等数据项组成,而姓名、年龄、性别等数据项则由若干个字符组成。
文件的分类 • 按文件用途分类 • 系统文件、库文件、用户文件 • 按文件中数据分类 • 源文件、目标文件、可执行文件 • 按文件保护方式分类 • 只读文件、读写文件、不保护文件 • 按文件保存时间分类 • 临时文件、永久文件
文件的操作 • 文件系统不应要求用户必须了解文件的物理组织才能使用文件,而应方便用户,提供给用户按其逻辑组织形式来使用文件。 • 一个文件系统至少要提供用户以下的文件操作功能 • 打开、关闭、建立、撤消、复制文件,文件换名、文件列表 • 读、写、修改、插入、删除数据项操作
文件的转储和恢复 • 文件系统中不论是硬件还是软件都会发生损坏和错误,为使至关重要的系统文件万无一失,应对保存在外存中的系统文件采取一些保护措施,如: “定期转储”。 • 全量转储(backup) • 增量转储 • 文件的恢复 • 利用转储的文件进行恢复。(restore)
目录 • 目录的概念 • 目录层次结构 • 目录的操作
文件名 目录的概念 内部名 用户名 物理组织 物理地址 记录格式 历史和测量信息 文件性质 口令或密码 存取属性 信息的编码方式 增删说明 共享说明 其它 • 目录:文件系统层次结构的一个非终结节点,一个目录通常包含有许多目录项,每个目录项可以是一个文件或目录。而文件是文件系统层次结构的一个终结节点,即在文件下不可能再包含文件或目录。 • 目录的作用:按名存取文件。
目录的操作 • 创建、删除、打开、关闭、换名目录; • 读、链接、删除目录项。
文件系统 • 文件系统:是指一个负责存取和管理外部存储器上文件信息的机制。 • 文件系统的为用户提供的功能: • (1)按文件名对文件进行存取; • (2)建立、修改和删除一个文件; • (3)在文件之间进行数据传输; • (4)在系统控制下共享其他用户的文件; • (5)为用户文件提供可靠的保护和保密措施; • (6)具有转储和恢复重要文件的能力。
文件系统的组成 物 理 文 件 系统故障 恢复 外存管理 文件组织 和访问 (存取、共享、保护) 文件存取 过程管理 (逻辑组织物理结构) 文件I/O 管理 用户
文件系统的实现 • 实现文件 • 文件的结构 • 文件的组成和文件控制块 • 实现目录 • 文件的使用与控制 • 磁盘空间管理 • 空白盘区链 • 空白盘区目录 • 位示图 • 文件系统的结构和工作流程 • 文件系统的层次结构 • 文件系统的工作流程
文件的结构 目 录 文件说明 文件B 文件A 第一个物理块号7 记录0 记录1 记录0 块间隔 块间隔 文件长度2 … 物理块号(7) (8) (9) 连续结构的文件 • 逻辑结构 • 记录式 • 流式 • 物理组织 • 连续文件 • 随机文件 • 串联文件 • 文件存取方法 • 顺序存取 • 直接存取
随机文件 文件A 文件A的文件索引 文件A 0 1 2 254 登记项 68 相对区号 0 数据区 相对区号 1 256字全部用于存放数据信息 893 绝对区号 68 … 相对区号 2 相对区号0 链接字 510×256 … 绝对区号 893 256字 相对区号2 255 256 509 登记项 … 相对区号 509 绝对区号 54 256字 … 相对区号509 54 有信息 无信息 链接字 (a) 随机文件的物理结构 (b) 用户观点的随机文件 图6-4 随机结构文件
链表结构文件 目 录 文件A 文件A的说明 记录0 链接指针12 记录1 (物理块4) 链接指针8 记录2 (物理块12) 0 (物理块8) 链表结构文件
文件的组成和文件控制块 文件名 内部名 用户名 物理组织 物理地址 记录格式 历史和测量信息 文件性质 口令或密码 存取属性 信息的编码方式 增删说明 共享说明 其它 目录 文件
文件A的控制块 实现目录 文件B的控制块 文件C的控制块 …… • 一级目录
二级文件目录结构图解 用户文件目录(UFD:ABC) 文件A的控制块 文件A 文件B的控制块 文件B 文件C的控制块 文件C 主目录(MFD) … … 用户名 UFD起始 ABC 地址 用户文件目录(UFD:XYZ) 用户名 UFD起始 XYZ 地址 文件X 文件X的控制块 文件Y的控制块 文件Y … 文件Z的控制块 文件Z …
层次结构 大 学 校办 行政部门 计算机系 数学系 计财处 总务处 科研处 软件专业 硬件专业 数学专业 计算数学专业 系统软件教研室 应用软件教研室 人工智能教研室
多级目录的树形结构 MFD a A B b c C D E d f g e h
文件的使用与控制 主目录表 甲文件目录表 总目录表 A 文件1 甲用户 文件1的地址 B 文件2的地址 乙用户 文件2 … 链 接 文件3的地址 丙用户 …… … … 乙文件目录表 文件i的地址 C 文件i+1 文件i+1的地址 D … … 文件共享
文件名 内部标识号 活动文件表中表目指针 活动符号名表与活动文件表 • 活动符号名表 • 活动文件表
文件使用和控制操作命令 • 建立文件命令 • 打开文件命令 • 读文件命令 • 写文件命令 • 关闭文件命令 • 撤消文件命令 ① 在基本文件目录中为其分配一个空表目,并返回一个内部标识号(通常相应于表目序号); ② 在符号文件目录中分配一个空表目,并填入文件符号名与内部标识号; ③ 调用存储分配程序为文件分配外存空间; ④ 将其在基本文件目录中的相应表目置初值,并填入物理地址; ⑤ 调用打开文件命令将有关表目登入活动文件表和活动符号名表。 ①查找符号文件目录树,以找出该文件的表目。如找到返回该文件的内部标识号,如找不到就转错误处理程序; ② 在活动文件表和活动符号名表中为该文件分配一个表目; ③ 将有关信息填入活动文件表和活动符号名表中,并将该文件的“当前用户数”加1(该数据项在活动文件表中)。 ①按文件名从活动符号名表和活动文件表中找出该文件的文件描述符内容(即目录表目内容); ② 按存取控制说明检查访问的合法性; ③ 按文件描述符中指出的该文件的逻辑和物理组织形式(包括存放方式,记录大小,起始物理块号等)将欲读的逻辑记录号和记录个数转换成物理块号; ④ 将所有这些参数按设备管理程序的接口形式进行转换,并将此访问要求转送给设备管理程序,以完成数据交换工作。 ①撤消在用户的活动符号名表中的相应表目内容; ② 在活动文件表中该文件的“当前用户数”减1。如减1后,此值为“0”,则撤消此表目的内容; ③ 若活动文件表表目内容已被修改过,则在撤消此表目内容前,应将此表目内容写回磁盘上基本文件目录的相应表目中去。 ① 清除用户符号文件目录中的相应表目; ② 释放该文件在外存的文件存储空间; ③ 清除该文件在基本文件目录中的相应表目。
文件系统的层次结构 用户程序 命令 回答 文件命令解释模块 目录检索模块 存取控制验证模块 逻辑文件系统 物理文件系统 设备策略模块 输入/输出控制系统 中断信号 I/O启动命令 磁盘
文件系统的工作流程 0 1 2 3 4 5 6 7 1 2 3 0 例子: 用户使用系统调用为 Read(data,5,1000) 逻辑记录大小=500 物理记录大小=1000 连续文件:第一块地址 存取方法:直接存取 • READ(data,5,1000) • SFS(Read,data,5,1000) • BFS(Read,10,5,1000) • ACVM (Read,10,5,1000) • LFS (Read,10, 5,1000) • PFS (Read,10,2,500,1000) • IO(Read, 38,500,1000)
文件系统的安全性和保护机制 • 文件存取控制矩阵 • 文件存取控制表 • 用户权限表 • 文件口令 • 文件加密
LINUX文件系统概述 内核子系统 进程管理子系统 内存管理子系统 网络 子系统 进程间通信子系统 VFS 逻辑文件系统层 MINIX ext2 ext3 MSDOS 设备缓存 设备 驱动程序 VFS与实际文件系统的封装关系
Linux用户打开文件表与系统打开文件表 fs_struct file_struct file
磁盘划分 至少4个部分,其中引导块永远是介质上的第一个纪录,超级块永远是介质上的第二个纪录。其它部分的大小取决于磁盘大小等参数,这些参数存在超级块中。
EXT2文件系统格式 超级块:根目录的位置、i节点的位置、空白区链头等信息
EXT2文件卷格式 块组:按照柱面为划分的基础组成的磁盘块的集合