当前位置: 首页 > java >正文

linux内核 - 服务进程是内核的主要责任

        在运行时,Linux 内核管理内存、调度任务、处理 I/O、处理中断并强制执行系统安全性。这些责任是必不可少的,但它们本身都不是目标。内核的存在是为了服务用户进程。

        它的工作是确保每个进程可靠、安全和高效地运行。如果内核无法响应系统调用、分配内存、访问存储或强制隔离,则它的核心目的就失败了。

        重要的是,内核不会自行运行。它仅在三种情况下进入执行状态:来自用户空间的系统调用、来自硬件设备的中断或计划执行系统工作的内部线程。其中每一个都是对外部需求的反应,通常源自用户进程。内核在需要时被激活,并且只有在那时才被激活。

        考虑启动流程时会发生什么。用户调用 exec.内核必须通过虚拟文件系统解析二进制路径,使用底层文件系统驱动程序加载文件,分配和映射内存,通过安全模块验证访问,并计划进程执行。这些步骤中的每一个都涉及不同的子系统。他们都不能独立行动。所有作必须按顺序完成才能启动单个流程。

        即使是简单的读取调用也会跨越多个模块。系统调用处理程序从进程的任务结构中验证文件描述符。虚拟文件系统将找到关联的文件对象。根据文件类型,读取请求可能会转到常规文件、管道或套接字。如果内存缓冲区位于未映射的页面上,则内存管理器必须先解决故障,然后才能复制数据。只有当所有这些都成功完成时,内核才会返回用户空间。

        相同的模式适用于所有 I/O、网络和进程间通信。每个用户作都会导致内部协调链。内核的任何部分都无法提供结果。它始终是整个系统。

        内核线程也不例外。回收内存或刷新脏缓冲区时,它们不会代表自己执行作。它们的存在是为了保持系统足够健康,以便用户进程继续。他们的工作直接支持用户空间中正在进行或未来的执行。

        这就是 Linux 内核的结构。每个子系统都围绕流程支持进行组织。每个内部服务的存在都是为了响应、启用或保护执行。它不是一个闲置的核心。它是一个被动的、合作的系统。

        内核之所以重要,不是因为它执行许多工作,而是它执行这些工作是为了服务于其他东西。那个东西就是用户进程。

        下面图显示了内核如何仅在需要时运行,并且始终为该进程服务。

        

          

参考:https://www.linkedin.com/posts/moon-hee-lee_serving-the-process-the-kernels-primary-activity-7320186364757508098-ITy3/

http://www.xdnf.cn/news/19888.html

相关文章:

  • dockerfile文件的用途
  • 机器能否真正语言?人工智能NLP面临的“理解鸿沟与突破
  • 键盘上面有F3,四,R,F,V,按下没有反应,维修记录
  • Echo- Go Web Framework的介绍
  • MCP over SSE 通信过程详解:双通道架构下的高效对话
  • 关于牙科、挂号、医生类小程序或管理系统项目 项目包含微信小程序和pc端两部分
  • 《计算机网络安全》实验报告一 现代网络安全挑战 拒绝服务与分布式拒绝服务攻击的演变与防御策略(1)
  • createrepo生成yum仓库元数据xml文件
  • 【机器学习学习笔记】逻辑回归实现与应用
  • 微信小程序预览和分享文件
  • AI生成内容的版权迷局:GPT-4输出的“创意”版权风险与规避之道
  • 解决服务器 DNS 解析失败,从这几步排查开始
  • MiniCPM-V 4.5 模型解析
  • 代码随想录算法训练营第二天| 209.长度最小的子数组
  • 变频器实习DAY42 VF与IF电机启动方式
  • 开源网络流量分析利器:tproxy
  • 嵌入式 - 硬件:51单片机(2)
  • daily notes[9]
  • 校园外卖点餐系统(代码+数据库+LW)
  • try-catch:异常处理的最佳实践与陷阱规避
  • MMD动画(一)模型、动作、音乐导入
  • Graphpad Prism 实战教程(一):小鼠体重变化曲线绘制全流程(含数据处理与图表美化)
  • 9月3日
  • 网格图--Day04--网格图DFS--2684. 矩阵中移动的最大次数,1254. 统计封闭岛屿的数目,130. 被围绕的区域
  • 现代软件栈全景解析,揭示从用户界面到基础设施的层层构建与关键技术
  • FFmpeg-Batch:GitHub开源视频批量处理工具,高效解决视频转格式与画质压缩需求
  • 华为HCIE证书多久续一次费?费用多少?
  • 接口保证幂等性你学废了吗?
  • Kafka Topic(主题)详解
  • 【CMake】message函数