题目详情
简答题 某银行提供1个服务窗口和10个供顾客等待的座位.顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号.取号机每次仅允许一位顾客使用.当营业员空闲时,通过叫号选取一位顾客,并为其服务.顾客和营业员的活动过程描述如下: process顾客i { 从取号机获得一个号码; 等待叫号; 获得服务; } process营业员 { while(TRUE) { 叫号; 为顾客服务; } } 请在下列算法中添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步.(每空2分,共18分) semaphore seets = ; //表示空余座位数量的资源信号量,初值为10 semaphore mutex = ; //管理取号机的互斥信号量,初值为1,表示取号机空闲 semaphore custom = ; //表示顾客数量的资源信号量,初值为0 Process 顾客 { ; //看是否有空座位 ; //看看取号机是否空闲 从取号机取号; ; //离开那个取号机 ; //取到号,告诉营业员有顾客 等待叫号; ; //被叫号,离开座位 接受服务; } Process 营业员 { While(true) { ; //看看有没有等待的顾客 叫号; 为顾客服务; } }

学科:操作系统2021
时间:2023-12-30 01:17:17
