各组件的主要功能介绍如下:
1.进程管理
负责创建,结束进程,管理内核的活动,如软件中断、tasklet等,管理进程通信,如消息(message)、管道(pipe)等,实现进程调度(schedule)。进程调度是进程管理的重要任务,它处理所有活动的、等待被执行的和被阻塞(blocking)的进程调度,使所有应用和进程合理的共享处理器的运行时间。
2.内存管理
内存是系统最主要的资源之一,计算机的性能在很大程度上与其所配备的内存有关。linux内核内存管理的主要功能就是给进程分配地址空间,该地址指允许本进程自己访问。
3.文件系统
在linux操作系统中,文件系统是整个系统的中枢。linux与其他操作系统不同,几乎所有的操作都基于文件系统接口的处理,如设备驱动程序可以按文件方式访问设备,通过/proc文件系统可以访问linux内核的数据和参数,这两个功能在调试时非常有效。
4.设备驱动程序
在所有的操作系统中,设备驱动程序都是硬件的抽象,同故宫它可以访问硬件。linux可以用模块的方式实现设备驱动成,提供了在系统运行时动态加载和卸载设备驱动程序的途径。
5.网络子系统
在linux中所有的网络操作是由操作系统管理的。这事因为网络操作不能分配给某个进程完成。在处理受到的网络数据包时,数据包得接受是异步的。接受数据包任务必须是在进程处理这些数据包前先收集齐所有的网络包、标识数据,然后向上层传递,这就是为什么由内核的网络子系统负责处理数据包,而不是由某个进程和网络接口来处理。
在内核中还定义了大量的接口,目的是为了更方便的拓展内核功能,如虚拟文件系统接口(Virtual filesystem Interface),课用于增加新的文件系统,现在linux中能支持十多种不同的文件系统;课件linux的开发人员定义这种接口所带来的优势。在linux的网络体系结构中也定义了很多接口,用以支持动态增加网络协议和网络设备驱动程序。