进度调度切换

news2024/9/23 21:08:28
tips:

进程=内核数据结构(PCB/task_struct)+代码和数据

UID:每个用户对应的id

进程分类 & 进程关系

僵尸进程

父在子死

进程退出

  1. 代码不会再执行了,系统可以立即释放对应代码和数据
  2. 进程退出码保存在自己task_struct内部
  3. 管理结构task_struct必须被OS维护起来,方便用户未来进行获取进程退出的信息

孤儿进程

父退,子在

子进程会被系统自动领养

被领养的进程被称为孤儿进程

默认进程一般会转为后台运行

进程创建&销毁

创建进程时,先创建内核数据结构(task_struct),后加载代码和数据

释放时,先释放代码和数据,最后释放task_struct

在进程结束,其父进程没结束时,该进程为僵尸状态。task_struct一直不回收

除非父进程读取结束的子进程,子进程就会从Z到X,并释放task_struct

优先级

指的是task_struct的优先级, 与CPU调用有关, 

是什么

获得某种资源的先后顺序,比如,打饭时排队的本质就是在确认优先级。

为什么

本质是目标资源比较少,

怎么办

task_struct中有优先级属性,特定的几个int变量表示优先级,数字越小,优先级变高(类似排名)

PRI:priority,优先级

NI:nice,优先级的nice值(优先级修正数据)

最终优先级=pri(default80)+nice

nice值为[-20,19],40个值(与struct task_struct*  [140]中的40个分时切片任务有关)

为什么nice要限制在可控范围内?

保证资源被进程均匀分布

进程切换

概念储备

  • 时间片,时间片到了,进程就要被切换
  • linux是基于时间片,进行调度轮换的
  • 一个进程在时间片到了的时候,并不一定跑完了,可以在任何时间被重新调度切换
  • 理解进度切换:就像 大学期间被征兵入伍,应先通知学校,学校会保留学籍,未来退伍后恢复学籍,从此再次开始学籍

很重要的两步:保留和恢复上下文数据

切换过程和理解

进程在运行时,会有很多临时数据,都在cpu寄存器中储存,如eax,ebx,eflag,ecs...

eip:当前正在执行指令的下条指令地址

ir;指令寄存器,就是正在执行的指令

进行切换的核心:上下文数据的保存和恢复

上下文保护:

切走:将相关寄存器内容保护起来

切回:将历史保存的寄存器数据,恢复到寄存器中

临时保存地址不在cpu,在内存中的段中,可理解为直接存储在PCB(task_struct)中

每次保存完数据后,cpu是全新的

硬件上,只有一个寄存器。但被所有进程共享

task_struct按优先级调用

与优先级有关

CPU调用runquequ不是FIFO,二是按照优先级映射到一个struct task_struct*  [140]数组上,依次调用

前100是实时进程,不用管。后40个分片进程

板书

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

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

相关文章

推荐一款开源的Redis桌面客户端

TinyRDM 是一个现代化的、轻量级的跨平台 Redis 桌面客户端,能在 Mac、Windows 和 Linux 系统上使用。它有着现代化的设计风格,界面既简洁又清晰,操作起来方便又高效。不管是刚开始接触的新手,还是经验丰富的开发者,都…

【安装教程】Windows环境下Neo4j的安装与配置

【安装教程】Windows环境下Neo4j的安装与配置 Neo4j的概念一、安装前准备——JDK二、Neo4j的安装三、Neo4j的环境配置四、安装验证 Neo4j的概念 Neo4j 是一个高性能的图形数据库管理系统,它使用图形模型来存储和处理数据。Neo4j 的图形模型由节点和边组成&#xff0…

WebLogic 漏洞复现

1、后台弱⼝令GetShell 默认账号密码:weblogic/Oracle123 weblogic常⽤弱⼝令:https://cirt.net/passwords?criteriaweblogic 这⾥注意, 单个账号错误密码5次之后就会⾃动锁定。 http://47.121.212.195:7001/console 2、登录后台后&#…

矩阵分析 线性空间和线性变换 笔记手稿

1线性空间的概念 数域 线性空间 证明 线性相关和线性无关 线性空间的基 基的性质 基变换和坐标变换 子空间和维数定理 两个子空间的交和和都是子空间 维数公式 子空间扩充定理 维数公式及其证明 直和 证明 线性空间的同构 注意:映射的概念 同构的性质 线性变换的…

前端组件库Element UI 的使用

