概念
1、进程实体由哪几部分构成?
进程的实体是由三部分组成的:程序,数据结构,进程控制块。
2、进程控制块的组织方式由哪几种:
组织方式有三种:线性方式(线性表),链接方式(链接队列),索引方式(索引表)。
进程控制块(PCB,Process Control Block)
为了使参与并发执行的每个程序,包含数据都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(PCB,Process Control Block)。进程与PCB是对应的,用户进程不能修改。
评价指标
1. 周转时间:从进程提交开始,到完成为止这段时间间隔(仅考虑进程在就绪队列上的等待时间和进程在CPU上的执行时间);
2. 平均周转时间:所有进程的周转时间之和除以进程总数;
3. 带权周转时间:进程的周转时间除以系统为它服务的时间;
4. 平均带权周转时间:所有进程的带权周转时间之和除以进程总数。
//第一个进程,开始时间 = 到达时间
//开始时间 = 上一个进程的完成时间
//完成时间 = 开始时间 + 服务时间
//周转时间 = 完成时间 - 到达时间
//带权周转时间 = 周转时间 / 服务时间
2.1 进程的定义和特征
进程的特征和定义
在多道程序设计的环境下,为了描述程序在计算机系统内的执行情况,必须引入新的概念——进程。
进程的定义
进程:程序关于某个数据集合的一次执行过程。
2 实验准备
进程的特征(与程序比较)
结构特征
进程控制块(PCB) + 程序 + 数据 = 进程实体
动态性——最基本特征
进程:进程实体的一次执行过程,有生命周期。
程序:程序是一组有序指令的集合,是静态的概念。
并发性
独立性
异步性
2.2 进程的三种基本状态
就绪状态(Ready)
进程已获得除CPU之外的所有必需的资源,一旦得到CPU控制权,立即可以运行。
运行状态(Running)
进程已获得运行所必需的资源,它的程序正在处理机上执行。
阻塞状态(Blocked)
正在执行的进程由于发生某事件而暂时无法执行时,便放弃处理机而处于暂停状态,称该进程处于阻塞状态或等待状态。
就绪队列与阻塞队列
进程的三种基本状态以及各状态之间的转换关系
2.3 进程管理中的数据结构
进程控制块的作用
存放进程管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,在创建时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。PCB就像我们的户口。
PCB是进程存在的唯一标志。系统的所有PCB组织成链表或队列,常驻内存的PCB区。
2 实验准备
2.3 进程管理中的数据结构
进程控制块的组织方式
线性方式
链接方式
索引方式
2.4 存储形式
结构体,数组(链表)
PCB中要包含资源信息:包括标识、进入系统时间、需要运行时间等
先来先服务FCFS和短作业优先SJF进程调度算法
FCFS调度算法(先来先服务First come first serve)
先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。
SJF调度算法(短进程优先Short process first)
短作业(进程)优先调度算法SJ(P)F,是指对短作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。短作业优先(SJF)的调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。而短进程优先(SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再重新调度。
该算法对长作业不利,如果有一长作业(进程)进入系统的后备队列(就绪队列),由于调度程序总是优先调度那些(即使是后进来的)短作业(进程),将导致长作业(进程)长期不被调度。
该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理。
由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。
算法对比
FCFS只考虑到达时间进CPU;比较有利于长作业(进程),而不利于短作业(进程)。
SPF认为到达时间相同;该算法对长作业不利,完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理