图2.4 内核结构框图
其中内核级中的几个方框,除了硬件控制方框以外,其它粗线方框分别对应内核源代码的目录组织结
构。
除了这些图中已经给出的依赖关系以外,所有这些模块还会依赖于内核中的通用资源。这些资源包括
内核所有子系统都会调用的内存分配和收回函数、打印警告或出错信息函数以及一些系统调试函数。
2.3 Linux 内核进程控制
程序是一个可执行的文件,而进程(process)是一个执行中的程序实例。在 Linux 操作系统上同时可
以执行多个进程。对于 linux 0.11 内核来讲,系统 多可有 64 个进程同时存在。系统除了第一个进程是“手
工”建立以外,其余的都是进程使用系统调用 fork 创建的新进程,被创建的进程称为子进程(child process),
创建者,则称为父进程(parent process)。内核程序使用进程标识号(process ID,pid)来标识每个进程。
进程由可执行的指令代码、数据和堆栈区组成。进程中的代码和数据部分分别对应一个执行文件中的代码
段、数据段。每个进程只能执行自己的代码和访问自己的数据及堆栈区。进程之间相互之间的通信需要通
过系统调用了进行。对于只有一个 CPU 的系统,在某一时刻只能有一个进程正在运行。内核通过调度程
序分时调度各个进程运行。
用户级
内核级
内核级
硬件级
系统调用接口
文件子系统
高速缓冲
字符设备 块设备
设备驱动程序
进程控制
子系统
硬 件 控 制
硬 件
函 数 库
用户程序
内存管理
进程间通信
调度程序
2022-04-26 16:45:15
5.39MB
Linux
内核
1