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