• 2021-04-14 问题

    某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人 通过。参观者的活动描述如下: cobegin 参观者进程i: { …… 进门; …… 参观; …… 出门; …… } coend 请添加必要的信号量和P、V (或wait ()、signal ())操作,以实现上述过程中的互斥 与同步。要求写出完整的过程,说明信号量的含义并赋初值。

    某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人 通过。参观者的活动描述如下: cobegin 参观者进程i: { …… 进门; …… 参观; …… 出门; …… } coend 请添加必要的信号量和P、V (或wait ()、signal ())操作,以实现上述过程中的互斥 与同步。要求写出完整的过程,说明信号量的含义并赋初值。

  • 2021-04-14 问题

    有A、B两人通过信箱进行辩论,每个人都从自己的信箱中取得对方的问题,将答案和向对方提出的新问题组成一个邮件放人对方的信箱中。假设A的信箱最多放M个邮件,B的信箱最多放N个邮件。初始时A的信箱中有x个邮件(0 semaphore Full_A = x ; //表示A的信箱中的邮件数量 semaphore Empty_A = _____1_____; //表示A的信箱中还可存放的邮件数量 semaphore Full_B = _____2_____ ; //表示B的信箱中的邮件数量 semaphore Empty_B = N-y; //表示B的信箱中还可存放的邮件数量 semaphore mutex_A = mutex_B = _____3_____ ; //用于信箱A和B的互斥 CoBegin

    有A、B两人通过信箱进行辩论,每个人都从自己的信箱中取得对方的问题,将答案和向对方提出的新问题组成一个邮件放人对方的信箱中。假设A的信箱最多放M个邮件,B的信箱最多放N个邮件。初始时A的信箱中有x个邮件(0 semaphore Full_A = x ; //表示A的信箱中的邮件数量 semaphore Empty_A = _____1_____; //表示A的信箱中还可存放的邮件数量 semaphore Full_B = _____2_____ ; //表示B的信箱中的邮件数量 semaphore Empty_B = N-y; //表示B的信箱中还可存放的邮件数量 semaphore mutex_A = mutex_B = _____3_____ ; //用于信箱A和B的互斥 CoBegin

  • 2022-06-16 问题

    某银行提供了一个服务窗口和10个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下。 cobegin{ process顾客i{ 从取号机上获取一个号码; 等待叫号; 获取服务; } process营业员{ while(TRUE){ 叫号; 为顾客服务; } } }coend 请添加必要的信号量和P、V操作或wait()、signal()操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

    某银行提供了一个服务窗口和10个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下。 cobegin{ process顾客i{ 从取号机上获取一个号码; 等待叫号; 获取服务; } process营业员{ while(TRUE){ 叫号; 为顾客服务; } } }coend 请添加必要的信号量和P、V操作或wait()、signal()操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

  • 2022-06-09 问题

    某银行提供若干服务窗口可办理业务,提供10个可用于顾客等待的座位。顾客到达银行时,若有空座位,则到取号机领取一个号,等待叫号。取号机每次仅允许一个顾客使用。当窗口有空时,系统通过叫号选取一位顾客,并为其服务。假设顾客取号后等待窗口服务的优先级相同,即取号仅代表获得服务的资格,不代表获得服务的先后顺序,也就是顾客进程可并发执行,请用P、V原语(wait和signal操作)实现上述过程的互斥和同步。要求写出完整的过程,说明各信号量的含义并赋初值。void main(){ cobegin pmach1(); pmach2(); pmach3(); ... //服务窗口进程 pcus1(); pcus2(); pcus3(); ... //顾客进程 coend}

    某银行提供若干服务窗口可办理业务,提供10个可用于顾客等待的座位。顾客到达银行时,若有空座位,则到取号机领取一个号,等待叫号。取号机每次仅允许一个顾客使用。当窗口有空时,系统通过叫号选取一位顾客,并为其服务。假设顾客取号后等待窗口服务的优先级相同,即取号仅代表获得服务的资格,不代表获得服务的先后顺序,也就是顾客进程可并发执行,请用P、V原语(wait和signal操作)实现上述过程的互斥和同步。要求写出完整的过程,说明各信号量的含义并赋初值。void main(){ cobegin pmach1(); pmach2(); pmach3(); ... //服务窗口进程 pcus1(); pcus2(); pcus3(); ... //顾客进程 coend}

  • 2022-06-09 问题

    (8分)某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:cobegin{process顾客i{从取号机获取一个号码;等待叫号;获取服务;}process营业员{while(TRUE){}}}coend叫号;为客户服务;请添加必要的信号量和P、V(或wait、signal)操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

    (8分)某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:cobegin{process顾客i{从取号机获取一个号码;等待叫号;获取服务;}process营业员{while(TRUE){}}}coend叫号;为客户服务;请添加必要的信号量和P、V(或wait、signal)操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

  • 1