04 组成Linux核心的5个主要部分

文章类别 in linux

Linux日益发展,现在Linux内核到现在已经是4.1版本了,这都得益于开源的力量。这是一个最坏的时代,也是一个最好的时代,我想最好的时代的其中一个原因就是「开源」。

Linux

好了,通过Linux系统的目录结构我们已经对Linux的目录结构有了了解,接下来我们对Linux更进一步的了解,对Linux的整体有一个整体的大概认识,有助于我们接下来的学习,那么这一篇主要是来了解Linux核心的组成部分:

1.内存管理

内存管理能够有效的管理系统的内存,响应程序对内存的请求,Linux内存管理还支持虚拟内存,就是Linux在运行程序和一些数据可以超过实际的物理内存,超过物理内存的这一部分内存是通过对磁盘申请得到的,一般情况下系统把当前运行的程序保留在内存里边,到了内存紧缺,迫不得已的时候就会去跟磁盘交换程序块。

2.进程管理

Linux使用基于优先级的进程调度算法来控制进程对CPU的访问,当某个进程需要被执行的时候,那么进程调度器就会基于调度算法启动新的程序,Linux支持多任务运行,比如你在Linux上可以“同时”运行多个程序。这样看起来好像Linux可以同时并发的执行多个任务,其实不然,而是在系统运行的时候,每个进程会得到被cpu执行的时间片,当某一个进程的时间片执行完后,调度进程就会去执行另一个进程,这样对每个进程都进行的快速切换执行,这样的快速快到让我们感觉好像cpu在同一时间执行多个程序一样。

3.进程间通信

在不同的进程之间控制数据的交换和共享,由于不同的进程之间的进程空间不同,所以进程间通信会借助内核的中转来实现进程。

4.虚拟文件系统

Linux虚拟文件系统隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,使得Linux可以支持多种文件类型,虚拟文件分为 逻辑文件设备驱动文件 ,逻辑文件指的是Linux支持的文件系统, 设备文件指的是为每一种硬件控制器所编写的设备驱动程序模块。

5.网络接口

网络接口提供了对各种网络标准的存取实现和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序则负责与硬件设备通信,每一种可能的硬件设备都有相应的设备驱动程序。