通用文件模型由下列对象类型组成:
超级块对象superblock object :存放已安装文件系统的有关信息,通常存放在文件系统控制块filesystem control block
索引节点对象inode object:存放关于具体节点的一般信息,存放在磁盘上的文件结构块file control block
文件对象file object::存放打开文件与进程之间进行交叉的有关信息。这类信息仅当进程访问文件期间存在于内核内存中
目录项对象dentry object:存放目录项(即文件的特定名称)与对应的文件进行链接的有关信息
所有超级块对象都以双向循环列表的形式连接在一起
任何基于磁盘的文件系统都需要访问和更改自己的磁盘分配位图,以便分配或释放磁盘块
文件系统处理文件所需要的所有信息都放在一个名为索引节点的数据结构中。索引节点对文件是唯一的,存放在文件对象中的主要信息是文件指针,即文件中当前的位置,下一个操作将在该位置发生
目录项高速缓存的作用还相当于索引节点高速缓存(inode cahce)的控制器
文件系统注册:通常在系统初始化期间并且在使用文件系统类型之前必须执行的基本操作
每个目录项对象处于以下四种状态之一:
空闲状态free:处于该状态的目录项对象不包括有效的信息,且还没有被vfs使用
未使用状态unused:处于该状态的目录项对象当前还没有被内核使用
正在使用状态inuse: 正在被
负状态negative:与目录项关联的索引节点不复存在
文件系统的源代码实际上要么包含在内核映像中,要么作为一个模块被动态装入
如果路径名的第一个字符是”/”,那么这个路径名是绝对路径
符号链接是一个普通文件,其中存放的是另一个文件的路径名
第十三张章 I/O体系结构与设备驱动程序
系统总线连接大部分内部硬件设备,典型的是PCI(peripheral componentinterconnect)
其他类型的总线还有如ISA\EISA\MCA\SCSI\USB
两条高速总线用于在系统内存芯片上来回传递数据,前端总线将CPU连接到RAM控制器上,后端总线将CPU直连外部硬件的高速缓存上。主机上的桥将系统总线与前端总线连接在一起
任何I/O设备有且只能连接一条总线
CPU和I/O设备之间的数据通路称为I/O总线
硬件组织层次:I/O端口、接口和设备控制器
80X86使用16位的地址总线对I/O设备寻址,使用8,16,32位的数据总线传输数据。每个I/O设备依次连接到I/O总线上
每个连接到I/O总线上的设备都有自己的I/O地址集,通常称为I/O端口
在IBM PC体系结构中,I/O地址空间一共提供了6553个8位的I/O端口
4条汇编语言允许CPU对I/O端口读写,in,ins,out和outs
在单处理器系统上,所有与定时有关的活动都是由IRQ上的可编程间隔定时器产生的中断触发的
多处理器系统可以依赖两张不同的时钟中断源:可编程间隔定时器或高精度事件定时器产生的中断,以及CPU本地定时器产生的中断