(2)就绪态(Ready):进程具备运行条件,但尚未占用CPU; (3)阻塞态(Blocked):进程由于等待某一事件不能享用CPU。 2)进程状态的转换 (1)就绪态->运行态 (2)运行态->就绪态 (3)运行态->阻塞态 (4)阻塞态->就绪态
5、进程是由哪些部分组成,进程控制块的作用
1)进程的组成:由程序、数据集合和PCB三部分组成。 2)进程控制块的作用:进程控制块是进程组成中最关键的部分。 (1)每个进程有唯一的PCB。
(2)操作系统根据PCB对进程实施控制和管理。 (3)进程的动态、并发等特征是利用PCB表现出来的。 (4)PCB是进程存在的唯一标志。 6、PCB组织方式
线性队列、链接表、索引表
7、进程的同步与互斥1)同步:是进程间共同完成一项任务时直接发生相互作用的关系。2)互斥:排它性访问即竞争同一个物理资源而相互制约。
8、什么是临界资源、临界区?
1)临界资源:一次仅允许一个进程使用的资源。 2)临界区:在每个进程中访问临界资源的那段程序。 3)互斥进入临界区的准则:
(1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 (2)任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
(3)进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
(4)如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。 9、信号量
1)信号量定义:信号量(信号灯)=<信号量的值,指向PCB的指针> 2)信号量的物理意义:
(1)信号量的值大于0:表示当前资源可用数量 小于0:其绝对值表示等待使用该资源的进程个数 (2)信号量初值为非负的整数变量,代表资源数。 (3)信号量值可变,但仅能由P、V操作来改变。 10、P/V操作原语 1)P操作原语P(S)
(1)P操作一次,S值减1,即S=S-1(请求分配一资源);
(2)如果S≥0,则该进程继续执行;如果S<0表示无资源,则该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至另一个进程执行V(S)操作)。
2)V操作原语(荷兰语的等待)V(S)
(1)V操作一次,S值加1,即S=S+1(释放一单位量资源);
(2)如果S>0,表示有资源,则该进程继续执行;如果S≤0,则释放信号量队列上的第一个PCB所对应的进程(阻塞态改为就绪态),执行V操作的进程继续执行。
11、进程间简单同步与互斥的实现 1)用P,V原语实现互斥的一般模型 设互斥信号量mutex初值为1
2)用P、V原语操作实现简单同步的例子
S1缓冲区是否空(0表示不空,1表示空),初值S1=0; S2缓冲区是否满(0表示不满,1表示满),初值S2=0;
3)生产者——消费者问题(OS典型例子):mutex互斥信号量,初值为1;full满缓冲区数,初值为0;empty空缓冲区数,初值为N;
第三章处理机调度与死锁
处理机调度级别
1.调度:选出待分派的作业或进程 2.处理机调度:分配处理机
3.三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)
作业状态
1.作业状态分为四种:提交、后备、执行和完成。 2.作业状态变迁图:
作业调度和调度的功能 1.作业调度的任务
后备状态→执行状态执行状态→完成状态 2.作业调度的功能
1)记录系统中各个作业的情况
2)按照某种调度算法从后备作业队列中挑选作业 3)为选中的作业分配内存和外设等资源 4)为选中的作业建立相应的进程 5)作业结束后进行善后处理工作 进程调度和调度的功能
1.进程调度:后备状态→执行状态
2.进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志 3.进程调度的功能:保存现场、挑选进程、恢复现场
两级
调业程别
度模型作调度和进调度的区
为进程活动做准备,即作业调度(宏观调度) 调度次数 有获得处理机的资格 有的系统不设作业调度 使进程活动起来,即分进程调度(微观调度) 调度频率高 配得到了处理机 评价调度算法的指标
进程调度必不可少 调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间
1.吞吐量:单位时间内CPU完成作业的数量 2.周转时间:
1)周转时间=完成时刻-提交时刻 2)平均周转时间=周转时间/n
3)带权周转时间=周转时间/实际运行时间 4)平均带权周转时间=带权周转时间/n 简单的调度算法 1.先来先服务(FCFS)
调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。用于进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。例如设有三个作业,编号为1,2,3。各作业分别对应一个进程。各作业依次到达,相差一个时间单位。①图示出采用FCFS方式调度时这三个作业的执行顺序
②算出各作业的周转时间和带权周转时间 作业 1 2 3 到运开完周带权达时间 行时间 始时间 成时间 转时间 周转时间 0 1 2 24 3 3 0 24 27 24 27 30 24 26 28 1 8.67 9.33 平均周转时间T=26平均带权周转时间W=6.33 2.时片轮转(RR)
调度法的实现
间
算思
想:系统把所有就绪进程按先进先出的原则排成一个队列。新来的进程加到就绪队列末尾。
每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。当时间片到,产生时钟中断
,调度程序便停止该进程的运行,并把它放入就绪队列末尾,然后,把CPU分给就绪队列的队首进程。
时间片:是一个小的时间单位,通常10~100ms数量级。
例如设四个进程A、B、C和D依次进入就绪队列(同时到达),四个进程分别需要运行12、5、3和6个时间单位。
①图示RR法时间片q=1和q=4示进程运行情况
②算出各进程的周转时间和带权周转时间 3.优先级调度算法的实现思想:
从就绪队列中选出优先级最高的进程到CPU上运行。 1)两种不同的处理方式:非抢占式优先级法、抢占式优先级法 2)两种确定优先级的方式:静态优先级、动态优先级 例如假定在单CPU条件下有下列要执行的作业: 作业 1 2 3 4 5 运行时间 10 1 2 1 5 优先级 3 1 3 4 2 ①用执行时间图描述非强占优先级调度算法执行这些作业的情况
计算机操作系统复习提纲



