linux实时调度

news2024/11/27 12:51:42

面对陌生的知识体系,应该从什么角度来

简介

一、进程管理基本概念

在单处理器系统上,在给定时刻只有一个程序可以运行,在多处理器系统上,可以真正并行运行的进程数据,取决于物理CPU的数目;

进程优先级

在比较粗糙的划分中,进程分为实时进程和非实时进程;

1. 硬实时进程具有严格的时间限制,某些任务必须在指定的时间内完成;

2. 软实时进程是硬实时进程的一种弱化形式,尽快需要快速得到结果,但是仍然可以稍微延迟执;

3. 大多数进程是没有特定时间约束的普通进程,它们可以通过重要性来分配优先级;

下面为CPU时间分配图,进程的运行按照时间片调度,分给进程的时间片份额与其相对重要性相当;系统中的时间流动对应圆盘转动,CPU则对应圆周旁的扫描器;最终效果是,尽管所有进程都有机会运行,但是重要的进程会比次要的进程得到更多的CPU时间;

从 Linux 调度全局角度看一下有哪些调度类,平时我们常见的就是 realtime 和 CFS 了

RT 调度器首先具有比 CFS 调度器更高的优先级,并且会严格按照优先级进行调度。

  • CFS 优先级为:100 ~ 139,

  • RT 优先级为:0 ~ 99

调度器,调度策略

RT 调度器支持两种调度策略:

没有时间片,被调度器选择后只要不被抢占,阻塞,或者自愿放弃处理器,可以运行任意长的时间

有时间片(默认为 100ms),其值在进程运行时会减少。时间片用完后,该值重置,进程置于队列末尾

