这个 Kernel
是电脑、智能手机操作系统的核心部分。内核按照操作系统体系结构在最底层运行,负责内存管理、设备管理、进程管理等不同的任务,没有内核,操作系统、应用程序、软件就无法运行。
内核如何工作?
为了先运行内核,应该在系统或计算机引导期间加载内核。引导加载程序软件将首先加载内核,然后将执行传递给内核。内核将加载不同的模块、服务,并初始化硬件。这些任务完成后,操作系统软件和用户空间软件以及应用程序都将启动。
内核函数/作业
为了运行操作系统,内核有不同的函数和作业。
Resource Management
:计算机或系统包含不同的资源,如进程、设备、中断、地址空间等。所有这些都应该得到适当的管理,以防止锁定或出现问题。内核正确有效地管理这些资源。
Memory Management
:内存是内核的一个重要部分,RAM和类似的内存类型由内核管理。内核使用虚拟寻址、分页、分段等来管理内存。
Device Management
:计算机或系统拥有许多不同类型的设备,如磁盘、GPU、CPU、网络接口卡、音响系统、调制解调器、主板。所有这些设备都应该使用它们的固件和软件进行相应的管理。
System Calls
:操作系统功能通过系统调用提供给用户空间应用程序、软件和程序。系统调用用于请求不同的功能,如网络通信、IP包传输、使用图形功能、读取键盘输入、将一些图形放入屏幕或监视器。
Process Management
:进程是用于运行应用程序和存储数据的基本结构。每个应用程序都将创建一个或多个进程来运行。过程
内核类型
内核可以根据其体系结构和模块性而有所不同。下面我们将列出一些流行的内核类型。
- 单片内核
- 微内核
- 混合核或模块核
- 纳米颗粒
- 外展式核心
单片内核
单片内核在主内核线程中运行所有内部操作系统服务。所有内核组件和任务共享相同的内存区域,资源没有限制。这具有易于快速实现和访问等优点。但缺点是隔离度越低,安全性就越低,错误可能会使整个内核崩溃。Linux内核、AIX、HP-UX和Solaris内核被归类为单片内核。
微内核
Micro Kernel
旨在创建更少的内核空间和更多的用户空间。内核设计了较少的和最小的函数。在快速发育的地方,微内核易于维护。微内核需要在运行内存占用较大、进程管理复杂的组件之间进行更多的交互。gnuhurd、MINIX、MkLinux、QNX和redoxos内核被归类为微内核。
混合核或模块核
Hybrid or Modular Kernel
与微内核非常相似,只是使用了一些额外的代码实现,以利用单片和微内核的优点。混合核的设计是为了获得优势,同时消除微型核和单片核的缺点。混合或模块化内核为驱动程序提供了更快的开发时间,并加快了第三方技术的集成。大多数商用操作系统内核Micorosft Windows NT 3.1、NT 3.5、NT 4.0、200、XP、Vista、7、8、10以及Apple MacOS XNU和FreeBSD内核是混合或模块化内核。
纳米颗粒
Nano内核被设计成非常小的,并且被设计成代理所有服务,比如中断控制器或定时器等。
外展式核心
ExoKernel被设计成在原始硬件上运行,很少或没有抽象。它们仍然是实验性的,不那么受欢迎。它们提供对系统硬件和资源的实时控制。
Linux内核
Linux Kernel
是一个免费的、开源的、单片的、类似Unix的内核。它是由“Linux Torvalds”于1991年创建的。Linux内核由不同的操作系统、设备和平台组成,如PC、笔记本电脑、智能手机、智能电视、嵌入式设备、NAS设备。作为一个开源内核,源代码可以在 内核.org 网站。
![图片[1]-什么是内核(操作系统)?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/05/poftut_image-233.png)
NT(Windows)内核
NT Kernel
是Windows系列操作系统内核的名称。windowsnt内核是一种混合内核,使用了IA-32、x86-64、ARM等不同的平台。NT内核是一个商业上可以买到的封闭源码内核。