Linux内核组成部分
linux内核由7部分组成:系统调用接口、进程管理、内存管理、虚拟文件系统、网络协议栈、处理器体系相关部分、设备驱动。
(1)系统调用接口(SCI)。
内核为应用层提供的使用内核的接口,应用层可以通过系统调用接口,向内核申请服务。 SCI与API有何区别。SCI为系统调用接口,API为应用程序调用接口;应用程序使用API完成既定任务,一个API可以调用一个SCI函数、可以调用多个SCI函数、也可以不调用SCI函数(例如,数据计算库中的数值计算API接口)。
(2)进程管理。
进程是操作系统资源分配的基本单元,进程管理负责对进程的CPU使用、内存使用、IO使用的管理工作。 进程与线程。线程是操作系统调度的最小单位,线程建立在进程之内,一个进程包含至少1个线程;1个线程就是1任务执行过程,例如,线程1让led1灯以5Hz频率闪烁、线程2让led2灯以9Hz频率闪烁,就可以建立2个线程,线程1睡眠100ms点亮led1、睡眠100ms熄灭led1,线程2睡眠125ms点亮led2、睡眠125ms熄灭led2。进程为其上运行的线程同系统资源,例如内存、IO等。 多进程与多线程程序设计模式。通常来说,程序设计为多线程模式,可以提高系统的性能,在同一进程里的多个线程,使用想用的进程地址空间,同一进程上的线程切换不会更换页表(每个进程有自己独立的页表、彼此相同,页表切换会消耗大量时间)。多进程间切换虽然消化大量时间,但程序的可靠性好,在多线程模式中,一个线程异常,操作系统会改掉该线程所处的进程,同处该进程的其他线程也都停止服务了;但多进程模式,单个进程的异常被干掉了



