###什么是Linux内核###什么是MMU

news/2024/10/5 15:34:42

什么是Linux内核

Linux 内核简介

Linux® 内核是 Linux 操作系统(OS)的主要组件,也是计算机硬件与其进程之间的核心接口。它负责两者之间的通信,还要尽可能高效地管理资源。

之所以称为内核,是因为在操作系统中就像果实硬壳中的种子一样,控制着硬件(无论是电话、笔记本电脑、服务器,还是任何其他类型的计算机)的所有主要功能。

内核在操作系统中的位置

为了更具象地理解内核,不妨将 Linux 计算机想象成有三层结构:

  1. 硬件:物理机(这是系统的底层结构或基础)是由内存(RAM)、处理器(或 CPU)以及输入/输出(I/O)设备(例如存储、网络和图形)组成的。其中,CPU 负责执行计算和内存的读写操作。
  2. Linux 内核:操作系统的核心。(没错,内核正处于核心的位置)它是驻留在内存中的软件,用于告诉 CPU 要执行哪些操作。
  3. 用户进程:这些是内核所管理的运行程序。用户进程共同构成了用户空间。用户进程有时也简称为进程。内核还允许这些进程和服务器彼此进行通信(称为进程间通信或 IPC)。

系统执行的代码通过以下两种模式之一在 CPU 上运行:内核模式或用户模式。在内核模式下运行的代码可以不受限制地访问硬件,而用户模式则会限制 SCI 对 CPU 和内存的访问。内存也存在类似的分隔情况(内核空间和用户空间)。这两个小细节构成了一些复杂操作的基础,例如安全防护、构建容器和虚拟机的权限分隔。

这也意味着:如果进程在用户模式下失败,则损失有限,无伤大雅,可以由内核进行修复。另一方面,由于内核进程要访问内存和处理器,因此内核进程的崩溃可能会引起整个系统的崩溃。由于用户进程之间会有适当的保护措施和权限要求,因此一个进程的崩溃通常不会引起太多问题。
此外,由于 Linux 内核可以在实时修补期间持续工作,因此在应用补丁进行安全修复时不会出现停机。

什么是MMU

MMU全称是Memory Management Unit,中文名为内存管理单元,有时也称作分页内存管理单元(paged memory management unit,缩写为PMMU)。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件。它的功能包括虚拟地址到物理地址的转换(即虚拟内存管理)、内存保护、中央处理器高速缓存的控制等。

咱来一道软考题巩固一下:
image
image

MMU有什么作用

地址转换:MMU(内存管理单元)将程序的虚拟地址转换成真实的物理地址,确保CPU准确访问内存。

内存保护:MMU通过权限和保护机制防止程序越界访问,确保系统数据安全。

虚拟内存管理:MMU支持虚拟内存,通过硬盘等辅助存储设备扩展内存空间,提升系统性能和灵活性。

内存映射:MMU将外设地址映射到CPU地址空间,简化CPU与外设的数据交换。

性能提升:MMU的地址转换和虚拟内存管理减少了对RAM的依赖,降低内存碎片和交换频率,提升系统整体性能。
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/28695.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙HarmonyOS实战-ArkUI事件(焦点事件)

🚀前言 焦点事件是指程序中的重要事件或关键点。焦点事件通常是程序的核心逻辑和功能,需要引起特殊的关注和处理。 在图形用户界面(GUI)编程中,焦点事件通常与用户交互和界面输入相关。例如,当用户点击按钮、输入文本或选择菜单项时,这些操作会触发相应的焦点事件。程序需…

页面嵌套,界面套娃,除了用iframe,还有其他方式吗?

​UIOTOS可以了解下,uiotos.net,通过连线来代替脚本逻辑开发,复杂的交互界面,通过页面嵌套轻松解决,是个很新颖的思路,前端零代码! 蓝图连线尤其是独创的页面嵌套和属性继承技术,好家伙相当于把vue的组件化、增量式面向对象开发,直接搬到前端拖拽工具上,无代码编程了…

SwiftUI ZStack、HStack、VStack 布局

代码 // // ContentView.swift // SwiftUIStacks // // Created by CHEN Hao on 2024/5/6. //import SwiftUIstruct ContentView: View {var body: some View {VStack(spacing:15) {HeaderView()HStack(spacing: 15) {PricingView(title: "Basic", price: "$…

使用 docker-compose 部署 nexus

本篇博客主要介绍如何通过 docker-compose 快速搭建 nexus 服务,毕竟目前采用容器化部署是一件更加快速轻松的方案。 之前的博客已经介绍过 nexus 的搭建,以及为 IDEA 和 Visual Studio 提供代理服务,这里就不详细介绍了,提供出之前博客的链接。 nexus 在 windows 上的搭建…

第一次冲刺

入围+1,这是当时的截图我们暂时完成的功能就是注册登录和主页面的对话,后续我们下一阶段会完成历史对话记录,语音对话等功能 我们第一阶段分工占比:

简述Linux系统内核的作用

本文简述了Linux内核的5个子系统:进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)和进程间通信(IPC)V 1.0 2024年5月7日 发布于博客园目录Linux内核的组成部分进程调度(SCHED)内存管理(MM)虚拟文件系统(VFS)网络接口(NET)进程间通信(IPC…

Spring SpringMVC概述

SpringMVC框架主要用于跟客户端交互,包括请求和响应。前端控制器的作用就是把一些功能封装,我们在开发时就不用再写一些繁杂的代码了 SpringMVC使用DispatcherServlet作为前端控制器,DispatcherServlet本质其实是一个Servlet原先我们在访问时,客户端发起请求直接找Servlet。…

物流行业新篇章:数字孪生系统助力仓储物流园区升级

在数字化浪潮的推动下,物流行业正迎来前所未有的变革,现代化仓储物流园区数字孪生系统正以其独特的魅力引领着物流行业迈向更加智能、高效的新时代。在数字化浪潮的推动下,物流行业正迎来前所未有的变革,现代化仓储物流园区数字孪生系统正以其独特的魅力引领着物流行业迈向…