操作系统(第四周 第一堂)

目录

回顾

进程调度(process schedule)

进程角度

计算机整体——调度队列

队列图

调度程序

总结


回顾

上一篇文章的重点只有一个————进程

对进程的了解包含以下几个方面:1、程序如何变为进程  2、进程在内存中的存储形式  3、进程控制块在内核中的存储形式  4、进程状态

总的来说:

1、进程是程序在计算机中运行的实例

2、进程本身也是一个程序,特殊的程序

3、进程的管理依赖于进程控制块(PCB)

4、进程本身存储在内存中,有特定的存储形式

进程有五个状态,设计进程有状态的原因就在于方便计算机并行运行多个进程,并行运行多个进程就涉及到进程的调度,这个调度是由内核实现

进程调度(process schedule)

进程调度有两个思考角度:一、从一个进程角度看进程调度;二、从计算机整体角度看进程调度

进程角度

从进程自身角度看进程是如何被调度的

上图关键点:

1、进程P0与进程P1是两个并行的进程。所谓并行实际上是指对程序员(计算机使用者)并行,其实际的运行方式并不是同时进行的(多处理器情况除外)

2、进程从执行到空闲需要经过中断或系统调用。 中断:I/O设备等硬件。系统调用:可以认为就是陷入内核。分为进程程序主动要求陷入内核,或程序错误陷入内核

3、图中的省略号是值:内核在PCB(进程控制块)保存要进入空闲状态的进程的现场信息,此时是kernal mode。进程执行时是user mode

4、保存完现场后才可以切换下一个要执行的进程的状态信息,同时内核这个”大眼睛“将内存映射给新进程

5、每次进程的调度都是由操作系统来执行的,操作系统就是计算机的心脏

计算机整体——调度队列

计算机整体看计算机是如何整理调度内部所有的进程

上图关键点:

1、所有的进程都会放在队列中,这个队列称为作业队列

2、驻留在内存中就绪的等到运行的进程保存在就绪队列中,内核为CPU选择下一个进程就是从就绪队列中获取

3、等待特定I/O设备的进程列表称为设备队列,每个设备都有自己的设备队列,因为一个设备能同时给多个进程提供服务

4、一个进程只可能出现在一个队列里面(就绪队列、设备队列等各个队列都体现一种状态),但是所有的进程都在任务队列

队列图

队列图是表示进程调度一个常用的方法,在理解这个图之前需要补充一个知识

I/O请求和中断请求的关系:

1、I/O请求是由I/O设备需要输入输出导致的请求,中断请求是外围设备完成操作或紧急事件需要处理而向CPU发送的请求

2、I/O请求是由程序发起的,中断是由硬件设备发起

3、I/O设备准备号数据或者需要服务时会向CPU发送中断信号,这个中断信号也会让CPU暂停工作

4、虽然I/O操作可能导致中断产生,但是它们本身不是中断请求

 (进程状态变化关系表)

1、每个矩形块表示一个队列,右边四个矩形块都是处于等待状态

2、圆圈表示服务队列的资源(I/O、CPU),或导致进程发生队列变化原因(子进程执行、中断发生)

3、图中共有5个队列:I/O等待队列、时间片过期队列、分叉子进程队列、中断等待队列、就绪队列

调度程序

当计算机提交的进程多于可以立即执行的进程时,进程会被保存到大容量的存储设备(缓冲池),后续需要执行进程就要把进程从缓冲池中拿出来,而有一些进程本身就在就绪队列中,可以直接拿出来使用。为了调度这些进程,我们就需要在操作系统中存储一些调度程序

调度程序分为:

1、长期调度程序:从缓冲池中选择进程加到内存

2、短期调度程序:从准备执行(粗略可以认为是已经加载到内存中的进程)的进程中选择进程分配给CPU

为了让性能达到最佳,系统需要合理组合I/O密集型和CPU密集型

总结

本文到这里就结束啦~~这堂课的内容较为杂乱、复杂,但是学一学拓展一下知识是非常好的呀~~
如果觉得对你有帮助,辛苦友友点个赞哦~

知识来源:操作系统概念(黑宝书)、山东大学高晓程老师PPT及课上讲解。不要私下外传

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

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

相关文章

【网站项目】校园二手交易平台小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

力扣HOT100 - 189. 轮转数组

解题思路: 三次反转。 先反转一次,再根据 k 拆分成两部分各反转一次。 class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}pu…

相机参数的意义

相机标定的意义: 相机标定:使用带有pattern的标定板来求解相机参数的过程;用一个简化的数学模型来代表复杂的三维到二维的成像过程;相机参数包括:相机内参(焦距等),外参&#xff08…

[CUDA 学习笔记] 矩阵转置算子优化

矩阵转置算子优化 矩阵转置是一种基础的矩阵操作, 即将二维矩阵的行列进行反转. 本文主要围绕行主序的二维单精度矩阵的转置考虑相关的优化. 以下 kernel 笔者均是在 NVIDIA V100 (7.0 算力) 上进行测试的, 且选择矩阵的行列维度大小为 M2300 N1500. Version 0. 朴素实现 _…

处理慢查询时使用explain一般看哪些字段

explain之后会出现这些,一般就只看下面这几个字段 select_type就是查询类型,在我司的业务里基本上用的都是简单查询,在内存中处理逻辑,复杂查询的话排查问题比较麻烦,引起慢查询还会拖累数据库,数据库里还…

three.js尝试渲染gbl模型成功!(三)

