program Prvni;
{
Vas prvni paralelni realtimovy program. Procedurou Process
je definovan proces, ktery se cyklicky prihlasuje na obrazovce
svym jmenem. Jsou spusteny dve instance tohoto procesu
s ruznou rychlosti a s ruznymi jmeny.
}
{$F+,X+}

uses kernel, crt;

procedure Process(Jmeno : IdentType; Prodleva : Integer; Barva : Byte);
begin
  Start(Jmeno, 1024, 0, 255); Exit;       { startovaci sekvence procesu }
  repeat
   Wait(Prodleva);
   Lock;
   TextColor(Barva);
   Writeln('Ja jsem proces '+Jmeno);
   UnLock;
  until false;
end;


begin
                                    { inicializace jadra }
 StartMain(0,0);
 InitInterruptStack(1, 256);
 StartTimeSlicing(8);
                                    { spusteni dvou paralelnich procesu }
 Process('Pilny', 10, Green);
 Process('Louda', 25, Red);

 TerminateMain;
end.
