本章内容
1、什么是Linux
2、Linux内核的组成
1、1 什么是Linux
Linux课划分为以下四部分
a)Linux内核
b)GNU工具
c)图形化桌面环境
d)应用软件
1.1.1 深入探究Linux内核
内核主要负责以下四种功能
a)系统内存管理
b)软件程序管理
c)硬件设备管理
d)文件系统管理
1、系统内存管理
内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。
内核通过硬盘上的存储空间来实现虚拟内存,这块区域成为交换空间(swap space)。内核不断的在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。这使得系统认为它拥有比物理内存更多的可用空间。
内存存储单元按组划分成很多块,这些块被称为页面(page)。内核将每一个内存页面放在物理内存或交换空间。然后,内核会维护一个内存页面表,指明哪些页面位于物理内存,哪些页面被换到了磁盘上。
内核会记录那些内存页面正在使用,并自动把一段时间未访问的内存页面复制到交换空间区域(称为换出,swapping out)——即使还有可用内存。
当程序要访问一个已经被换出的内存页面时,内核必须从物理内存换出另外一个内存页面给他让出空间,然后从交换空间换入请求的内存页面。
2、软件程序管理
Linux操作系统将运行中的程序称为进程。内核控制着Linux系统如何管理运行在系统上的所有进程。
内核创建了第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,他会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。
3、硬件设备管理
内核的另一个职责是管理硬件任务。
任何Linux系统需要与之通信的设备,都要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之间交换数据。
Linux系统将硬件设备当成特殊的文件,称为设备文件。
4、文件系统管理
Linux内核支持通过不同类型的文件系统从硬盘中读写数据。Linux支持从其他系统采用的文件系统中读写数据。
shell是一种特殊的交互工具。他为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径。