操作系统学习笔记(二十)~进程同步巩固习题

192 阅读4分钟

「这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战

前言

Hello!小伙伴!

非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~

 

自我介绍 ଘ(੭ˊᵕˋ)੭

昵称:海轰

标签:程序猿|C++选手|学生

简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖...已保研。目前正在学习C++/Linux/Python

学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!

1、 某车站售票厅,任何时刻最多可容纳 20 名购票者进入,当售票厅中少于 20 名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1)用 PV 操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。 (2)根据所定义的信号量,写出应执行的 PV 操作。

在这里插入图片描述 2.、某寺庙,有小,老和尚若干,由小和尚提水倒入缸供老和尚饮用。水缸可容10桶水,水取自同一井中。水井窄,每次只能容纳一个桶取水。水桶总数为3个。每次从缸中取水,向缸中倒入水仅为1桶,且不可同时进行。试给出有关取井水、入缸水,取缸水的算法。

在这里插入图片描述 3、考虑一个理发店,只有一个理发师,只有n张可供顾客等待理发的椅子,如果没有顾客,则理发师睡觉;如果有一顾客进入理发店发现理发师在睡觉,则把他叫醒,写一个程序协调理发师和顾客之间的关系。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 4、有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问: (1)为描述读者的动作,应编写几个程序,设置几个进程? (2)试用PV操作描述读者进程之间的同步关系。

在这里插入图片描述 5.设某计算机系统有一台输入机、一台打印机。现有两道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50MS,打印信息100MS,再计算50MS,打印信息100MS,结束。程序B的运行轨迹为计算50MS,输入数据80MS,再计算100MS。试说明: (1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待? (2)程序A、B运行时有无等待现象?若有,在什么时候会发生等待现象?

在这里插入图片描述 6.设有一组作业,它们的提交时间及运行时间如下所示: 作业号 提交时间 运行时间(分钟) 1 8:00 70 2 8:40 30 3 8:50 10 4 9:10 5 试问在单道方式下,采用响应比高者优先调度算法,作业的执行顺序是什么,周转时间,平均周转时间? 在这里插入图片描述 7.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。在下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。 作业名 到达时间 估计运行时间 优先数 A 10:00 40分 5 B 10:20 30分 3 C 10:30 50分 4 D 10:50 20分 6 (1)列出所有作业进入内存时间以及结束时间。 (2)计算平均周转时间。

在这里插入图片描述 8.设公交车上,为保证安全,司机停车后售票员才能开门,售票员关车门后司机才能行车

  1. 司机的活动:启动车辆,正常行车,到站停车
  2. 售票员活动:关车门,售票,开车门,

用信号量和P-V操作实现它的同步。

在这里插入图片描述 在这里插入图片描述