Odlomak

Upravljanje procesima

Zad 1. Jun 2005. (b)(10) Dat je sledeći C API nekog operativnog sistema za koncept standardnog brojačkog semafora:

  • typedef unsigned int SemID;
  • SemID createSemaphore ();
  • void releaseSemaphore (SemID);
  • void initSemaphore(SemID, int value);
  • void wait(SemID);
  • void signal(SemID);

Korišćenjem ovih funkcija na jeziku C napisati globalne deklaracije i inicijalizacije, kao i kod tela dve uporedne niti A i B koje ciklično rade sledeće:

  1. A: upisuje vrednost u deljene promenljive x i y, a zatim čeka da proces B upiše zbir x i y u promenljivu z čiju vrednost ispisuje na standardni izlaz;
  2. B: čeka da proces A upiše vrednosti u deljene promenljive x i y, zatim ove dve vrednosti sabira i zbir upisuje u deljenu promenljivu z.

(c)(5) Posmatraju se dva procesa koji jedan drugom šalju i primaju podatke korišćenjem dva kružna ograničena bafera A i B veličine po 4KB. Ukoliko je bafer pun, proces koji želi u njega da upiše podatak se blokira sve dok se u baferu ne pojavi mesto za upis podatka. Ova dva procesa izgledaju ovako…

No votes yet.
Please wait…

Prijavi se

Detalji dokumenta

Više u Elektrotehnika

Više u Skripte

Komentari