龙空技术网

操作系统 进程调度及处理机调度知识点框架

司梵凰 139

前言:

今天朋友们对“c语言优先级调度算法”都比较关心,各位老铁们都需要分析一些“c语言优先级调度算法”的相关资讯。那么小编也在网上汇集了一些关于“c语言优先级调度算法””的相关资讯,希望看官们能喜欢,大家一起来学习一下吧!

OS

进程管理

引入进程的目的

为了更好地描述和控制程序并发执行,实现操作系统的并发性和共享性(进程是动态的,程序是静态的)

2.定义

是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位

3.组成

(1)PCB :保存进程运行期间相关的数据,是进程存在的唯一标志

(2)程序段:能被进程调度到 CPU 的代码

(3)数据段:存放数据

4.进程的状态

(1)状态种类

①运行态:进程正在占用 CPU

②就绪态:进程已处于准备运行的状态,即进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行

③阻塞态:进程由于等待某一事件不能享用 CPU

④创建状态:进程正在被创建

⑤结束状态:进程正在从系统消失

(2)状态变化

①就绪态﹣>运行态:处于就绪态的进程被调度后,获得处理机资源(分派处理机时间片)

②运行态﹣>就绪态:时间片用完或在可剥夺系统中有更高级的进程进入

③运行态>阻塞态:进程需要的某一资源还没有准备好

④阻塞态>就绪态:进程等待的事件到来时

状态转换图

5.线程

(1)引入目的:为了更好的使用多道程序并发执行,提高资源利用率和系统吞吐量

(2)资源:是程序执行的最小单位,基本不拥有仟何系统特点(调度的基本单位)

(3)程序、进程的区别

①进程是动态的,程序是静态的,程序是有序代码的集合

②进程是程序的执行

③进程是暂时的,程序是永久的,进程是一个状态变化的过程,程序可长久保存

④进程与程序的组成不同,进程的组成包括程序、数据和进程控制块(即进程状态信息)

进程管理

处理机调度

1.概念:是对处理机进行分配,即从就绪队列中按照给定的算法(公平、高效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。

2.分类

(1)高级调度(作业调度)(次数少)

(2)中极调度(内存对换)(次数中等)

(3)低级调度(进程调度)(次数多)

3.调度方式:剥夺式、非剥夺式

4.调度准则: CPU 利用率、系统吞吐量、周转时间、等待时间、响应时间

5.算法

(1)先来先服务( FCFS 调度算法, FIFO 算法)

(2)短作业优先 SPF (抢占式和非抢占式)(会产生饥饿)

(3)优先级调度算法(有剥夺式和非剥夺式)

(4)高响应比优先调度算法(优先权=(等待时间+要求服务时间)/要求服务时间)

(5)时间片轮转

(6)多级反馈队列调度算法

6.等待时间与服务时间之和就是系统对该作业的响应时间(即周转时间)

7.公式

(1)周转时间=等待时间+运行时间(即作业完成时刻﹣作业到达时刻)

(2)带权周转时间=周转时间/运行时间

(3)平均周转时间=作业周转总时间/作业个数

(4)平均带权周转时间=带权周转总时间/作业个数

处理机调度

标签: #c语言优先级调度算法