内核数据结构
内核数据结构非常重要,因为它们存储有关系统当前状态的数据。例如,如果在系统中创建了一个新进程,则会创建一个包含有关该进程详细信息的内核数据结构。
大多数内核数据结构只能被内核及其子系统访问。它们可能包含数据以及指向其他数据结构的指针。
内核组件
内核存储和组织大量信息。因此,它包含有关哪些进程正在系统中运行、它们的内存需求、正在使用的文件等信息。为了处理所有这些,使用了三个重要的结构。它们是进程表、文件表和 v 节点/ i 节点信息。
这些详细信息如下
进程表
进程表存储有关系统中所有正在运行的进程的信息。这些包括存储信息、执行状态、文件信息等。
当一个进程派生一个子进程时,它在进程表中的条目会被复制,包括文件信息和文件指针。因此,父进程和子进程共享一个文件。
文件表
文件表包含有关系统中所有文件的信息。如果两个或多个进程使用同一个文件,则它们包含相同的文件信息和文件描述符编号。
每个文件表条目包含有关文件的信息,例如文件状态(文件读取或文件写入)、文件偏移量等。文件偏移量指定文件中下一个读取或写入的位置。
文件表还包含指向虚拟节点和索引节点的 v 节点和 i 节点指针。这些节点包含有关如何读取文件的信息。
V 节点和 I 节点表
v 节点和 i 节点都是对文件存储系统和存储机制的引用。它们将硬件连接到软件。
v 节点是一个抽象概念,它定义了访问文件数据的方法,而无需担心系统的实际结构。i 节点指定文件访问信息,如文件存储设备、读/写过程等。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP