什么是内核,它有什么作用?
如果你使用计算机,你一定听说过 Kernel 这个名字。但是你知道内核是什么吗?哪里需要?如果没有,那么在今天文章的最后,您将了解与内核相关的所有内容。请与我们联系以获取完整的详细信息。
这个内核是计算机操作系统(OS)的一个非常重要的中心。它是一个内核,为操作系统的不同部分提供所有基本服务。这是操作系统和硬件之间的主要层,帮助处理和管理内存、文件系统、设备控制以及网络。
内核最常被比作外壳程序,外壳程序实际上是与用户命令交互的操作系统的外部部分。内核和外壳是 Unix 操作系统中经常使用的术语,就 IBM 大型机或 Microsoft Windows 系统而言。
然而,不要将内核与基本输入/输出系统(BIOS) 混淆,它是存储在计算机电路板芯片上的独立程序。
这就是为什么今天我想为什么不给你关于内核是什么以及它是如何工作的完整信息。有了这个,您可以熟悉这台基本计算机 C 的一部分。因此,让我们立即开始吧。
什么是内核
操作系统为我们提供了一个图形界面,以便我们可以向计算机系统发出命令。但是系统不能直接理解这些命令。
所以代码是用二进制语言编译的,其中使用了操作系统的核心组件,它被称为Kernel。
我们处理用户内核的最低层,然后内核处理系统。
内核扮演着系统硬件和软件之间的中介角色。该内核不是操作系统(OS);它是操作系统的中心单元。这是在引导过程中加载到受保护内存区域的第一个程序。只要系统正在运行,它就会一直保存在该内存中。
该内核是一个低级抽象层。用户进程使用系统与系统交互。系统调用内核,然后内核执行用户进程。
内核同时管理其他系统进程,例如进程管理、内存管理、设备管理和 I/O 管理。
内核是做什么的?
正如我之前所说,内核是操作系统的基本组件。它充当应用程序之间的桥梁,并使用在硬件级别建立的进程和系统调用之间的连接来处理数据。
当操作系统加载到内存中时,内核首先被加载并一直保留在内存中,直到操作系统再次关闭。该内核负责所有低级任务,例如磁盘管理、任务管理和内存管理。
一般来说,计算机内核与三大计算机硬件组件接口,也为应用程序/用户接口、CPU、内存和其他输入/输出设备提供服务。
除了提供这个内核之外,它还管理计算机资源,因此它可以允许其他程序运行和使用这些资源。
有了这个,内核为应用程序准备内存地址空间,将文件从应用程序代码加载到内存中,为程序设置执行堆栈并与它们一起分支到特定位置以在程序中执行。
内核有什么特点?
让我们熟悉内核的功能。
内核的职责是什么?
现在让我们了解一下内核职责。
1. CPU:同一核心负责在任何给定时间必须分配给处理器的运行程序的数量。
2. RAM:RAM 用于存储程序指令和数据。虽然许多程序经常想要访问这个内存,但他们想要更多的内存,这比计算机中可用的内存还多。
在这种情况下,内核有责任分配它将使用的内存,并决定在没有足够的可用内存时做什么。
3. I/O 设备:这些内核分配来自不同应用程序的请求,以便 I/O 操作可以在正确的设备中完成,此外它们还提供了使用设备的便捷方式。
4.内存管理:这个内核对系统内存有完全的访问权,也允许在你需要的时候安全地访问它。
5.设备管理:内核应该保留所有可用设备的列表。此菜单已由用户配置或由操作系统在运行时检测到(通常称为即插即用)。
Kernel 提供了哪些功能?
现在让我们看看内核提供了哪些功能。
1) 进程调度 (dispatch)
2)
进程间通信 3) 进程同步
4) 上下文切换
5) 进程控制块操作
6) 中断处理
7) 进程创建销毁
8) 进程暂停恢复
内核的定义
操作系统的作业管理器是内核。它控制和管理操作系统的所有基本功能。
内存管理:内核为进程提供虚拟和物理内存来完成它们的执行。如果进程无法在物理内存中完成,内核还会在硬盘中提供虚拟空间,以便将进程存储在那里。
这个概念称为虚拟映射。当程序需要当前不在 RAM 中的数据时,CPU 指向内核获取数据,然后内核也响应 CPU,将其内容写入非活动内存块。在可能的磁盘中(根据数据要求为此目的创建的空间),然后也替换为程序请求的数据。这种方案称为需求中继。
调度程序:该内核在执行操作时充当调度程序。处理器一次执行一个操作。该内核将处理器分配给正在运行的应用程序列表中的程序。
设备管理:内核在设备驱动程序的帮助下控制其他外围设备的活动。设备驱动程序是帮助操作系统与硬件设备交互的程序。
设备驱动程序提供接口并帮助操作系统与其他外围设备交互,例如打印机、扫描仪、调制解调器、键盘、鼠标等。
此驱动程序将 OS 函数调用转换为特定于设备的调用。设备驱动程序在系统启动时检测已安装的设备以及搜索引擎。
该进程使用系统调用机制来处理操作系统内核。系统调用是对内核的服务调用,从中获取执行操作的权限。应用程序使用系统调用机器代码指令,以便从操作系统获得服务许可。
内存管理: – 这个内核还管理 RAM。为指令和数据执行分配内存。决定 RAM 中的哪个进程以及执行该进程需要多少内存?该内核使用不同的机制处理许多进程。
内核类型
现在让我们熟悉不同类型或类型的内核。
单核
单片内核在内核空间内运行所有基本系统服务,如进程管理、内存、中断处理、I/O 连接、文件系统等。
单片内核通常具有所有其他内核中最高的数据传输率,因此用于大型服务器或专用于作业的服务器。
单片核心
1) 源代码和编译模型更小
2) 更少的代码意味着更少的错误和更少的安全问题。
3) 系统调用在单片内核中用于执行操作
4) 执行速度非常快
5) 在这一切都发生在内核本身中,因此我们在应用构建期间不需要任何额外的 I/O 和进程机制来处理.
同质内核缺陷
1)在内核空间编码也很困难,因为你不能在其中使用通用库。
2)调试很困难,因为您必须经常重新启动计算机
3)部分内核中的错误会导致很多副作用
4)内核经常变得很大并且难以维护。
5) 不可移植——必须为操作系统中使用的每个新架构频繁地重写单片内核。
微内核
而在微内核中,内核提供了基本功能,通过这些功能可以实现单独的服务器和软件。内核分为称为服务器的独立进程。这里有些服务器在用户空间运行,而另一些在内核空间运行。
所有服务器都单独保存并在不同的地址空间中运行。
您通常可以在实时系统中看到微内核。
MicroKernel 优点
1) 与 Monolithic Kernel 相比,它更易于维护。
2)它是防故障的(意味着如果一台服务器发生故障,其他服务器仍然有效运行)。
3) 便携
4) 体积小
5) 包含少量代码。这增加了它们的稳定性和安全性。
混合内核
在这种情况下,最好的同质内核和微内核混合在一起。
比如速度,单体内核的简单设计+小内核的模块化和稳定性
它具有同质核和微核的特性,但我们不能说它是一个完全特定的核。
您通常可以在桌面、Windows、Mac 和Linux操作系统上看到这些内核。
纳米核心
这种内核只提供硬件抽象,里面没有服务,内核的空间很小。超微内核是管理程序的核心,您可以使用它通过虚拟化模拟多个系统。核心非常适合紧凑型项目。
外内核
这个核是最小的。它只提供进程保护和资源处理。使用这个内核的程序员负责正确访问他想使用的设备。
内核和操作系统的区别
操作系统是一个系统软件包,而内核是操作系统的一部分,它管理所有的进程和设备。
其中操作系统是用户和设备之间的接口。而内核是软件和硬件之间的接口。
内核帮助软件与其他外围设备进行通信。
Linux 是内核还是操作系统?
顺便说一句,内核和操作系统之间存在差异。正如我已经告诉过你的那样,内核是一个操作系统的核心,它管理着它的所有基本特性,而如果将一些有用的应用程序和工具添加到该内核中,这个完整的包就称为操作系统。是。
由此可以说,在操作系统中,除了用户空间之外,还有内核空间。
这表明 Linux 是一个内核,因为它不包含任何其他应用程序,例如文件系统工具、窗口系统、图形桌面、系统管理员命令、文本编辑器、编译器等。
同时,很多公司将这些类型的应用程序添加到 Linux 内核中,并建立了自己的操作系统,如 ubuntu、suse、centOS、redHat 等。
什么是内核恐慌?
由于内核处理了计算机的大部分基本功能,所以如果它崩溃了,就会损坏整个计算机。这种不需要的事件在 macOS 和 Unix 系统中称为“内核恐慌”。
这类似于 Windows 中的蓝屏死机。要摆脱这种情况,您必须重新启动计算机。
注意 由于硬件连接问题,经常会出现内核崩溃。因此,如果您的计算机多次显示内核恐慌等问题,您应该断开所有不必要的硬件,它可能会结束您的问题。
结论
我希望你喜欢我的文章什么是内核(What is a Kernel)。我一直在努力向我的读者提供有关 Kernel 的完整信息,这样他们就不必在任何其他网站或互联网上搜索本文的上下文。
这也将节省他们的时间,他们还将在一个地方拥有所有信息。如果您对本文有任何疑问或希望对其进行一些改进,您可以对它写下低评论。
如果您喜欢这篇文章什么是内核或学到了一些东西,请在 Facebook、Twitter 等社交网络上分享这篇文章。