一、Linux系统结构框图
-
分为用户级、内核级、硬件级
用户级的用户程序通过系统调用接口与内核进行交互
内核级中的系统调用接口分为与文件子系统交互、与进程控制子系统交互
内核级中的硬件控制来控制硬件级的硬件设备 -
内核分为五大模块:进程调度模块、进程间通信模块、内存管理模块、文件系统模块、网络接口模块
所有的模块都需要通过进程调度模块运行 -
具体分析
库函数为用户程序提供支配内核干活的接口
虚拟文件系统(VFS)包含了系统调用接口,其为各种文件系统提供了一个通用的接口
文件子系统:分配文件空间、控制文件的存取……
高速缓冲位于文件子系统和快设备之间,所有快设备的读写都需要通过高速缓冲区实现
进程管理子系统:进程调度、进程间通信、内存管理
补充:
Linux系统结构框图还可用圆形图表示,在用户程序和系统调用之间增加了Shell壳
- 一个Shell对应一个终端,终端上的文本传递给shell进行分析解释,然后执行
- Shell相当于一个程序,提供了用户与内核交互的工具,其运行某个应用程序,
- 应用程序再通过系统调用接口与内核进行交互;或调用库函数;或直接运行shell脚本