linux内核
内核主要负责四种功能;系统内存管理、软件程序管理、硬件设备管理、文件系统管理
系统内存管理
内核可以管理服务器上的可用物理内存,还可以创建和管理虚拟内存。
内核会维护一个内存页面表,表中指明了各页面所在的位置,在物理内存中或者换到了磁盘上。
一些长时间未访问到的内存页面被内核复制(换出,swapping out)到了交换空间区域。访问已换出的内存页面,内核需从物理内存中换出另一个内存页面,再讲交换空间中还如请求的内存页面。
软件程序管理
init 进程启动系统和是哪个所有其他进程。当内核启动时,会将init进程加载到虚拟内存中。内存在启动其他任何进程是,都会在虚拟内存中给新进程分配一块转悠区域来存储该进程用到的数据和代码。
/etc/inittab存储系统开机自启动的进程
linux操作系统有5个运行级,常见的有:1、只启动基本的系统进程以及一个控制台终端进程。(单用户)3、大多数应用软件,网络支持程序都会启动。5、启动图形化X windows系统,允许用户通过图形化桌面窗口登录系统。
硬件设备管理
linux系统与设备之间的通信,都要建立在驱动程序代码上(允许交换数据)。
插入设备驱动代码:1、编译进内核的设备驱动代码;2.可插入内核的设备驱动模块
linux系统将硬件设备当成特殊文件:1、字符型设备文件(每次只能处理一个字符的设备,eg调制解调器和终端);2、块设备文件(处理大块数据的设备,eg:硬盘);3、网络设备文件(数据包发送和接收的设备)
linux与设备的通信都通过设备节点完成。每个节点的数值对(作为标识)包括:主设备号(标识同类型)+次设备号(标识主设备组下特定设备)
文件系统管理
linux内核支持通过不用类型的文件系统从硬盘中读写数据。内核必须在编译时就加入对所有可能用到的文件系统的支持。
Linux内核采用虚拟文件系统(VFS)作为和每个文件系统交互的接口。当每个文件系统都被挂载和使用时,VFS将信息都缓存在内存中。