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

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

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

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

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

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

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

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

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

која врши синхронизацију нити:

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

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

Тест

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

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