计算机操作系统第二章习题第三题的第一题

1个回答

  • semaphore empty1,full1,empty2,full2,mutex1,mutex2;

    empty1=m;empty2=n;full1=full2=0;

    mutex1=mutex2=1;

    parbegin

    process PA{

    while(1){

    从输入设备上读信息;

    P(empty1);

    P(mutex1);

    将读入的信息放入B1;

    V(mutex1);

    V(full1);

    }

    }

    process PB{

    while(1){

    P(full1);

    P(mutex1);

    从B1中取出一缓冲区内容;

    V(mutex1);

    V(empty1);

    加工内容;

    P(empty2);

    P(mutex2);

    将加工后的内容放入B2;

    V(mutex2);

    V(full2);

    }

    }

    process PC{

    while(1){

    P(full2);

    P(mutex2);

    从B2中取出内容;

    V(mutex2);

    V(empty2);

    打印内容;

    }

    }

    parend