news 2026/10/6 18:05:10

linux内核 - 进程管理和调度(基于6.19内核)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux内核 - 进程管理和调度(基于6.19内核)

一:概述

所有现代操作系统都能够同时运行多个进程——至少在用户看来是这样。如果系统只有一个处理器,那么在任意时刻实际上只能运行一个程序。在多处理器系统中,真正能够并行运行的进程数量取决于物理 CPU 的数量。

内核和处理器通过以极快的速度在不同正在运行的应用程序之间反复切换,制造出一种多任务并行执行的假象。由于切换间隔非常短,用户几乎察觉不到中间这些极其短暂的停顿,从而感觉计算机仿佛在同时处理多项任务。

这种系统管理方式会引出一系列内核必须解决的问题,其中最重要的包括以下几点:一是应用程序之间必须相互隔离,除非明确允许相互干扰。例如,应用程序 A 中的错误不应传播到应用程序 B。由于 Linux 是一个多用户系统,还必须确保程序不能读取或修改其他程序的内存内容——否则,访问其他用户的私有数据将变得极其容易。二是CPU 时间必须尽可能公平地在各个应用程序之间进行分配,同时还要考虑到某些程序比其他程序更为重要。

内核必须决定为每个进程分配多少时间,以及何时切换到下一个进程。这就引出了一个问题:究竟哪个进程应该成为“下一个”?此类决策与平台无关。 当内核从进程 A 切换到进程 B 时,它必须确保 B 的执行环境与上次撤出处理器资源时完全相同。例如,处理器寄存器的内容以及虚拟地址空间的结构必须保持一致。这两项任务都由内核的一个子系统——调度器(scheduler)负责。CPU 时间的分配方式由调度策略(scheduler policy)决定。

二:进程优先级

并非所有进程的重要性都是相同的。除了大多数读者熟悉的进程优先级之外,还有不同的关键性类别(criticality classes)以满足不同的需求。粗略地说,进程可以分为实时进程和非实时进程两类。

硬实时(hard real-time)进程受到严格的时间限制,在规定的时间内必须完成特定任务。举例来说,如果计算机处理的是飞机的飞行控制指令,那么这些指令必须尽快转发——在保证的时间范围内。例如,如果飞机正在进近着陆,飞行员想拉起机头,计算机如果晚了几秒才转发指令就毫无意义。这时,飞机很可能已经“头朝下”撞到地面。硬实时进程的关键特征是,它们必须在保证的时间范围内被处理。需要注意的是,这并不意味着时间范围必须特别短,而是系统必须保证在任何情况下都不会超过这个时间限制,即使是在不太可能出现的或恶劣的条件下。

Linux 不支持硬实时处理,至少在原生(vanilla)内核中不支持。不过,有一些经过修改的版本,如 RTLinux、Xenomai 或 RTAI 提供了这一功能。在这些方案中,Linux 内核作为一个独立的“进程”运行,处理不太重要的软件,而实时任务则在内核之外完成。只有在没有实时关键操作执行时,内核才会运行。目前主线Linux支持配置为实时内核(PREEMPT_RT)

由于 Linux 被优化用于吞吐量(throughput),并尽可能快速地处理常见情况,因此要实现严格的响应时间保证非常困难。然而,近年来在减少整体内核延迟(即从发出请求到请求被完成之间的时间)方面已经取得了不少进展。这些努力包括:可抢占内核(preemptible kernel)机制、实时互斥锁(real-time mutexes),以及全新完全公平调度器(completely fair scheduler),中断和内核内部优化等。

未完待续。。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/5 10:39:53

智能推理路径规划中强化学习的创新算法

智能推理路径规划中强化学习的创新算法 关键词:智能推理路径规划、强化学习、创新算法、马尔可夫决策过程、Q学习 摘要:本文聚焦于智能推理路径规划领域,深入探讨强化学习的创新算法。首先介绍了相关背景知识,包括研究目的、预期读者、文档结构和术语表。接着阐述了核心概念…

作者头像 李华
网站建设 2026/10/5 5:29:14

无需专业技能!AI小程序一句话高效改图出片

拍照总遇尴尬?自拍眼镜泛绿光、风景照路人乱入,修图又难又费钱?别慌!安利小程序AI生图,小白也能一键精准修图,轻松拯救废片。实战演示:两大拍照痛点,一键解决▶场景一:人…

作者头像 李华
网站建设 2026/10/6 12:01:31

基于python的电商订单数据可视化分析预测研究项目(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于python的电商订单数据可视化分析预测研究项目(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 python jupyter notebook pycharm numpy pandas随机森林) 项目资料简介 数据量:涵盖超5万条新电商订单数据 特征维度:包含订单…

作者头像 李华
网站建设 2026/10/6 10:03:19

百考通AI让复杂数据从“沉默的数字”到“决策的金矿”

在当今这个数据爆炸的时代,无论是学术研究、商业运营还是个人项目,我们每天都被海量的数据所包围。然而,数据本身并不等于价值,真正的挑战在于如何从这些纷繁复杂的数字中提炼出洞见,转化为可执行的决策。对于非专业人…

作者头像 李华