操作系统大题概述(上)

操作系统大题概述(上)

简答题在这篇文章里就不叙述了,如果有读者需要会考虑再开一篇文章写简答或者是选择
因为例题容易懂,直接上例题和解题步骤,除了必要的一些概念,不多赘述原理和课本内容

1、信号量机制问题

例:某博物馆允许500人同时参观,有一个出入口。该出入口一次仅允许一个人通过,参观者的活动描述如下,请使用信号量和P(wait())、V(signal())操作实现其互斥和同步。

cobegin
参观者进程i:
{
进门

参观

出门

}
coend

解:
semphore empty = 500; (博物馆可以容纳的人数)
semphore mutex = 1; (用于控制参观者互斥的访问出入口)

注意:信号量的设置是看题目中有几个需要互斥访问的资源,如果此题目修改为出口和入口不是同一个,那么就需要设mutex_in和mutex_out。

cobegin
参观者进程i:
{
wait(empty);(首先对empty减1,empty=499)
wait(mutex);(mutex减去1,mutex=0时代表有一个游客在使用出入口)
进门
signal(mutex);(mute=1,代表游客已经进入,不再占用出入口)
参观
wait(mutex);(游客正在使用出入口准备出门)
出门
signal(mutex);(游客已经出门)
signal(empty);(这名游客出门后,博物馆可容纳数又恢复到500)
}
coend

2、作业调度算法

注意:不仅要学会算法,还要记住他们的英文缩写,因为有的题目不写中文算法名

公式:
周转时间=完成时刻-到达时刻
周转时间 = 完成时间 - 到达时刻
带权周转时间 = 周转时间 / 服务时间
平均周转时间 = 周转时间 / 进程数
平均带权周转时间 

你可能感兴趣的:(操作系统,期末考试,操作系统)