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

简介: 操作系统(第四周 第一堂)



回顾

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

对进程的了解包含以下几个方面: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及课上讲解。不要私下外传

相关文章
|
15小时前
|
消息中间件 算法 调度
操作系统(第四周 第二堂)
操作系统(第四周 第二堂)
|
15小时前
|
监控 NoSQL Unix
操作系统总结(第二周 第一堂)
操作系统总结(第二周 第一堂)
|
15小时前
|
Unix API
操作系统(第三周 第一堂)
操作系统(第三周 第一堂)
|
15小时前
|
NoSQL 安全 Shell
操作系统(第二周 第二堂)
操作系统(第二周 第二堂)
|
15小时前
|
存储 Unix Shell
操作系统(第三周 第二堂)
操作系统(第三周 第二堂)
|
15小时前
|
存储 Unix Linux
计算机操作系统-第六天
计算机操作系统-第六天
计算机操作系统-第六天
|
15小时前
|
存储 安全 程序员
计算机操作系统-第四天
计算机操作系统-第四天
|
15小时前
|
存储
计算机操作系统-第十二天
计算机操作系统-第十二天
|
8月前
|
边缘计算 监控 安全
2021爱智先行者-爱智操作系统(EdgerOS)与精灵一号(Spirit1)
2021爱智先行者-爱智操作系统(EdgerOS)与精灵一号(Spirit1)
189 0
|
9月前
|
Linux Shell 调度
期中总结【操作系统】
期中总结【操作系统】
42 0