前言:
今天朋友们对“c语言优先级调度算法”都比较关心,各位老铁们都需要分析一些“c语言优先级调度算法”的相关资讯。那么小编也在网上汇集了一些关于“c语言优先级调度算法””的相关资讯,希望看官们能喜欢,大家一起来学习一下吧!进程管理
引入进程的目的
为了更好地描述和控制程序并发执行,实现操作系统的并发性和共享性(进程是动态的,程序是静态的)
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语言优先级调度算法