操作系统第三章作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

操作系统第二次作业1、高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度的主要任务:根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某写作业调入内存,并为他们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。低级调度的主要任务:决定就绪队列中的哪个进程应获得处理机,然后再由分配程序执行把处理机分配给该进程的具体操作。引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,把此时的进程状态为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。13、在时间片轮转法中,应如何确定时间片的大小?时间片应大于一次典型交互所需要的时间。23.何为“优先级倒置”现象,可采取什么方法解决?优先级倒置:高级优先级进程(或线程)被低级优先级进程(或线程)延迟或阻塞。解决方法:①优先级继承:强令低优先级的线程继承与之共享资源并被挂起的高优先级线程的优先级,一旦高优先级线程开始挂起,即可实施优先级继承,直到资源释放。②优先级顶置:为每个临界资源都分配一个优先级。假设线程H在所有要共享某资源中优先级最高,则将资源的优先级确定为线程H的优先级加1。调度程序将该资源的优先级赋给任何访问该资源的线程,这样就能保证该线程能尽快完成对临界资源的访问,一旦线程完成对该资源的操作,其优先级恢复正常。27、何谓死锁?产生死锁的原因和必要条件是什么?死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局。产生死锁的原因:①竞争资源。当系统中供多个进程共享的资源数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。②进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。产生死锁的必要条件:①互斥条件②请求和保持条件③不剥夺条件④环路等待条件29、请详细说明可通过哪些途径预防死锁?①破坏“互斥条件”:不可能做到,因为一定会存在互斥。②破坏“请求和保持条件”:进城创建时,一次申请所有资源,成功则运行,否则阻塞。③破坏“不剥夺条件”:进程申请资源时,成功则运行,否则释放所有资源后阻塞。④破坏“环路等待条件”:为所有资源编号,进程申请资源时必须按序申请资源。31、在银行家算法中,若出现下述资源分配情况:ProcessAllocationNeedAvailableP0003200121622P110001750P213542356P303320652P400140656试问:(1)该状态是否安全?(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?(1)系统安全。通过寻找安全序列,找到其中一个安全序列为P0-P3-P1-P2-P4WorkNeedAllocationWork+AllocationFinish①P01622001200321654true②P31654065203321986true③P11986175010002986true④P22986235613543121310true⑤P43121310065600143121414true3121414(2)①Request(1,2,2,2)Need(2,3,5,6)合理②Request(1,2,2,2)Available(1,6,2,2)③试分配资源Available改为(0,4,0,0)Allocation(P2)改为(2,5,7,6)Need(P2)改为(1,1,3,4)④执行安全算法,Work=Available(0,4,0,0)发现无法找到Need[i]Available(0,4,0,0),因此无法找到安全序列,为不安全状态。⑤取消试分配。因此系统不能将资源分配给它。

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功