内核数据结构


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

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

内核组件

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

Kernel Data Structures

这些的详细信息如下

进程表

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

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

文件表

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

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

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

V-节点和I-节点表

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

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

更新于:2020年6月22日

15K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.