操作系统习题

是基于系统确定的某个策略,将主存中处于等待状态或就绪状态的某个或某些进程交换到外存交换区中,以便将外存交换区上具备运行条件的进程换入主存,准备执行。引入交换调度的目的是为了解决主存紧张和提高主存的利用效率。

7剥夺式调度

当一个进程正在执行时,系统基于某种策略强行将处理机从占有者进程剥夺而分配给另一个进程的调度。这种调度方式系统开销大,但系统能及时响应请求。

8非剥夺式调度

系统一旦把处理机分配给某个进程之后,该进程一直运行下去,直到该进程完成或因等待某个事件发生时,才将处理机分配给其他进程。这种调度方式实现简单,系统开销小,但系统性能不够好。

简答题

1作业由哪几部分组成?各有什么功能?

答:作业由三部分组成:程序、数据和作业说明书。

程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。

2试比较作业和进程的区别

答:一个进程是一个程序对某个数据集的执行过程,是分配资源的单位。作业是用户需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。而进程是已提交完毕的程序所执行过程的描述,是资源分配的基本单位。 其主要区别关系如下:

(1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在内存中。 (2)一个作业可由多个进程组成。且必须至少由一个进城组成,但反过来不成立。

(3)作业的概念主要用在批处理系统中。像UNIX这样的分时系统中,则没有作业概念。则进程的概念则用在几乎所有的多道程序系统中。

3高级调度与低级调度的主要功能是什么?为什么要引入中级调度?

答:高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入/输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后做善后处理工作。

低级调度的主要功能是根据一定的算法将cpu分派给就绪队列中的一个进程。 为了使内存中同时存放的进程数目不至于太多,有时需要把某些进程从内存移到外存上,以减少多道程序的数目,为此设立了中级调度.

4处理机调度一般分为哪三级?其中哪一级调度必不可少?为什么?

答:处理机调度一般可分为高级调度(作业调度)、中级调度和低级调度(进程调度) 。其中进程调度必不可少 。

进程只有在得到CPU之后才能真正活动起来,所有就绪进程经由进程调度才能获得CPU的控制权。实际上,进程调度完成一台物理的CPU转变成多台虚拟机(或逻辑)的CPU的工作,进程调度的实现策略往往决定了操作系统的类型,其算法优劣直接影响整个系统的性能。

5作业调度与进程调度之间有什么差别?二者间如何协调工作?

答:作业调度与进程调度之间的差别主要是:作业调度是宏观调度,它所选择的作业只是具有获得处理机的资格,但尚未占有处理机,不能立即在其上实际运行;而进程调度是微观调度,动态地把处理机实际地分配给所选择的进程,使之真正活动起来。另外,进程调度相当频繁,而作业调度执行的次数一般很少。

作业调度从外存的后背队列中选择一批作业调入内存,为它们创建进程,这些进程被送入就绪队列。进程调度从就绪队列中选出一个进程来,并把它的状态改为运行态,把cpu分配给它。当运行进程要等待某一事件时,就让出cpu,进入相应的阻塞队列,并进行进程调度。运行进程完成后,由作业调度进行善后处理工作。

综合题

1假定在单CPU条件下要执行的作业如下表所示。

表 作业列表

作 业 运 行 时 间 优 先 级 1 10 3 2 1 1 3 2 3 4 1 4 5 5 2

作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。 ①用一个执行时间图描述使用非抢占式优先级算法时各自执行这些作业的情况: ②对于该算法,各个作业的周转时间是多少?平均周转时间是多少?

③对于该算法,各个作业的带权周转时间是多少?平均带权周转时间是多少? 解:⑴ 非抢占式优先级

J1 J4 J3 J5 J2 0 10 11 13 18 19 (3’) ⑵和⑶ 非抢占式优先级 (`7’=1’*7) JOB ts tr te T W J1 0 10 10 10 1 J2 1 1 19 18 18 J3 2 2 13 11 5.5 J4 3 1 11 8 8.0 J5 4 5 18 14 2.8

T

W

12.2 2.06

2在一个有两道作业的批处理系统中,作业调度采用短作业优先级调度算法,进程调度采用抢占式优先级调度算法。设作业序列如表4-9所示。 表4-9 作业列表

作业名 到达时间 预估计时间(分钟) 优先数 A 8:00 40 10 B 8:20 30 5 C 8:30 50 8 D 8:50 20 12

其中给出的作业优先数即为相应进程的优先数。其数值越小,优先级越高。要求: ①列出所有作业进入内存的时间及结束时间。 ②计算平均周转时间和平均带权周转时间。 解:①

8:00 8:20 8:30 8:50 9:10 10:00 10:20

(4’)

② (`6’=1’*6) JOB ts tsr te T A 8:00 8:00 9:10 70 B 8:20 8:20 8:50 30 C 8:30 9:10 10:00 90 D 8:50 8:50 10:20 90

D C B A T

W

70 2.2625

3有A、B、C、D、E,共5个待运行作业,各自估计的运行时间为9,6,3,5,x。试问采用哪种运行次序使得平均响应时间为最短?(答案依赖于x) 解答:

由于短作业优先调度算法可以使作业的平均周转时间最短,同样使作业的平均响应时间为最短。 (5’) 下面对x的取值进行讨论:(`5’=1’*5)

当09,作业的运行顺序应为C(3),D(5),B(6),A(9),E(x)

4有一个具有如下作业流的批处理处理系统,作业调度采用短作业优先,进程调度采用基于优先数的抢先式调度算法。下表给出的是作业序列和相应进程的优先数,优先数越小优先级越高。

作业名 到达时间 估计运行时间/min 优先数 1 8:00 40 4 2 8:20 30 2 3 8:30 50 3 4 8:50 20 5 (1) 列出所有作业进入内存时间及完成时间

(2) 计算作业的平均周转时间和平均带权周转时间 解答:

(1)作业进入内存时间与结束时间如下所示:(`4’=1’*4) 作业名 进入内存时间 结束时间 1 8:00 9:10 2 8:20 8:50 3 9:10 10:00

4 8:50 10:20 (2)各作业的周转时间为: (`4’=1’*4) 作业A:9:10 – 8:00 = 70 min 作业B:8:50 – 8:20 = 30 min 作业C:10:00 – 8:30 = 90 min

作业D:10:20 – 8:50 = 90 min

作业的平均周转时间为:(70+30+90+90)/4=70 min (1’)

作业的平均带权周转时间为:(70/40+30/30+90/50+90/20)/4=2.26 min (1’)

第五章—存储管理

名词解释

1物理地址

内存中各存储单元的地址由统一的基地址顺序编址,这种地址称为物理地址。

2逻辑地址

用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为逻辑地址。

3逻辑地址空间

由程序中逻辑地址组成的地址范围叫做逻辑地址空间。

联系客服:779662525#qq.com(#替换为@)