山东大学操作系统计算题:调度算法与周转时间分析

版权申诉
0 下载量 66 浏览量 更新于2024-09-11 收藏 449KB PDF 举报
一、关于单CPU的非抢占优先级算法问题 在这个部分,学生需要了解非抢占优先级算法的原理。首先,作业按照它们的到达时间和优先级进行排序。作业1由于优先级最高,将在最早的时间开始执行,占用10ms,然后是作业3,接着是作业4,以此类推。在执行时间图中,将显示每个作业按照到达时间、执行时间和优先级顺序排列,形成一个线性的执行序列。周转时间是指从作业提交到完成的时间,而带权周转时间则是考虑了作业的运行时间和优先级。作业5因为具有高优先级,即使在运行时间较短的情况下也会尽快被处理,这会影响平均周转时间和带权周转时间的计算。 二、CPU利用率的计算与程序执行顺序 题目要求计算在顺序环境下,先执行A后执行B的CPU利用率。A程序总耗时为30S(10S+5S+5S+10S),B程序总耗时为35S(10S+10S+5S+10S)。CPU利用率计算公式为CPU运行时间除以程序运行时间,即(30S+35S)/(30S+35S)=1,表示CPU完全被两个程序占用,利用率达到100%。 三、不同进程调度算法分析 针对给出的进程列表,学生需根据不同的调度算法(FF、时间片轮转、SPN、抢占式优先级和非抢占式优先级)来决定进程的调度顺序。例如,在FF算法下,进程按到达时间顺序执行;在时间片轮转中,进程可能交替执行,每个进程每次获得1ms的时间片;SPN会优先调度短进程,而优先级算法则会考虑进程优先级。画出执行时间图时,需清楚地展示每个进程在不同算法下的执行情况,以及周转时间和带权周转时间的计算。 四、抢占式与非抢占式优先级算法执行时间图 对于非抢占式优先级算法,作业D由于高优先级,可能会在作业A和B之前执行。而在RR算法中,作业按照公平原则,即使优先级低,只要时间片未满,也能获得执行机会,因此执行顺序可能会有所不同。 五、多进程互斥资源使用 三个进程间的制约关系是互斥使用打印机,即一次只能有一个进程访问打印机。使用P、V操作(进程互斥和信号量)可以实现这样的同步控制。首先,定义一个打印资源信号量mutex(初始化为1,表示未被占用),当一个进程需要打印时,P(mutex)获取锁;打印完成后,V(mutex)释放锁,允许下一个进程使用。 六、资源分配限制与进程并发控制 如果没有资源分配限制,进程可能会出现死锁或饥饿问题,因为所有进程都在同一时刻试图获取所需的全部资源。为避免这种情况,可以采用资源分配图(如银行家算法)进行资源静态分配,或者动态调整资源分配策略,确保资源的合理利用。在并发控制中,可能需要使用资源预留和锁定策略,防止资源竞争导致的问题。 通过以上题目,学生将深入理解操作系统中的调度算法、进程管理、资源分配和互斥控制等核心概念,并学会如何应用这些理论解决实际问题。