目录
内核功能:1、系统内存管理2、软件程序管理3、硬件管理4、文件系统管理
1、系统内存管理
内核可以管理物理内存和创建并管理虚拟内存
1.1 内核将内存位置分组为多个数据块(分页操作),内核定位物理内存或交换空间中的每个内存分页,然后维护一个内存分页表,此表说明位于物理内存的分页和交换到磁盘的分页
1.2 内核跟踪使用内存分页,并自动 将一段时间没有访问的内存分页复制到交换空间(换出),即使内存仍然够用也会这样做。程序需要访问已经换出的内存分页时,内核必须换出到另外一个内存分页,以在物理内存中为该内存腾出空间,然后从交换空间中换入需要的分页。
1.3 默认情况下,在Linux运行的每个进程都有自己的专用内存分页,一个进程不能访问另外一个进程正在使用的内存分页。内核也有自己的内存区域,处于安全考虑,任何进程都不得访问内核进程使用的内存
1.4 要促进数据共享,可以江川共享内存分页,通过共享内存分页可以提供给多个进程读取和写入,内核维护和管理共享内存区域,并允许单个进程访问共享区域
ipcs命令可以查看共享内存分页
2、软件程序管理
Linux将运行的程序称为进程
内核创建的第一进程,成为初始进程,该进程可以在系统上启动所有其他进程,内核启动时,将初始进程加载到虚拟内存中
内核每启动一个其他进程,都会在虚拟内存中分配一个唯一空间,用于存储该进程使用的数据和代码
Linux操作系统有5个运行级别:
1.单用户模式用于紧急情况下的系统维护
ps ax
最后一列进程名,方括号中的进程 表示该进程不活动,因而已经从内存中交换到磁盘交换空间中
3、硬件管理
Linux系统需要与之通信的设备都必须在内核代码中插入驱动程序代码
在Linux内核中插入设备驱动程序代码有2种方法:
1、在内核中编译驱动程序
2、向内核添加驱动程序模块(内核模块)
Linux系统将硬件设备表示未特殊文件,称为设备文件:
1、字符 --》调制调节器
2、块 --》磁盘
3、网络 --》网卡(使用数据包发送和接收数据的设备)
4、文件系统管理
Linux内核使用虚拟文件系统与每个文件系统进行连接,这为内核与其他文件系统类型的通信提供了一个标准接口,挂载和使用每个文件系统时,虚拟文件系统在内存中缓存相关的信息