Design an algorithm for a monitor that implements an alarm clock that enables a calling program to delay itself for a specified number of time units (ticks). You may assume the existence of a real hardware clock that invokes a function tick() in your monitor at regular intervals.

Respuesta :

Answer:

The algorithm a monitor that implements an alarm clock is designed below.

Monitor alarm

{

      Condition c;

      int  current = 0;

      void  delay (int ticks)

      {

             int alarms;

             alarms = current + ticks;

             while (current > alarms)

             c. wait (alarms) ;

             c. signal;

      }

      void tick ( )

      {

             current = current + 1;

             delay. signal;

       }

}