OS1/Modifikacije predrok 2020

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Sledeće modifikacije su se pojavile na odbrani projekta u predroku 2020.

20 poena

  • Proširiti klasu Semaphore nestatičkom funkcijom turnOnPriorities koja na tom semaforu uvodi prioritetni signal nakon što se pozove ta funkcija (ponašanje kao fleg).
  • Prioritetni signal treba da uvek odblokira niti po ID niti u rastućem poretku, a ne po dosadašnjem redosledu koji je implementiran.
  • Dodati sledeće ispise u metodama wait i signal: signal treba da kaže koji je ID koja ga je pozvala; wait treba da kaže koji je ID koja ga je pozvala i da li će se blokirati na tom semaforu.
  • Napisati test za ovu funkcionalnost:
    • Napraviti 50 niti koje ciklično rade sledeće:
    • Semafor sem kome su uključeni prioriteti i kome je vrednost 10 puta manja od broja niti (u ovom slučaju 5) čeka;
    • Ispisuje se "Ušao u kritičnu sekciju";
    • Nekim drugim semaforom se simulira spavanje niti za nasumično vreme;
    • Semafor sem signalira;
    • Ispisuje se "Izašao iz kritične sekcije".