内核数据结构


内核数据结构非常重要,因为它们存储有关系统当前状态的数据。例如,如果在系统中创建了一个新进程,则会创建一个包含有关该进程详细信息的内核数据结构。

大多数内核数据结构只能被内核及其子系统访问。它们可能包含数据以及指向其他数据结构的指针。

内核组件

内核存储和组织大量信息。因此,它包含有关哪些进程正在系统中运行、它们的内存需求、正在使用的文件等信息。为了处理所有这些,使用了三个重要的结构。它们是进程表、文件表和 v 节点/ i 节点信息。

Kernel Data Structures

这些详细信息如下

进程表

进程表存储有关系统中所有正在运行的进程的信息。这些包括存储信息、执行状态、文件信息等。

当一个进程派生一个子进程时,它在进程表中的条目会被复制,包括文件信息和文件指针。因此,父进程和子进程共享一个文件。

文件表

文件表包含有关系统中所有文件的信息。如果两个或多个进程使用同一个文件,则它们包含相同的文件信息和文件描述符编号。

每个文件表条目包含有关文件的信息,例如文件状态(文件读取或文件写入)、文件偏移量等。文件偏移量指定文件中下一个读取或写入的位置。

文件表还包含指向虚拟节点和索引节点的 v 节点和 i 节点指针。这些节点包含有关如何读取文件的信息。

V 节点和 I 节点表

v 节点和 i 节点都是对文件存储系统和存储机制的引用。它们将硬件连接到软件。

v 节点是一个抽象概念,它定义了访问文件数据的方法,而无需担心系统的实际结构。i 节点指定文件访问信息,如文件存储设备、读/写过程等。

更新于: 2020年6月22日

15K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.