参照教程:https://cloud.tencent.com/developer/article/2276766?areaSource102001.5&traceId88k805RaN_gYngNdKvALJ (作者:九仞山) 通过最近两天查three.js入门教程了解到 这玩应支持包括 .obj、.gltf等类型的模型结构。 g…

微服务-网关

在微服务架构中,每个服务都是一个可以独立开发和运行的组件,而一个完整的微服务架构由一系列独立运行的微服务组成。其中每个服务都只会完成特定领域的功能,比如订单服务提供与订单业务场景有关的功能、商品服务提供商品展示功能等。各个微服…

2.SpringBoot利用Thymeleaf实现页面的展示

什么是Thymeleaf? Thymeleaf是一个现代服务器端Java模板引擎,适用于Web和独立环境,能够处理HTML,XML,JavaScript,CSS甚至纯文本。 Thymeleaf的主要目标是提供一种优雅且高度可维护的模板创建方式。为实现这…

斐讯E1拆机焊接TTL救砖

从老家的柜子里翻出来一台斐讯E1,老家在用的是斐讯K2P,300M宽带,房间和大部分位置wifi5足够跑满了,一直懒得升级,也足够用了。 不过发现部分位置信号比较弱,都不到50M,考虑插上E1做个AP中继&…

106. 跑步锻炼(结果填空)

public class Main { public static void main(String[] args) { int startYear 2000; int startMonth 1; int startDay 1; // 周六 int endYear 2020; int endMonth 10; int endDay 1; // 周四 int totalDistance 0; // 计算开始日期到结束日期之间的每一天 …

Spring与SpringBoot的区别

Spring是一个开源的Java应用程序框架,旨在简化企业级Java应用程序的开发。它提供了一个轻量级的容器,用于管理应用程序中的各个组件(如依赖注入、AOP等),并提供了丰富的功能和模块,用于处理数据库访问、事务…

Acwing.4009 收集卡牌(期望dp)

题目 小林在玩一个抽卡游戏,其中有 n种不同的卡牌,编号为 1到 n。 每一次抽卡,她获得第 i种卡牌的概率为 pi。 如果这张卡牌之前已经获得过了,就会转化为一枚硬币。 可以用 k枚硬币交换一张没有获得过的卡。 小林会一直抽卡&…

智能面试——录音及播放下载js-audio-recorder — post请求,formdata传参

录音插件 js-audio-recorder bug&#xff1a;本地调试调取不起来麦克风 浏览器配置安全域名 chrome://flags/Insecure origins treated as secure输入域名即可电脑需要连接上耳机 <template><div class"BaseRecorder"><div class"BaseRecorder-r…

【UE5 C++】各个头文件的含义

#pragma once 预处理程序指令 作用&#xff1a;保护同一个文件不会被多次包含&#xff0c;使得头文件只会被编译一次&#xff0c; #include “CoreMinimal.h” 包含了一套来自UE4的核心编程环境的普遍存在类型 #include “GameFramework/GameModeBase.h” 基于GameModeBas…

应急响应-挖矿脚本检测指南威胁情报样本定性文件清除入口修复

一、演示案例-挖矿样本-Win&Linux-危害&定性 危害&#xff1a;CPU拉满&#xff0c;网络阻塞&#xff0c;服务器卡顿等 定性&#xff1a;威胁情报平台上传解析分析&#xff0c;文件配置查看等windows样本 linux样本 二、演示案例-Linux-Web安全漏洞导致挖矿事件 某公司…

Harmony鸿蒙南向驱动开发-Watchdog

看门狗&#xff08;Watchdog&#xff09;&#xff0c;又称看门狗计时器&#xff08;Watchdog timer&#xff09;&#xff0c;是一种硬件计时设备。一般有一个输入、一个输出&#xff0c;输入叫做喂狗&#xff0c;输出连接到系统的复位端。当系统主程序发生错误导致未及时清除看…

【带源码】如何开发一个视频打赏,付费观看视频的系统?

【带源码】如何开发一个视频打赏&#xff0c;付费观看视频的系统&#xff1f;开发指南来了 最近非常火爆的视频打赏系统&#xff0c;有用户端&#xff0c;管理端&#xff0c;代理端 风口来了&#xff0c;系统部署简单&#xff0c;需要详细部署教程的可以留下评论哦&#xff01…

Calico IPIP和BGP TOR的数据包走向

IPIP Mesh全网互联 文字描述 APOD eth0 10.7.75.132 -----> APOD 网关 -----> A宿主机 cali76174826315网卡 -----> Atunl0 10.7.75.128 封装 ----> Aeth0 10.120.181.20 -----> 通过网关 10.120.181.254 -----> 下一跳 BNODE eth0 10.120.179.8 解封装 --…

“FM”、“AM”信号如何解调?

同学们大家好&#xff0c;今天我们继续学习杨欣的《电子设计从零开始》&#xff0c;这本书从基本原理出发&#xff0c;知识点遍及无线电通讯、仪器设计、三极管电路、集成电路、传感器、数字电路基础、单片机及应用实例&#xff0c;可以说是全面系统地介绍了电子设计所需的知识…

蓝桥杯 每日2题 day4

碎碎念&#xff1a;好难好难&#xff0c;&#xff0c;发呆两小时什么也写不出来&#xff0c;&#xff0c;&#xff0c;周六大寄了 10.阶乘约数 - 蓝桥云课 (lanqiao.cn) 暴力跑了两个小时没出来结果&#xff0c;&#xff0c;去看题解要用数学&#xff1a;约数定理&#xff0c…