Hostwinds 博客
寻找结果为:
每个操作系统的核心都是内核,这是一种基本软件,是应用程序软件和计算机硬件组件之间的调解器。它负责管理计算机的硬件(CPU,RAM,存储等),决定了如何以及何时在运行和休眠应用程序中使用各种资源。
例如,想象一下,您使用Zoom或Google Meet之类的应用程序在计算机上加入电话会议。打开时,应用程序将要求内核访问计算机的相机和麦克风。内核通过激活计算机上的必要硬件来处理请求。它还将告诉计算机分配一定数量的CPU资源以保持平稳的连接。
内核的核心功能是确保软件和硬件有效地通信。
这是一些内核核心功能的细分,可以使计算机顺利运行
内核允许应用程序共享硬件资源,精心策划给定任务(过程)需要多少特定硬件资源。
内核处理过程管理的各个方面,包括创建新的流程,在运行时进行调度以及完成后清理。它可以确保每个过程都有在保护它们彼此干扰的同时需要运行的资源。
内核监督物理和虚拟内存,确保每个过程都有足够的空间可以使用。它使用分页(固定)和细分(变量)等技术来保持所有内容有条理和高效。
内核通过确保文件可以快速,牢固地保存和检索到计算机的硬盘驱动器或SSD上如何存储数据。
设备驱动程序就像用于不同硬件组件的翻译器(打印机,图形卡等)。内核与这些驱动程序进行通信,以控制和协调设备的使用。
内核可以实施访问控制和权限,以保护系统免受未经授权的访问。它彼此隔离,有助于防止恶意代码影响系统的其他部分。
有不同类型的内核,每种内核都有自己独特的设计和方法来管理计算机的资源。让我们探索核的主要类型,以及什么使每个内核与众不同:
将整体内核视为一个大型,多合一的包装。它不仅包括操作系统的核心功能,还包括设备驱动程序,文件系统管理和其他系统服务。
一切都在单个内核空间中运行,这可能会导致高性能和效率。
示例:Linux和旧版本的UNIX。
微粒采用极简主义的方法。他们仅处理最重要的功能,例如硬件和软件之间的通信,并委派其他任务(例如设备驱动程序)以分开用户模式进程。
这种设计可以改善稳定性和模块化,从而更容易隔离和修复系统问题。
示例:MACH(MACOS X)和QNX。
纳米内核更小,轻量级比微粒更轻巧。他们的目的是仅处理绝对最少的任务,例如上下文切换和硬件抽象。
这种类型的内核设计用于专门应用程序,例如嵌入式系统或IoT设备,在这些应用程序或IoT设备中,简单性和最小资源使用是关键。
混合核是整体和微核设计的混合物,旨在尽可能多地做到两全其美。
它保持了一些整体内核的性能优势,但具有更大的模块化,例如微动物。
示例:Windows NT和MacOS(自版本X)。
Exokernels通过为硬件提供非常低级的界面来采用不同的方法,从而提供了对资源的更多控制。此操作系统内核允许更大的自定义和潜在的性能提升,但是管理可能很复杂。
设备驱动程序是软件组件,允许操作系统的内核与计算机内外的硬件设备进行通信。
您的操作系统使用了3种主要类型的设备驱动程序:
这些驱动程序负责管理通过字符传输数据字符的设备,包括键盘,小鼠,串行端口和终端。他们通常以角色处理输入和输出操作,而不会缓冲大量数据。示例包括用于解释击键和鼠标驱动程序的键盘驱动程序,以跟踪光标运动。
块设备驱动程序负责监督将数据存储在固定尺寸块或扇区中的设备,例如硬盘驱动器,固态驱动器(SSD)和USB存储设备。他们在块中处理数据,从而有效地读取和撰写大量数据。块设备驱动程序的任务是管理存储设备,其中包括分区,格式化和处理读取请求。
网络设备驱动程序负责控制网络接口卡(NIC)和其他网络硬件,从而通过网络促进通信。这些驱动程序管理数据包的传输和接收,实现了TCP/IP等网络协议。他们还处理网络配置,数据包路由和数据传输。
用户模式和内核模式是操作系统中的两个不同的设备驱动程序状态。
让我们看一下每种模式是什么,以及它们对计算机的安全性和稳定性重要的原因。
内核模式是一种特权状态,其中操作系统的核心组件在其中运行。在此模式下,内核无限制地访问了硬件资源,并且可以执行关键的系统任务,例如管理内存,控制硬件设备和处理系统中断。就像计算机的控制中心一样,在该中心中,基本操作是有效,安全地进行的,以确保操作系统的平稳运行。
由于软件无限制地访问了敏感的系统资源,因此内核模式运行需要高水平的信任。因此,只有可信赖的操作系统组件,例如内核本身和设备驱动程序,才能在内核模式下运行,以维持系统完整性。
用户模式是一个受限制的环境,在该环境中,大多数应用程序(如浏览器和文字处理器)都运行。在此模式下,软件在操作系统设置的边界内运行,而无需直接访问硬件或关键系统资源。它旨在为应用程序提供一个安全稳定的环境,以独立运营而无需彼此干扰或操作系统的核心功能。
内核包含各种安全措施,以保护该系统免受潜在威胁。
内核能够维持安全环境并减轻潜在漏洞的几种方法:
访问控制: 内核通过将权限分配给用户和流程(例如读取,写入和执行权限)来实施访问控制策略。它验证了针对这些权限的访问请求,以确保只有授权实体才能访问资源。
许可: 内核通过检查请求实体的访问权限根据与资源相关的权限来执行权限。这有助于防止未经授权的访问和滥用系统资源。
沙箱: 内核实现了沙盒技术,例如过程隔离,名称空间分离和特权分离,以为应用程序创建安全的执行环境。这样可以防止他们访问或修改系统关键资源。
撰写者 Hostwinds Team / 五月 15, 2024