1、处理机管理、存储器管理、设备管理、文件管理和_. 18所谓多道程序的_是指在宏观上是同时进行的,但在微观上仍是顺序执行的过程。 19操作系统提供给编程人员的唯一接口是_. 20操作系统的基本类型是_、_、_. 21所谓_,是一块能控制一台或多台外围设备与CPU并行工作的硬件。 22. 操作系统的基本特征_、_、 _、_。 23. 操作系统是系统软件的一种,在进行系统安装时可以先安装其他软件,然后再装操作系统。 24. 实时系统在响应时间、可靠性及交互作用能力等方面一般都比分时系统要求高。 第二章练习题 操作系统中进程的状态有许多种,但最基本的代表其生命周期的三种状态为、。这三种状态间的转换称为
2、。 一作业进入内存后,则所属该作业的进程初始时处于(C ) A、运行状态 B、等待状态C、就绪状态 D、收容状态 进程所请求的一次打印输出结束后,将使进程( D) A、运行状态变为就绪状态B、运行状态变为等待状态 C、就绪状态变为运行状态D、等待状态变为就绪状态 若当前进程因时间片用完而让出处理机时,该进程应转变为( A ) 状态。 A.就绪 B.等待 C.运行 D.完成 进程有多个状态,他们之间可以相互转化,但不会发生以下哪个转化( D )A、就绪态到运行态B、运行态到阻塞态C、阻塞态到就绪态D、就绪态到阻塞态 当一个进程完成了特定的任务后,系统收回这个进程所占的_资源_和取消该进程的_PC
3、B_就撤消了该进程。 某系统有如下的状态变化图: 试将图中发生的状态变化的具体原因填入下表的相应栏内。 变化 变化原因例1:一个阅览室最多可以容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记,而且每次只允许一个人进行登记操作,请用记录型信号量机制实现上述问题的同步。 课堂练习 操作系统的定义 操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。 操作系统的基本职能是。 A、控制和管理系统内各种资源,有效地组织多道程序的运行 B、提供用户界面,方便用户使用 C、提供方便的可视化编辑程序 D、提供功能强大的网络管理工具 操
4、作系统的基本特征_并发_、_共享_、_虚拟_、_异步_。 操作系统中引入“进程”概念的主要目的。 A、改善用户编程环境 B、描述程序动态执行过程的性质 C、使程序和计算过程一一对应 D、提高程序的运行速度 某进程于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将。 A、从就绪变为运行 B、从运行变为就绪 C、从运行变为阻塞 D、从阻塞变为就绪 判断对错并改正 进程控制块是专为用户进程设置的私有数据结构,每个进程仅有一个PCB。 简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。 1、进程间相互合作的关系是_同步_关系,而对资源争用的关系是 _互斥
5、_关系。若干进程使用同一临界资源时必须_互斥_执行。 2、对信号量S每执行一次P操作,则信号量S的值就_减1_。当S的值_ 小于0_时,执行P操作的进程的状态就置为阻塞态,把相应的PCB连入该信号量队列的_末尾_,并且该进程_放弃_处理机。 3.解答题: 进程和程序的主要区别是什么? (1)程序是一个静态的概念,而进程是一个动态的概念。 (2)程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。 (3)进程具有并发性,而程序具有顺序性。 (4)进程是资源分配和调度的基本单位 (5)一个程序对应多个进程,一个进程为多个程序服务 4.有两个用户进程A和B,在运行过
6、程中都要使用系统中的一台打印机输出计算结果。 说明A、B进程之间存在什么样的制约关系? 为保证这两个进程都能正确打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。 mutex:用于互斥的信号量,初值为1. 各进程代码如下: 进程A进程B ? ? PP 使用打印机; 使用打印机; V V ? ? 5.设自行车生产车间有两个货架,货架A可以存放8个车架,货架B可以存放20个车轮;又设有4个工人,他们的活动是重复劳动,分别为:工人1 加工一个车架放入货架A中;工人2、3分别加工车轮放入货架B中;工人4从货架A中取一个车架,再从货架B中取两个车轮
7、,组装成一辆自行车。试用PV操作实现四个工人的合作。 【分析】设置资源信号量和互斥信号量如下: 信号量Aempty表示货架A的空位数,其初值为8; 信号量Afull表示货架A上存放的车架数,其初值为0; 信号量Bempty表示货架B的空位数,其初值为20; 信号量Bfull表示货架B上存放的车轮数,其初值为0; 信号量mutex用于互斥。 BEGIN semaphore Aempty, Afull, Bempty, Bfull, mutex; Aempty := 8; Bempty := 20; Afull := 0; Bfull : mutex :=1; PARBEGIN Worker1:
8、beginrepeat 生产1个车架; P (Aempty) ; /看看货架A上是否有空位置车架放到货架A; V (Afull) ; /货架A上的车架数增1(通知工人4)until false end Worker2、3: beginrepeat 生产1个车轮; P (Bempty) ; /看看货架B上是否有空位置 P (mutex) ; 车轮放到货架B; V (Bfull) ; /货架B上的车轮数增1(通知工人4)V (mutex) ;until false end Worker4: beginrepeat P (Afull) ; /在货架A上取1个车架 P (Bfull) ; P (Bfu
9、ll) ; /在货架B上取2个车轮 取1个车架;取2个车轮; V (Aempty) ; /货架A上的空位数增1(通知工人1) V (Bempty) ; V (Bempty) ; /货架B上的空位数增2(通知工人2、3) 组装一辆自行车;until false end PAREND END 第三章 例3-1:有如下三道作业。系统为它们服务的顺序是:1、2、3.求平均周转时间和平均带权周转时间。 作业 提交时间/时 运行时间/h 1 2 3 作业 提交时运行时开始时完成时间 周转时带权周转间 间 间 间 时间 1 2 3 2 1 10 122 2/22 1 29 /1 3 3/ 13 例3-2:假
10、定在单CPU条件下有下列要执行的作业。作业到来的时间是按作业编号顺序进行的。 用一个执行时间图描述在采用抢占方式优先算法时执行这些作业的情况。 对于上述算法,各作业的周转时间、平均周转时间、带权周转时间及平均带权周转时间分别是多少? 作业 1 2 3 运行时间/h 10 4 3 优先级 2 3 5 【例3-3】 设在单道系统中用FCFS算法调度如下作业,请完成下表。 FCFS算法比较有利于长作业,不利于短作业。 有利于CPU繁忙型作业,不利于I/O繁忙型作业因非抢占式 【例3-4】 设在单道系统中用SJF算法调度如下作业,请完成下表。 进程名 A B 9:10 C 9:30 D 10:00 E
11、 10:15 平 均 到达时间 9:00 服务时间 30分钟 1小时 完成时间 9:30 10:40 周转时间 30min 90min 10分钟 50分钟 20分钟9:40 10min 1 11:50 110min11:00 45min61min 带权周转时 1 间 例3-5:有一个内存中只能装入2道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。有如下表所示的作业序列,表中所列的优先数是指进程调度的优先数,且优先数越小优先级越高。 列出所有作业进入内存的时刻及结束的时刻。 计算作业的平均周转时间。 作业名 A B C D 到达时间 10:00
12、10:20 10:30 10:50 估计运行时间 40分 30分 50分 20分 优先数 5 3 4 6 作业名 到达时间 估计运行时间 A B C D 10:50 40分 30分 50分 20分 优先数 进入内存时间 5 3 4 6 结束时间 A、B、C、D的周转时间分别为:70分、30分、90分、90分,则平均周转时间为70分钟。 练习题 1下列各项中,不是进程调度时机的是C。 现运行的进程正常结束或异常结束 B. 现运行的进程从运行态进入就绪态 C. 现运行的进程从运行态进入等待态 D. 现运行的进程从等待态进入就绪态 2采用时间片轮转调度算法主要是为了 A 。 A.多个终端都能得到系统
13、的及时响应 B.先来先服务 C.优先权高的进程及时得到调度 D.需要CPU时间最短的进程先做 3在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于_C_ 。 A.进程相应的程序段的长度 B.进程总共需要运行时间多少 C.进程自身和进程调度策略 D.进程完成什么功能 4一种既利于短小作业又兼顾到长作业的作业调度算法是_C_。 A.先来先服务 B. 轮转 C.最高响应比 D.均衡调度 5下列因素中, C 不一定是引起进程调度的因素。 A一个进程运行完毕 B运行进程被阻塞 C一个高优先级进程被创建 D实时调度中,一个紧迫的任务到来 6若进程P一旦被唤醒就能投入运行,则系统可能是
14、 D。 A分时系统,进程P的优先级最高 B抢占式调度方式,就绪队列上的所有进程的优先级皆比P低 C就绪队列为空队列 D抢占式调度方式,P的优先级高于当前运行的进程 7在分时系统中,若当前运行的进程连续获得了两个时间片,原因可能是 B 。 A该进程的优先级最高 B就绪队列为空 C该进程最早进入就绪队列 D该进程是一个短进程 8下列进程调度算法中,_A_可能会出现进程长期得不到调度的情况。 A静态优先权法 B抢占式调度中采用动态优先权算法 C分时处理中的时间片轮转调度算法 D非抢占式调度中采用FIFO算法 9在采用动态优先权的调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际
15、上和_A_调度算法相同。 A先来先服务 B短作业优先 C时间片轮转 D长作业优先 10.设在内存中有P1,P2两道程序,并按照P1,P2的次序运行,其内部计算和I/O操作的时间分别如下: P1:先计算60ms,然后I/O80ms,最后再计算20ms P2:先计算120ms,然后I/O40ms,最后再计算40ms 调度程序的执行时间不计,在多道批处理系统中,完成这两道程序比单道批处理系统节约的时间是_A_. A. 100ms B. 120ms D. 200ms 银行家算法之例 设系统中有5个进程P0,P1,P2,P3,P4和3类资源A,B,C,各类资源总数分别为10、5、7,在T0时刻的资源分配
16、情况如下表所示:P0 P1 P2 P3 P4 Max A B C 7 5 3 3 2 2 9 0 2 2 2 2 4 3 3 Allocation A B C 0 1 0 2 0 0 3 0 2 2 1 1 0 0 2 Need A B C 7 4 3 1 2 2 6 0 0 0 1 1 4 3 1 Available A B C 3 3 2 T0时刻系统是否安全,为什么? P1发出请求向量Request1,分析系统是否可同意请求。 P4发出请求向量Request4,分析系统是否可同意请求。 P0发出请求向量Request0,分析系统是否可同意请求。 在中,若P0发出请求向量Request0,
17、系统是否可同意请求。回答问题 T0时刻系统是否安全,为什么?P0 P1 P2 P3 P4 Max A B C 7 5 3 3 2 2 9 0 2 2 2 2 4 3 3 Allocation A B C 0 1 0 2 0 0 3 0 2 2 1 1 0 0 2 Need A B C 7 4 3 1 2 2 6 0 0 0 1 1 4 3 1 Available A B C 3 3 2P1 P3 P4 P0 P2 Work Work+Allocation A B C ABC 3 3 2 5 3 2 7 4 3 7 4 5 7 5 5 532 743 745 755 1057 Finish tr
18、ue true true true true P1发出请求向量Request1,按银行家算法,系统是否同意请求? Request1(1,0,2)Need1(1,2,2) Request1(1,0,2)Available(3,3,2) 系统先假定可为P1分配资源,并修改Available, Allocation1和Need1向量,此形成资源变化情况如图P0 P1 P2 P3 P4 Max A B C 7 5 3 3 2 2 9 0 2 2 2 2 4 3 3 Allocation A B C Need A B C Available A B C 0 1 0 7 4 3 3 3 2 2 0 0 1
19、 2 23 0 2 6 0 0 2 1 1 0 1 1 0 0 2 4 3 1再利用安全性算法检查此时系统是否安全。 即存在安全序列P1,P3,P4,P0,P2,故系统是安全的,可以立即将P1所申请的资源分配给它。 实际上,(1)中的安全序列中的第一个进程就是P1,当然对P1的请求可以满足。 P4发出请求向量Request4(3,3,0),按银行家算法,分析系统是否可同意请求。 Request4(3,3,0)Need4(4,3,1) Request4(3,3,0)Available(2,3,0),让P4等待。 P0发出请求向量Request0,按银行家算法,分析系统是否可同意请求。 Reque
20、st0(0,2,0)Need0(7,4,3) Request0(0,2,0)Available(2,3,0) 系统暂时先假定可为P0分配资源,并修改有关数据 Max A B C Allocation A B C Need A B C Available A B C P0 P1 P2 P3 P4 5 3 3 2 2 9 0 2 2 2 2 4 3 3 0 1 0 3 0 2 3 0 2 2 1 1 0 0 2 7 4 3 2 3 00 2 0 6 0 0 0 1 1 4 3 1进行安全性检查 P0 P1 P2 P3 P4 Max A B C 7 5 3 3 2 2 9 0 2 2 2 2 4 3
21、 3 Allocation A B C 0 3 0 3 0 2 3 0 2 2 1 1 0 0 2 Need A B C 7 2 3 0 2 0 6 0 0 0 1 1 4 3 1 Available A B C 2 1 0 可用资源Available(2,1,0)已不能满足任何进程的需要,系统进入不安全状态,故系统不能同意P0的请求,让其阻塞。 练习1:3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问该系统是否会因为竞争该资源而死锁? 解:该系统不会因为竞争该资源而死锁。因为必有1个进程可获得2个资源,顺利完成其任务,其后可释放出占用的2个资源给其他进程使用,使他们顺利完成。n
22、个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n,说明该系统不会因竞争该类资源而阻塞。用Maxi、Needi和Allocationi分别表示第i个进程对该类资源的最大需求量,需求量以及已分配的量,根据题意它们满足下述条件: 0i n若系统已因竞争该资源而进入死锁状态,则意味着已有一个以上的进程因申请不到该类资源而无限阻塞,而m个资源肯定已全部分配出去,即: n =mii=1 nnn因此: =-Need?Max?Allocation?Need?Need这样,至少必须存在1个进程,其Needi0,这与题意不符,所以该系统不会因竞争该类资源而进入死锁
23、状态。 在中,如果没有“每个进程都需要用该类资源”的限制,情况又如何?此时系统可能会发生死锁。假设n=4,m=3,P1的Max为0,而其余3个进程的Max都为2,则仍然满足最大需求量之和小于m+n的要求,当除了P1以外的其余3个进程各得到1个资源时,这3个进程就可能进入死锁状态。 练习2:在银行家算法中,若出现下面的资源分配情况:P0 P1 P2 P3 P4 Allocation Need Available A B C D A B C D A B C D 0 0 3 2 1 0 0 0 1 3 5 4 0 0 3 2 0 0 1 4 0 0 1 2 1 6 2 2 1 6 5 0 2 3 5
24、 6 0 6 5 2 0 6 5 6 试问:该状态是否安全? 当进程P2提出请求Request后,系统能否将资源分配给它? 如果系统立即满足P2的上述请求,则系统是否立即进入死锁状态? 解:利用安全性检查算法对上面的状态进行分析,可找到一个安全序列P0, P1,P3,P4,P2,故系统是安全的。 P2发出请求向量后,系统按银行家算法进行检查,在进行试分配后,进行安全性检查时发现:此时对于所有进程,Available不能满足任何进程的请求,故系统不进行资源分配。 系统立即满足进程P2的请求后,并没有马上进入死锁状态。因为:此时其他进程并没有申请新的资源,并因得不到资源而进入阻塞状态;只有当上述的
25、其他进程提出新的请求,并导致所有没有执行完的多个进程因得不到资源而阻塞并形成循环等待链时,系统才进入死锁状态。 第四章 例:在某系统中,采用固定分区分配管理方式,内存分区情况如图所示,现有大小为1K、9K、33K、121K的多个作业要求进入内存,试画出它们进入内存后的空间分配情况,并说明主存浪费多大? 0k 20k 28k 60k 180k 内存分区图 os 1 2 3 4 区号 大小 1 2 3 4 8k 32k 120k 331k 起址 20k 28k 60k 180k 状态 未分配 未分配 未分配 未分配 解:根据分区说明表,给4个作业分配分区,同时修改分区说明表,其内存分配和分区说明表
26、如下所示: 分区说明表:内存分配图 区号 大小 1 2 3 4 8k 32k 120k 331k 起址 20k 28k 60k 180k 状态 已分配 已分配 已分配 已分配 (3)主存浪费空间=(8-1)+(32-9)+(120-33)+(331-121) =7+23+87+210=327(k) 例题 在可变分区存储管理下,按地址排列的内存空闲区为:100KB、500KB、200KB、300KB和600KB。现有若干用户程序,其所需内存依次分别为212KB、417KB、112KB和426KB,分别用首次适应算法、最佳适应算法、最坏适应算法,将它们装入到内存的哪些空闲分区?哪个算法能最有效利用内存?采用首次适应算法 程序 空闲区 新空闲区 212KB 500KB288KB 417KB600KB183KB 112KB288KB176KB 426KB,无法装入内存 区号 1 2 3 4 5 大小 100k 500k 200k
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1