linux内核从逻辑上可以分为5个部分:
1、进程调度
进程调度控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的程序。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其他资源,则该进程是不可运行进程。linux使用了基于优先级的进程调度算法选择新的运行进程。
2、进程间通信
IPC(Intre-Process Communication)包括FIFO、管道等机制以及System V IPC的共享内存(shm)、消息队列(msg)和信号灯(sem);
3、内存管理
内存管理允许多个进程安全地共享主内存区域。linux的内存管理支持虚拟内存,即在计算机中运行的程序,它的代码、数据和堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保存在内存中,其余的程序块则保留在磁盘中。当必要时,操作系统负责在磁盘和内存间交换程序块。内存管理从逻辑上分为硬件无关部分和硬件有关部分。硬件无关部分提供了进程的映射和逻辑内存的对换。硬件有关部分为内存管理硬件提供了虚拟接口。
4、虚拟文件系统
Virtual File System 隐藏了各种硬件的具体细节,为所有设备提供了统一的接口,VFS提供了多达数十种不同的文件系统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指linux所支持的文件系统。设备驱动程序指的是为每一种硬件控制器所编写的设备驱动程序模块。
5、网络
linux是源于网络的操作系统,提供了大量的内置网络功能,并且网络功能和内核的联系非常紧密。linux的网络功能包括各种网络协议和对网络硬件的访问。
Linux内核逻辑结构_网络