第10章操作系统PPT教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/12/10
12
10.2 LINUX虚拟文件系统 10.2.1 虚拟文件系统VFS框架
LINUX内核使用虚拟文件系统VFS (Virtual )。
给用户提供文件系统接口,使用多个不 同的文件系统。
2020/12/10
13
VFS提供一个抽象基类,由这个基类派 生的子类支持具体的文件系统。
对设备文件的读、写操作实际上为 对设备的操作,而对设备文件的保护 也将变成对设备的保护。
例如:#cp /dev/tty1 terminalread
把在第一个终端上敲进的字符(设备文件 /dev/tty1是用户终端1) 读入,并把 它们复制到文件 terminalread上。
2020/12/10
11
4.有名管道(FIFO) 5.软链接 6.UNIX域套接字
2020/12/10
3
路径名确定一个文件在文件系统 中的位置。
一个完整的路径名由代表根目录 的斜杠开始,到所指定的文件为止。
例如在图10.1中,“/usr/bin/man” 确定了文件 man在文件系统中的位置。 (绝对路径)
2020/12/10
4
路径名也可从正在执行进程的当前 目录开始指定,例如,若在图10.1中 的当前目录是zhang 的话,路径名 a.txt与/home/zhang/a.txt具有相同 的效果。(相对路径)
支持的文件系统有:
a.基于磁盘的文件系统:ext2,ext3, reiserfs,JFS,XFS等;UNIX SYSTEM V 的文件系统;微软的MS-DOS,vfat 及ntfs;ISO 9660光盘文件系统等。
2020/12/10
14
b.基于网络的文件系统,如NFS,SMB, OCFS等。
c.特殊的文件系统,如proc,sysfs。它 们并不管理真正的磁盘空间,而是通 过它们访问内核数据。
第10章 LINUX
10.1 LINUX文件系统的特点与文件类别 10.2 LINUX的虚拟文件系统 10.3 文件系统的注册和挂装 10.4 进程与文件系统的联系 10.5 ext2 10.6 块设备启动 10.7 字符设备启动 本章小结
2020/12/10
1
10.1 LINUX文件系统的特点与文件类别
2020/12/10
15
10.2.2 LINUX虚拟文件系统的数据结构
组成:
1. 超级块super-block:存放已挂装文件 系统的有关信息
2. 索引节点inode:一个具体文件的信息
3. 文件file:存放打开文件与进程之间进 行交互的有关信息
4. 目录项dentry:保存目录项与相应文件 进行链接的信息
用户程序既没有必要知道设备的内部 特性,也不必在更换或增加设备之后 修改自己。
2020/12/10
7
10.1.2 文件类型
6种:
1. 普通文件:存储用户和系统的有关数 据和程序的文件。
2. 它是无结构、无记录概念的字符流 式文件。
2020/12/10
8
2.目录文件 是由文件系统中的各个目录 所形成的文件。
在形式上同普通文件一样,由系统 将其解释成目录。
在LINUX系统中,一个目录文件由 多个目录项组成,而每个目录项则由 文件名及指示相应的文件索引节点 (inode) 的标识符id组成。
2020/12/10
9
普通文件和目录文件都是无结 构、无记录概念的字符流式文 件。
2020/12/10
10
3.设备文件与普通文件和目录文件不同, 它除了在目录文件和文件索引节点表 中占据相应的位置外,并不占有实际 的物理存储块。
主要用来指明打开同一文件的不同进 程和不同进程所使用的不同打开路径, 以及这些不同进程和不同打开路径所 对应的读写指针。
2020/12/10
19
10.4 进程与文件系统的联系
从系统内部的角度来说,需要有相 应的数据结构来记录和控制打开文件 的用户进程以及记录和控制那些共享 同一文件的用户进程。为此LINUX系统 设置了用户打开文件表和系统打开文 件表。
2020/12/10
20
10.4.1 系统打开文件表
访问文件之前,进程必须打开文件, open()返回一个文件描述符,进程用 该描述符调用read和write。
2020/12/10
16
1.VFS的超级块super-block
每个文件系统分配一个超级块,用 双向循环链组成一个链表。
主要成员:略 P250
超级块操作:struct superoperations描述,地址存放在s_op中。
每个具体的文件系统,都要提供超 级块的具体实现。以实现文件的挂装, 卸载,读写inode等。
超级用户 子目录
存放与设
备有关的 系统信息
bin boot dev etc home lib media mnt proc root sbin sys tmp usr
设备子目 录
存放
配置 文件
Zhang
存放系
liu
统管理 程序
bin doc etc include lib local
图10.1 LINUX
2020/12/10
5
LINUX文件系统特点:
· 树形结构
· 文件是无结构的字符流式文件。
· 文件可以动态地增长或减少。
· 文件数据可由文件拥有者设置相应的 访
问权限而受到保护。
· 外部设备,例如终端用磁带、磁盘设 备、
2020键/12/10盘等都被看作文件。
6
在文件系统中,设备文件占据着文件 系统目录结构中相应的位置,用户程 序按与存取其他文件时所使用的系统 调用和语法来读、写设备文件。
10.1.1 特点
从用户的角度看,LINUX文件系统具有 如图10.1所示的树形层次结构:
在图中,根目录root之下有dev设备子目 录,bin实用程序子目录,lib库文件子 目录,tmp临时文件子目录,usr通用子 目录等。
2020/12/10
2
ቤተ መጻሕፍቲ ባይዱ用用 户命令
操作系统核 心程序
用户文
件主目 录
库文件 子目录
2020/12/10
17
2. 索引节点inode 存放文件系统处理所需要的所有信息。
索引节点操作:inode-operation描述。 3. 文件file
描述的是进程和一个打开文件交互 的过程。
当一个文件被打开时创建file结构。
2020/12/10
18
4. 目录项 dentry
当目录读入内存,VFS就把它转换 为基于dentry的一个目录项对象。目 录项对象将每个目录与其对应的索引 节点相联系。