ОС1/Модификације септембар 2024

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Sledeće modifikacije su se pojavile na odbrani projekta u septembru 2024.

Modifikacija za 20 bodova

Implementirati sve potrebne metode, sistemske pozive za implementaciju sinhronizacije niti uparivanje.

  • C++ API: static void Thread::pair(Thread* t1, Thread* t2)

Ova metoda uparuje niti prosleđene kao paramtere. Pretpostaviti da će svaka nit biti uparena sa tačno jednom niti.

Takođe implementirati nestatičku metodu:

  • C++ API: void Thread::sync()

koja vrši sinhronizaciju niti:

  • Ako je jedna nit pozvala ovu metodu, a druga ne, tekuća nit se blokira.
  • Kada druga nit pozove ovu metodu, obe niti mogu nastaviti izvršavanje.
  • Metoda se može pozvati proizvoljan broj puta.

Takođe obezebediti da svaka korisnička nit ima jedinstveni identifikator, počevši od 1.

Test

Bio je dat kostur onoga što nit treba da izvršava, a to je da se niti sinhronizuju u for petlji sa 3 iteracije. Trebalo je, po uzoru na ostale, dodati 8. test koji će imati run metode sa prilagođenim potpisom testa datim u postavci. Test je trebalo da testira samo C++ api.

Modifikacija za 30 bodova