/* * default timeslice is 100 msecs (used only for SCHED_RR tasks). * Timeslices get refilled after they expire. *

/ #define RR_TIMESLICE (100 * HZ / 1000)

调度数据结构

调度队列 rt_rq

调度实体 sched_rt_entity

待续

参考链接

这篇写的极好

Linux内核源码分析《进程管理及调度详解》 - 知乎

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

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

相关文章

jss/css/html 相关的技术栈有哪些?

js 的技术组件有哪些?比如 jQuery vue 等 常见的JavaScript技术组件: jQuery: jQuery是一个快速、小巧且功能丰富的JavaScript库,用于简化DOM操作、事件处理、动画效果等任务。 React: React是由Facebook开发的用于构…

FPGA高端项目:IMX327 MIPI 视频解码 USB3.0 UVC 输出,提供FPGA开发板+2套工程源码+技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、个人 FPGA高端图像处理开发板简介5、详细设计方案设计原理框图IMX327 及其配置MIPI CSI RX图像 ISP 处理图像缓存UVC 时序USB3.0输出架构 6、vivado工程详解FPGA逻辑设计 7、工…

docker 网络模型

一、docker的网络模型分为四种 【1】Host(与宿主机共享一个网络),宿主机的localhost 及 容器内的localhost 【2】Bridge(与宿主机共享一个局域网,有自己的网络;docker运行默认Bridge);容器内localhost不是宿主机localhost 【3】…

PyTorch 2.2 中文官方教程(五)

对抗性示例生成 原文:pytorch.org/tutorials/beginner/fgsm_tutorial.html 译者:飞龙 协议:CC BY-NC-SA 4.0 注意 点击这里下载完整的示例代码 作者: Nathan Inkawhich 如果您正在阅读本文,希望您能欣赏一些机器学习…

MySQL | DDL 里 TEXT、JSON 类型字段不设置默认值

JSON、BLOB、TEXT 等类型字段的默认值需要设置为表达式,但在旧版本(8.0.13)前只支持设置字面量,参考官方文档:MySQL :: MySQL 8.0 Reference Manual :: 11.6 Data Type Default Values。 PS:还有说是考虑减…

【刷题题解】编辑距离

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 这道题也是,一眼动态规划,乍一看感觉很复杂,仔细思考…

4.0 HDFS 配置与使用

之前提到过的 Hadoop 三种模式:单机模式、伪集群模式和集群模式。 单机模式:Hadoop 仅作为库存在,可以在单计算机上执行 MapReduce 任务,仅用于开发者搭建学习和试验环境。 伪集群模式:此模式 Hadoop 将以守护进程的…

2020年通信工程师初级专业实务真题

文章目录 一、第1章 现代通信网概述:信令网、同步网、管理网。第10章 通信业务:通信产业链,通信终端的分类,通信业务的定义及分类二、第3章 接入网:无线接入网的优点,接入网的接口(UNI&#xff…

tar包部署nginx

理论部分 1.基本概念​ Nginx(engine x)是一个高性能的HTTP和反向代理Web服务器,同时也提供了IMAP、POP3、SMTP服务。中国大陆使用Nginx网站用户有百度、京东、新浪、网易、腾讯、淘宝等。 2.主要用途​ 在连接高并发的情况下,N…

JavaWeb之HTML-CSS --黑马笔记

什么是HTML ? 标记语言:由标签构成的语言。 注意:HTML标签都是预定义好的,HTML代码直接在浏览器中运行,HTML标签由浏览器解析。 什么是CSS ? 开发工具 VS Code --安装文档和安装包都在网盘中 链接:https://p…

全新 鸿蒙系统

一, 开发框架 基础 二, 官网地址 文档开发:华为HarmonyOS智能终端操作系统官网 | 应用设备分布式开发者生态 三,基础了解 鸿蒙系统是基于 js 和 ts 衍生出来的一个东西 要学 arkts 就要学习 js 和 ts 语法 四&#xff0c…

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(二)

原文:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者:飞龙 协议:CC BY-NC-SA 4.0 第三章:分类 在第一章中,我提到最常见的监督学习任务是回归(预测值)和分类&#…

仓储物流系统架构平台的设计与实践

随着电子商务和供应链管理的迅速发展,仓储物流系统在现代商业中扮演着至关重要的角色。一个高效、稳定的仓储物流系统能够极大地提升企业的运营效率和客户满意度。本篇博客将探讨仓储物流系统架构平台的设计与实践,介绍其核心组成和关键考虑因素。 ### …

[技术杂谈]如何下载vscode历史版本

网站模板: https://code.visualstudio.com/updates/v1_85 如果你想下载1.84系列可以访问https://code.visualstudio.com/updates/v1_84​​​​​​ 然后看到: 选择对应版本下载即可,我是windows x64系统选择x64即可开始下载

开源节点框架STNodeEditor使用

节点,一般都为树形Tree结构,如TreeNode,XmlNode。 树形结构有其关键属性Parent【父节点】,Children【子节点】 LinkedListNode为链表线性结构,有其关键属性Next【下一个】,Previous【上一个】&#xff0c…

零信任实施:计划,执行,一步一步

去年,82% 的网络安全专业人员一直致力于实施零信任,到今年年底,应有 16% 的网络安全专业人员开始实施零信任。 零信任实施的挑战 您可能以前听说过:零信任不是单一产品,而是遵循“从不信任,始终验证”原则…

【Linux】进程间通信 --管道通信

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法…感兴趣就关注我吧!你定不会失望。 本篇导航 0. 进程间通信原理1. 匿名管道1.1 通信原理1.2 接口介绍 2. 命名管道2.1 接口介绍 3. 共享内存3.1 通信原理3.2 接口介绍 0. 进…

Java GC-常见垃圾回收器

目录 前言一、垃圾回收器分类二、垃圾回收器介绍1、Serial 收集器2、ParNew 收集器3、Parallel Scavenge 收集器4、Serial Old 收集器5、Parallel Old 收集器6、CMS 收集器(多线程标记清除算法)7、G1 收集器 三、项目中垃圾收集器选型 前言 Java的垃圾回…

零基础学编程系列,从入门到精通,中文编程开发语言工具下载,编程构件容器件之控制面板构件用法

零基础学编程系列,从入门到精通,中文编程开发语言工具下载,编程构件容器件之控制面板构件用法 一、前言 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载…

银河麒麟 aarch64 Mysql环境安装

一、操作系统版本信息 组件版本操作系统Kylin V10 (SP3) /(Lance)-aarch64-Build23/20230324Kernel4.19.90-52.22.v2207.ky10.aarch64MySQLmysql-8.3.0JDK1.8.0_312 二、MySQL下载 官网下载地址:https://dev.mysql.com/downloads/mysql/ 三、MySQL 安装 3.1 删…