Linux Kernel 结构
进程调度
- 控制进程对CPU的访问
- 资源调度及分配
- 基于优先级的进度调度算法选择新的进程
内存管理
- 允许多个进程安全的共享主内存区域
- 提供了进程的映射和逻辑内存的对换
- 支持虚拟内存
网络接口
- 提供了对各种网络标准的存取和各种网络硬件的支持
- 网络接口可分为网络协议和网络驱动程序。
- 网络设备驱动程序负责与硬件设备通讯
进程间通信
- 当操作真正完成时,进程被恢复执行
- 当一个进程等待硬件操作完成时,它被挂起
- 处于中心位置的进程调度,所有其它的子系统都依赖它
虚拟文件系统
- 分为逻辑文件系统和设备驱动程序
- 为所有的设备提供了统一的接口
子系统之间的依赖关系
- 进程调度与内存管理之间的关系
这两个子系统互相依赖。在多道程序环境下,程序要运行必须为之创建
进程,而创建进程的第一件事情,就是将程序和数据装入内存。
- 进程间通信与内存管理的关系
进程间通信子系统要依赖内存管理支持共享内存通信机制,这种机制允许
两个进程除了拥有自己的私有空间,还可以存取共同的内存区域。
- 虚拟文件系统与网络接口之间的关系
虚拟文件系统利用网络接口支持网络文件系统(NFS),也利用内存管
理支持RAMDISK设备。
- 内存管理与虚拟文件系统之间的关系
内存管理利用虚拟文件系统支持交换,交换进程(swapd)定期由调
度程序调度,这也是内存管理依赖于进程调度的唯一原因。当一个 进程存取的内存映射被换出时,内存管理向文件系统发出请求,同 时,挂起当前正在运行的进程。除了这些依赖关系外,内核中的所 有子系统还要依赖于一些共同的资源。这些资源包括所有子系统都用到
- 除了这些依赖关系外,内核中的所有子系统还要依赖于一些共同的资源
这些资源包括所有子系统都用到的过程。
例如:分配和释放内存空间的过程,打 印警告或错误信息的过程,还有系统的 调试例程等等
blog comments powered by Disqus