其他分享
首页 > 其他分享> > 操作系统习题1

操作系统习题1

作者:互联网

某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:

//首项应该定义信号量
semaphore mutex=1,seats=10,service =0;
semaphore mutex = 1,service = 0,seets = 10;
//然后开始写进程

//顾客进程
void customers(){
    P(seats); //首先需要进行申请座位
    P(mutex); //顾客之间的取号进程是互斥的,用metex来实现
    取号;
    V(mutex);
    V(service);//等待叫号
    等待获取服务;
}

//`营业员进程
void assistant(){
    P(service); //提供服务
   叫号并且为客户提供服务;
    V(seats); //生产座位
}

void main(){
    cobegin
        customers();
        assistant();
    coend
}

标签:10,操作系统,service,void,mutex,seats,习题,顾客
来源: https://blog.csdn.net/qq_45753045/article/details/115442149