- 函数库的作用:提供用户程序支配内核干活的接口
- 上图可以看到三个层次:硬件级,内核级,用户级
- 用户程序通过陷入完成由用户态到内核态的转换,系统调用接口作为用户级与内核级交互方式,分为2部分:与文件子系统的交互和与进程控制子系统的交互
- 文件子系统管理文件,包括:分配文件空间,管理空闲时间,控制对文件的存取以及为用户检索数据
- 进程控制子系统负责进程同步,进程间通信,进程调度和存储管理
2.Linux内核主要包括5个模块:进程调度模块,内存管理模块,文件系统模块,进程间通信模块和网络接口模块。
- 进程调度模块用来负责控制进程对CPU资源的使用
- 内存管理模块用来确保所有进程能够安全地共享机器主内存区
- 文件系统模块用来支持对外部设备的驱动和存储(一切皆文件)
- 进程间通信模块用来支持多种进程间的信息交换方式,通过系统调用实现进程间的信息交换
- 网络接口模块提供多种网络信息标准的访问并提供对多种网络硬件的支持
- 注意:所有的模块都要通过进程调度来运行
3.什么是shell?
shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行,是一个命令解释器