首页 > 其他分享 >操作系统综合题之“用记录型信号量机制的wait和signal操作来解决了由北向南和由南向北过河人的同步问题(代码补充)”

操作系统综合题之“用记录型信号量机制的wait和signal操作来解决了由北向南和由南向北过河人的同步问题(代码补充)”

时间:2024-03-20 20:46:06浏览次数:22  
标签:独木桥 过河 signal 综合题 信号量 由北向南 wait

1.问题:一条哦东西走向河流上,有一根南北走向的独木桥,要想过河只能通过这根独木桥。只要人们朝着相同的方向过独木桥,同一时刻允许有多个人可以通过。如果在相反的方向上同时有两个人过独木桥则会发生死锁。如果一个人想过河,他必须看当前独木桥的通信情况,若当前的通行方向与他的过河方向相同,则他可以过河,否则他必须等待。下面的代码用记录型信号量机制的wait和signal操作来解决了由北向南和由南向北过河人的同步问题

 要求将由北向南代码段中编号①-⑤处空缺的内容填写在答题卡上

2.解决方案

①Scount == 0;

②wait(mutex);

③signal(S);

④wait(S);

⑤signal(S)

标签:独木桥,过河,signal,综合题,信号量,由北向南,wait
From: https://www.cnblogs.com/saoge/p/18086031

相关文章

  • 操作系统综合题之“用记录型信号量机制的wait和signal操作来保证文件的正确打印,并写出
    1.问题:有两个进程pA和pB合作解决文件打印的问题:pA将文件记录从磁盘读入住库存的缓冲区,每次执行一次读一个记录;pB将缓冲区的内容打印出来,每次执行一次打印一个记录。缓冲区的大小等于一个记录大小请用记录型信号量机制的wait(S)和signal(S)操作来保证文件的正确打印,并写出同步代码2.......
  • 操作系统综合题之“采用记录型信号量机制实现进程INPUT、PROCESS和OUTPUT的同步算法(
    1.问题:系统中有有三个进程INPUT、PROCESS和OUTPUT,共用两个缓冲区BUF1和BUF2。假期设BUF1中最多可放10个数据,现已放入了2个数据;BUF2最多可放5个数据。INPUT进程负责不断将输入的原始数据推送入BUF1,PROCESS进程负责从BUF1中取出原始数据进行处理,并将处理后的结果数据送入到BUF2中,OUT......
  • 操作系统综合题之“采用记录型信号量机制实现上述两个进程的同步算法(代码补充)”
    1.问题:设有无穷多个整数缓冲区(即为无界缓冲池),A进程从输入设备逐个地读入整数并写入缓冲区,B进程则逐个地从缓冲区取出整数进行打印。其中存放整数的变量为item,缓冲区名为buffer,读取过程使用函数getAItem(int*item)来完成,而打印整数使用函数printAItem(intitem)来完成。请用记录......
  • 操作系统综合题之“采用记录型信号量机制实现爸爸与妈妈进程的同步(爸妈擀饼问题)”
    1.问题:爸爸擀面,妈妈烙饼,面板上只能容纳两张擀好的饼,只有当面板上有空闲空间时,爸爸才能把擀好的饼放在面板上。只有当面板上有时,妈妈才能从面板上取饼。试采用记录型信号量机制实现爸爸与妈妈进程的同步答:设置两个信号量资源:varempty,full:semaphore初始两个资源信号量:empty.......
  • 信号量和pv操作
           ......
  • QSignalMapper的使用和使用场景
    QSignalMapper的使用和使用场景 目录QSignalMapper的使用和使用场景常见场景下面是参考。可看可不看这篇写的不错,搬运为Markdown了可以看一下参考 QSignalMapper的使用和使用场景QSignalMapper类收集了一系列的无参信号,然后使用相对于信号发送者来说的整数......
  • Signal in Angular
    SignalinAngularAngular16+开始引入了Signal,按照官方的说法是为了替代zone。当第一眼看到signal,我曾遐想翩翩,立刻想到了Vue中的Ref,又想到了mobx。然而,Angular官方给的例子居然用了一个count,一个计数的例子。它居然不用对象来举例。我脑补了好多细节。但是当真的尝试......
  • (笔记)Linux信号(signal) 机制和信号量(semaphore)机制的区别
     字面上相似,但是本质上存在巨大的差别! 一、Linux信号(signal)机制signal,又简称为信号(软中断信号)用来通知进程发生了异步事件。原理:一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来......
  • (续)signal-slot:python版本的多进程通信的信号与槽机制(编程模式)的库(library) —— 强化学
    前文:signal-slot:python版本的多进程通信的信号与槽机制(编程模式)的库(library)——强化学习ppo算法库sample-factory的多进程包装器,实现类似Qt的多进程编程模式(信号与槽机制)——python3.12版本下成功通过测试......
  • 信号量和互斥信号量
    注:具体参考文档《FreeRTOS实时内核使用指南-中文.PDF》3.2延迟中断处理二值信号量可以在某个特殊的中断发生时,让任务解除阻塞,相当于让任务与中断同步。这样就可以让中断事件处理量大的工作在同步任务中完成,中断服务例程(ISR)中只是快速处理少部份工作。如此,中断处理可......