清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 在UNⅨ X System V中磁盘i点的项占用64个字节。 因此,一个长512个字节的块可存放8个节点项。 系统在对文件进行各种操作时,为了减少设备的启 动次数以及提高操作速度,总是把相应的磁盘i节 点复制到内存的特定区域一内存诺点表中。 内存i点结构 inode除了包含磁盘谨点结构的各项 之外,还包含了当前打开文件的状态信息。例如, 内存谨点的状态:包括该节点是否已被锁住,是 否有进程等待访问该i节点等。 总之,与 filsys用于空闲区的分配与回收不一样,i 节点主要用来存放文件的说明信息,以便进程利用 i节点中的逻辑结构和物理结构信息搜索查找文件 信息以及完成对文件信息的保护和共享
在 UNIX System Ⅴ中磁盘 i节点的项占用64个字节。 因此,一个长 512个字节的块可存放 8 个 i节点项。 系统在对文件进行各种操作时,为了减少设备的启 动次数以及提高操作速度,总是把相应的磁盘 i节 点复制到内存的特定区域——内存 i节点表中。 内存 i节点结构 inode除了包含磁盘 i节点结构的各项 之外,还包含了当前打开文件的状态信息。例如, 内存 i节点的状态:包括该节点是否已被锁住,是 否有进程等待访问该 i节点等。 总之,与 filsys 用于空闲区的分配与回收不一样, i 节点主要用来存放文件的说明信息,以便进程利用 i节点中的逻辑结构和物理结构信息搜索查找文件 信息以及完成对文件信息的保护和共享
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 3目录项 UNIX系统的目录项由文件名和磁盘点标识符d组 成。其中文件名长度占14个字节,标识符id占2个 字节。从而,在一个512字节的磁盘块中可以存放 32个目录项
3.目录项 UNIX系统的目录项由文件名和磁盘 i节点标识符id组 成。其中文件名长度占14个字节,标识符id占 2个 字节。从而,在一个 512字节的磁盘块中可以存放 32个目录项
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 4系统打开文件表和用户打开文件表 在UNI系统中,文件系统主要描述程序和数据的静 的概念,而进程则反应这些程序和数据的动的特性。 进程怎样才能对文件发生作用呢?从用户的角度来 看,用户程序可使用对文件系统进行操作的系统调 用来完成。但是,从系统内部的角度来说,则需要 有相应的数据结构来记录和控制打开文件的用户进 程以及记录和控制那些共享同一文件的用户进程。 为此UNIX系统设置了用户打开文件表和系统打开 文件表。 用户打开文件表一般放在user数据结构中。使用用 户打开文件表,一个进程可同时打开20个左右的 文件。可打开的文件表项 u filet中含有打开文件的 描述符fd,以及系统打开文件表的入口指针印等
4.系统打开文件表和用户打开文件表 在UNIX系统中,文件系统主要描述程序和数据的静 的概念,而进程则反应这些程序和数据的动的特性。 进程怎样才能对文件发生作用呢?从用户的角度来 看,用户程序可使用对文件系统进行操作的系统调 用来完成。但是,从系统内部的角度来说,则需要 有相应的数据结构来记录和控制打开文件的用户进 程以及记录和控制那些共享同一文件的用户进程。 为此 UNIX系统设置了用户打开文件表和系统打开 文件表。 用户打开文件表一般放在 user 数据结构中。使用用 户打开文件表,一个进程可同时打开 20 个左右的 文件。可打开的文件表项 u_ofile中含有打开文件的 描述符fd,以及系统打开文件表的入口指针fp等
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 系统打开文件表主要用来指明打开同一文件的不同 进程和不同进程所使用的不同打开路径,以及这些 不同进程和不同打开路径所对应的读写指针。因此 可以认为系统打开文件表是谨点表的补充。系统 打开文件表的每一项包括文件标识、文件访问计数 文件读写指针和文件内存i点入口指针和访问标 志等。其中文件标识与用户打开文件中印相连;文 件访问计数指示共享该文件的进程数,当文件访问 计数为0时,则表明已没有用户进程在使用该文件, 从而可以释放有关资源。文件读写指针则分别指出 各进程在同一文件中的读写位置。 资源管理结构、i点以及用户打开文件表和系统打 开文件表的关系如图93所示:
系统打开文件表主要用来指明打开同一文件的不同 进程和不同进程所使用的不同打开路径,以及这些 不同进程和不同打开路径所对应的读写指针。因此 可以认为系统打开文件表是 i节点表的补充。系统 打开文件表的每一项包括文件标识、文件访问计数、 文件读写指针和文件内存 i节点入口指针和访问标 志等。其中文件标识与用户打开文件中fp相连;文 件访问计数指示共享该文件的进程数,当文件访问 计数为 0时,则表明已没有用户进程在使用该文件, 从而可以释放有关资源。文件读写指针则分别指出 各进程在同一文件中的读写位置。 资源管理结构、i节点以及用户打开文件表和系统打 开文件表的关系如图9.3所示:
清华大学出版社 TSINGHUA UNIVERSITY PRESS 磁盘结点区 磁盘块数据区 文件卷 2-kK#k+2…团 mmmmmmmmmmm 内存 files 结点栈 磁盘块栈 系统打开 磁盘地址 内有「文件标识厂文件表{t i节点号 节点区 访问计数 i点指针」用户打开文件表A 「磁盘地址 「i节点号 文件标识 访问计数 i结点指针 用户打开文件表B 图93文件系统中主要数据结构之间的关系
图9.3 文件系统中主要数据结构之间的关系