关于内核

概述

Posted by tahano on March 1, 2023

什么是Linux内核?

​ 内核是与计算机硬件接口的易替换软件的最低级别。它负责将所有以“用户模式”运行的应用程序连接到物理硬件,并允许称为服务器的进程使用进程间通信(IPC)彼此获取信息

内核还要分种类?

微内核

​ 微内核只管理它必须管理的东西:CPU、内存和IPC。计算机中几乎所有的东西都可以被看作是一个附件,并且可以在用户模式下处理。

​ 微内核具有可移植性的优势,因为只要操作系统仍然试图以相同的方式访问硬件,就不必担心您是否更改了视频卡,甚至是操作系统。

​ 微内核对内存和安装空间的占用也非常小,而且它们往往更安全,因为只有特定的进程在用户模式下运行,而用户模式不具有管理员模式的高权限。

宏内核/单内核

​ 宏内核(Monolithic Kernel)是操作系统的一种内核架构,它与单内核(Monolithic Kernel)实际上是同一种类型的内核,宏内核是单内核的另一种叫法。

​ 与微内核相反,因为它们不仅包含CPU、内存和IPC,而且还包含设备驱动程序、文件系统管理和系统服务器调用等内容。

​ 单内核更擅长于访问硬件和多任务处理,因为如果一个程序需要从内存或运行中的其他进程中获取信息,那么它就有一条更直接的线路来访问信息,而不需要在队列中等待来完成任务。

但是,这可能会导致问题,因为在管理模式下运行的东西越多,如果行为不正常,就会有越多的东西导致系统崩溃。

​ 简单来说,就是把很多东西都集成进内核,例如linux内核,除了最基本的进程、线程管理、内存管理外,文件系统,驱动,网络协议等等都在内核里面。

​ 优点是效率高。缺点是稳定性差,开发过程中的bug经常会导致整个系统挂掉。

​ 做驱动开发的应该经常有按电源键强行关机的经历。

怎么才能看懂Linux内核?

它用于什么?