网上答案是错的,把老师发的答案贴上来,说不定能方便学弟学妹。
1.在Linux系统中运行下面程序:
int main()
{
fork();
printf(“hello1\n”);
fork();
printf(“hello2\n”);
fork();
printf(“hello3\n”);
return 0;
}
问:
(1)最多可产生多少个进程?画出进程家族树。
8个进程
(2)其中hello1、hello2、hello3各被输出多少次?
2/4/8
2. 使用信号量实现下面的前趋图。

在这里插入图片描述在这里插入图片描述
3. 用信号量解决“独木桥”问题:同一个方向行人可连续过桥,当某一方向有人过桥时,另一个方向的行人必须等待;当某一方向无人过桥时,另外方向的行人可以过桥。
(1)本问题中有哪些同步或互斥关系?
(2)给出两个方向任一行人通过该独木桥的同步算法。
在这里插入图片描述
4. (选做)设有两个生产者进程A、B和一个销售者进程C,他们共享一个无限大的仓库,生产者每次循环生产一个产品,然后入库供销售者销售;销售者每次循环从仓库中取出一个产品销售。如果不允许同时入库,也不允许边入库边出库,而且要求生产A产品和B产品的件数满足以下关系:
-n≤A的件数-B的件数≤m
其中n,m是正整数,但对仓库中A产品和B产品的件数无上述要求,请用信号量机制写出A,B,C三个进程的工作流程。
在这里插入图片描述在这里插入图片描述
5.设有五个进程,它们到达就绪队列的时刻和运行时间如下表所示。若分别采用先来先服务算法和短进程优先算法,试给出各进程的调度顺序以及平均周转时间。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

更多推荐