Linux系统核心组成
来自CloudWiki
- 指挥linux系统稳定有序运行的核心是linux内核。这个内核相当于linux的大脑,linux操作系统就是在linux内核上发展壮大起来的。
- linux内核的官方网站是https://www.kernel.org/,从20世纪90年代初由Linux发布第一版开始,经过开源社区和linux爱好者十几年的共同努力,现在已经发展到了最新的4.1内核。
- Linux是一款开源操作系统,这就给了我们一个非常难得的机会,去学习一个成熟商用的操作系统是如何实现的。一个完整的linux内核,一般由五个部分组成,他们分别是内存管理,进程管理,进程间通信、虚拟文件系统和网络接口。
内存管理
- 内存管理主要完成的是如何合理有效的管理整个系统的物理内存,同时快速响应内核各个子系统对内存分配的请求。linux内存管理支持虚拟内存,即在系统上运行的所有程序,占用的内存总量可以大于实际物理内存,而多余出的这部分内存就是通过磁盘申请得到的,平时系统只把当前运行的程序框保留在内存中,其他程序化则保留在内存中,在内存紧缺时由内存管理负责在磁盘和内存间交换程序块儿。
进程管理
- 进程管理主要控制系统进程,对CPU的访问,当需要某个进程运行时,由进程调度器根据基于优先级的调度算法,启动新的进程,linux支持多任务运行。那么如何在单个CPU上支持多任务呢?这个工作就是有进程调度管理来完成的,在系统运行时,每个进程都会分得一定的时间片,然后进程调度去根据时间片的不同选择,每个进程依次运行,例如。当某个进程的时间片用完后,调度器会选择一个新的进程继续运行,由于切换的时间和频率都非常快,因此用户感觉是多个程序在同时运行,实际上CPU在同一时间内只有一个进程在运行,这一切都是进程调度管理的结果。
进程间通信
- 进程间通信主要用于控制不同进程之间在用户空间的同步数据共享和交换。由于不同的用户进程,拥有不同的进程空间,因此进程间的通信要借助于内核的中转来实现,一般情况下,当一个进程等待硬件操作完成时,它会被挂起,当硬件操作完成后,进程被恢复执行,而协调这个过程的就是进程间的通信机制机制。
虚拟文件系统
- linux内核中的虚拟文件系统是一个通用的文件模型,表示各种不同的文件系统,这个文件模型屏蔽了很多具体文件系统的差异,使linux内核支持很多不同的文件系统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序,逻辑文件系统是指Linux所支持的文件系统,如ext2,ext3,ext4,xfs和fat等;设备驱动程序只为每一种硬件控制器所编写的设备驱动程序模块。
- http://blog.csdn.net/heikefangxian23/article/details/51579971
网络接口
- 网络接口提供了对各种网络标准的实现和各种网络硬件的支持。网络接口一般分为网络协议和网络设备驱动程序。网络协议部分,负责实现每一种可能的网络传输协议。网络设备驱动程序则主要负责与硬件设备进行通信,每一种可能的网络硬件设备都有相应的设备驱动程序。
下一节 运行机制介绍