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

目录

回顾

[进程调度(process schedule)](#进程调度(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及课上讲解。不要私下外传

相关推荐
daanpdf9 小时前
考研英语一历年真题及答案解析PDF(2010-2026)百度网盘
考研·pdf
05候补工程师10 小时前
【408狂飙·数据结构】核心考点深度复盘:数组地址计算、特殊矩阵压缩存储与树的五大性质解题直觉
数据结构·笔记·线性代数·考研·算法·矩阵
daanpdf11 小时前
历年考研数学一、数学二、数学三真题试卷及答案PDF
考研·pdf
如君愿13 小时前
考研复习 Day 38 | 密码学--第三章 古典密码
考研·密码学·课后习题
sulikey1 天前
个人Linux操作系统学习笔记2 - gcc与库的理解
linux·笔记·学习·操作系统·gcc·
蒟蒻的贤1 天前
编译原理里的冲突到底是什么?
考研·算法
手可摘星辰的少年1 天前
Ext2文件系统核心结构详解:超级块、位图、Inode与多级间接块
操作系统
星马梦缘1 天前
操作系统实验5 —— 进程互斥
linux·操作系统·进程互斥
荒原之梦网2 天前
在不确定的命题环境中,如何建立稳定的考研数学备考体系
考研·考研数学·荒原之梦考研数学
iCxhust2 天前
从裸机到微内核:8088单板机微型操作系统规划设计
操作系统·课程设计·微机原理·8086最小系统·8088单板机