第四章 小结
索引节点是描述文件属性的数据结构,其中包括文件数据在磁盘上的布局。索引节点有两个版本:磁盘拷贝和内存拷贝。磁盘拷贝存储这文件处于未使用状态时的索引节点信息;内存拷贝记录着关于活跃文件的信息。在系统调用creat,mknode,pipe和unlink期间,算法ialloc和ifree控制这给文件分配磁盘索引节点,当进程存取文件时,算法iget和iput则控制着内存索引节点的分配(其中很多信息是从相应的磁盘索引节点拷贝过来的)。算法bmap根据预先提供的在文件内的字节偏移量,来确定文件的磁盘块的位置。目录也是文件,是用来把文件分量关联到索引节点号上区的文件。算法namei把被进程操作的文件名,转化成由内核内部使用的索引节点名。最后,内部算法使用alloc和free控制给文件分配新的磁盘块。
本章描述的数据结构有链表,散列队列,线性数组组成,因此,操纵这些数据结构的算法是简单的。由于算法之间的交换作用而引起的竞争条件,导致了复杂情况的出现。在本章的正文中已经指出了某些与时间有关的问题,然而算法并不复杂,而且阐明了系统设计的简明性。
此处解释的数据结构与算法属于内核内部,对用户是不可间的。就整个系统的体系结构而言,本章描述的算法占据的是文件系统的下半部分。下一章考察的系统调用提供了对文件系统的用户接口,它描述了文件子系统的上半部分,而上半部分应用了此处所描述的内部算法。
你们感受下》。。。。