一、准备工作 1.确保安装了开发软件 VS Code(此处可查阅安装 VS Code教程),确保相关插件安装成功 2.安装Node.js 和创建Vue项目(此处可查阅安装创建教程) 3.成功在VS Code运行一个Vue项目(此处可查阅运行…

HTML+CSS学习笔记

目录 HTML 1.开发环境 2.创建HTML文件 3.HTML元素 3.1HTML文件结构 3.2HTML标签 3.3HTML属性​编辑​编辑 3.4HTML区块 3.4.1块元素 3.4.2行内元素 3.5HTML表单 CSS 1.CSS简介 2.CSS语法​编辑 3.CSS三种导入方式 内联样式 内部样式 外部样式 4.选择器​ 5.C…

老挝语方言那么多,怎么沟通交流?可以用《老挝语翻译通》app

准备前往老挝探险,却担心语言不通?《老挝语翻译通》App来帮忙,专为老挝语学习者和旅行者设计,让你轻松掌握老挝语,无需打字,说话即可翻译。 应用特色: 中老互译:实时中文与老挝语互…

xlsx单元格宽度自适应内容宽度

xlsx单元格宽度自适应内容宽度 全选内容区域。参考 按下图操作

文心智能体搭建步骤

通过使用文心智能体平台来创建智能体的过程。这种方法可以让没有编程经验的人也能快速构建智能体,降低了技 术门槛。以下是一些建议和心得: 1.选择合适的平台:文心智能体平台是一个优秀的选择,它提供了零代码和低代码的开发环境,极大地降低了…

[Linux][进程] 认识进程

基本概念 进程是一个操作系统术语,用来管理与操作程序.在windows下打开任务管理器即可查看目前打开的所有进程 PCB 进程控制块,从代码层面来说 PCB 是进程所有属性的一个结构体,在Linux源码中PCB指的是struct task_struct. Linux环境下: 进程 task_struct 代码 …

科技云报到:以数据“价值三角”为擎,探索数据治理实践路径

科技云报到原创。 过去四十年,经济发展主要来自于土地、劳动力、农业技术、工业技术等要素的充分释放。面向数字经济时代,无论是大模型、自动驾驶还是具身智能、人形机器人,数据已然成为继土地、劳动、资本和技术之后的又一种战略资产和新型…

【遥感图像船舶检测数据集】

【遥感图像船舶检测数据集】nc1 标签names: [ship,] 名称:【‘船’】共4126张,8:1:1比例划分,(train;3300张,val:412张,test:414张标注文件为YOLO适用的txt格式。可以直接用于模型训…

数字化转型加速,报表工具助力制造业变革

在当前全球制造业加速迈向数字化的背景下,企业正面临前所未有的挑战和机遇。然而,制造业的数字化转型并非一蹴而就,许多企业在推进过程中遇到了各种痛点。 制造业数字化转型的痛点 制造业的生产流程复杂,涉及多种设备、工艺和原…

每日一练:翻转二叉树

226. 翻转二叉树 - 力扣(LeetCode) 一、题目要求 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2&#xff…

新160个crackme - 063-dc0de-crackme

运行分析 需要破解Username和Serial PE分析 Delphi程序,32位,无壳 静态分析&动态调试 ida搜索到关键字符串,双击进入函数 进行动态调制函数较长,共有5个循环,以循环为单位逐步分析,注释如上循环1&#…

vue中高德地图使用 Marker 标点 - 标点数据快到 1000 时页面卡顿问题解决(已解决 - 多方面原因)+ 海量点功能实现解决

目录 1.业务需求2.最初实现及出现的问题3.解决 - 1000 个标点时页面就出现 卡顿 问题4.使用海量点、聚合标点后还有卡顿,排查其他原因5.最终解决5.1页面中list数据渲染问题解决5.2地图相关实例不要放在 vue 的可响应数据中 页面展示 1.业务需求 需要在 高德地图 中标…

【Unity图书】Unity 2018入门与实战

推荐一本适合初学者的书《Unity 2018 入门与实战》 京东购买链接:现在购买 推荐本书的两大理由: 一是浅显易懂,容易操作,讲解有趣 二是条理性的编程思想,从小例子开始培养项目管理的习惯 在动手之前先按下面的步骤…

docker镜像的打包、复制、加载

一、镜像打包 docker save -o /root/ollama.tar ollama/ollama 二、复制 如果网络互通,则可以直接远程复制即可。如果网络不通,则可以先下载到本地再上传到目标主机。这里我直接远程复制: 将本机的ollama.tar文件复制到目标主机192.168.1.2…

防火墙详解(一) 网络防火墙简介

原文链接:https://blog.csdn.net/qq_46254436/article/details/105519624 文章目录 定义 与路由器和交换机的区别 发展历史 防火墙安全区域 定义 防火墙主要用于保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为 “防火墙”一词起源于建筑领域&…