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

Извор: SI Wiki
< ОС1
Датум измене: 29. септембар 2024. у 17:23; аутор: Aleksa (разговор | доприноси) (Нова страница: {{tocright}} 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. * C++ API: <code>static void Thread::pair(Thread* t1, Thread* t2)</code> 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: <code>vo…)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу

Следеће модификације су се појавиле на одбрани пројекта у септембру 2024.

Модификација за 20 бодова

Имплементирати све потребне методе, системске позиве за имплементацију синхронизације нити.

  • C++ АПИ: static void Thread::pair(Thread* t1, Thread* t2)

Ова метода упарује нити прослеђене као парамтере. Претпоставити да ће свака нит бити упарена са тачно једном нити.

Такође имплементирати нестатичку методу:

  • C++ АПИ: void Thread::sync()

која врши синхронизацију нити: - Ако је једна нит позвала ову методу, а друга не, текућа нит се блокира. - Када друга нит позове ову методу, обе нити могу наставити извршавање. - Метода се може позвати произвољан број пута.

Такође обезебедити да свака корисничка нит има јединствени идентификатор, почевши од 1.

Тест

Био је дат костур онога што нит треба да извршава, а то је да се нити синхронизују у фор петљи са 3 итерације. Требало је, по узору на остале, додати 8. тест који ће имати рун методе са прилагођеним потписом теста датим у поставци. Тест је требало да тестира само C++ апи.

Модификација за 30 бодова