- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
xlanchen@2007.6.25 Embedded Operating Systems Linux操作系统分析 主讲:陈香兰 助教:贾永泉、毛熠璐 xlanchen@ustc.edu.cn 3606864-83(西区电三421) Autumn 2007 文件系统相关 Unix文件系统概述 Linux的虚拟文件系统 I/O设备管理 存储相关 磁盘高速缓存 文件访问 对换 Ext2、ext3 Unix文件系统概述 xlanchen@2007.10.18 提纲 文件 硬链接和软链接 文件类型 文件描述符与索引节点 访问权限和文件模式 文件操作的系统调用 文件 Unix文件是以字节序列组成的信息载体 内核不解释文件的内容 文件的组织 文件、目录和目录树 文件被组织成一个树状的命名空间 文件:叶结点 目录:根节点(根目录“/”)和中间节点 目录使用一个目录名标识。 目录节点包含它下面的文件及子目录的所有信息 文件名和目录名 不能使用“/”和字符“\0”,其他ASCII字符都OK 长度:不同的文件系统有不同的限制,通常256个字符 同一个目录下,不允许文件重名;不同目录下无妨 当前工作目录 Unix的每个进程都有一个当前工作目录,current working directory,属于进程的执行上下文 绝对路径:用来在命名空间中指定一个特定的文件,以“/”打头,表示以根目录作为起点,形如 “/home/chenxl/sample/test.c” 相对路径:以当前工作目录作为起点 例如当前目录为“/home/chenxl”,则上述文件的相对路径可以是“sample/test.c” “.”和“..” 前者表示当前工作目录 后者表示当前工作目录的父目录 若当前工作目录是根目录“/”,那么“.”和“..”相等 例如,当前目录是“/home/chenxl”,则上述文件的相对路径还可以表示为 “./sample/test.c” “./../chenxl/sample/test.c” “../../home/chenxl/sample/test.c” 硬链接和软链接 硬链接(hard link) 一般情况下,一个常见的文件名代表了到对应文件的一个硬链接 一个文件可以有不同的硬链接,他们可以在同一个目录下,也可以在不同的目录下,因此一个文件可以有不同的文件名 下面的命令可以创建一个硬链接 $ ln p1 p2 其中p1指明一个现有的文件的路径名 p2指明新建立的硬链接的路径名 硬链接的限制 不允许用户给目录创建硬链接 只有在同一个文件系统的文件之间才能创建硬链接 软链接(symbolic link) 符号链接是一种特殊的文件(短文件),它包含另一个文件的任意一个路径名 可以指向任意一个文件系统的任意文件,甚至一个不存在的文件 下面的命令可以创建一个软链接 $ ln -s p1 p2 p2指明新建立的软连接的路径名。在实现上,文件系统抽出p2的目录部分,在此目录下创建一个符号链接文件 文件类型 Unix文件的类型可以是 常规文件(regular file) 目录 符号链接 面向块的设备文件 面向字符的设备文件 管道和命名管道 套接字 文件描述符和索引节点 文件系统处理文件所需要的所有信息都包含在索引节点inode中 每个文件都有自己的inode 一般而言,inode应当包含如下信息 文件类型 与文件相关的硬链接的个数 以字节为单位的文件的长度 设备标识符(即包含文件的设备的标识符) 在文件系统中标识文件的inode号 文件拥有者的UID 文件的GID 一些时间戳:inode状态的改变时间、文件的最后访问时间、最后修改时间 访问权限和文件模式 访问权限和文件模式 文件潜在的用户分为3种类型 文件所有者 同组用户 其他用户 访问权限:读、写、执行 每类用户都有这三种权限 文件的访问权限使用9个不同的bit来表示 此外还有三种附加标记 suid、sgid、sticky 文件操作的系统调用 创建/删除 打开/关闭 读/写 定位 更名 Linux的虚拟文件系统 xlanchen@2007.10.18 提纲 虚拟文件系统VFS的作用 VFS的数据结构 文件系统类型 文件系统安装 路径名查找 VFS系统调用的实现 文件加锁 虚拟文件系统VFS的作用 虚拟文件系统 Virtual Filesystem Virtual Filesystem Switch VFS是一个软件层,用来处理与Unix标准文件系统相关的所有系统调用。 是用户应用程序与文件系统实现之间的抽象层 能为各种文件系统提供一个通用的、统一的接口 Linux与其他类Unix系统一样,采用虚拟文件系统VFS来达到支持多种文件系统格式的目标 VFS在一个简单文件复制操作中的作用 假设用户输入以下s
文档评论(0)