| 
		 ZEMRIS English  | 
	
Laboratorijske vježbe mogu se predati isključivo tijekom semestra u tjednima navedenima u tablici.
| 
		 Tjedan labosa  | 
		
		 Rad s demonstratorima  | 
		
		 Termini predaje labosa  | 
		
		 Bodovanje (najveći mogući broj bodova)  | 
	|||
| 
		 Vježba 1  | 
		
		 Vježba 2  | 
		
		 Vježba 3  | 
		
		 Vježba 4  | 
	|||
| 
		 1. tjedan  | 
		
		 
		ponedjeljak, 24.3.2025. 10-10:45 u A102  | 
		
		četvrtak, 27.3.2025. 
		8-18 petak, 28.3.2025. 8-15  | 
		4 | 
		 -  | 
		
		 -  | 
		
		 -  | 
	
| 
		 2. tjedan  | 
		
		 četvrtak, 3.4.2025. 9-9:45 u A110  | 
		
		četvrtak, 
		3.4.2025. 8-18 petak, 4.4.2025. 8-15  | 
		3 | 
		 -  | 
		
		 -  | 
		
		 -  | 
	
| 
		 3. tjedan  | 
		
		 četvrtak, 10.4.2025 9-9:45 u A110  | 
		
		četvrtak, 10.4.2025. 
		8-18 petak, 11.4.2025. 8-15  | 
		2 | 
		 4  | 
		
		 -  | 
		
		 -  | 
	
| 
		 4. tjedan  | 
		
		 četvrtak, 17.4.2025 9-9:45 u A110  | 
		
		četvrtak, 17.4.2025. 
		8-18 petak, 18.4.2025. 8-15  | 
		- | 
		 3  | 
		
		 -  | 
		- | 
| 
		 5. tjedan  | 
		
		 četvrtak, 22.5.2025 9-9:45 u A110  | 
		
		 
		četvrtak, 22.5.2025. 8-18  | 
		- | 
		 -  | 
		
		 8  | 
		
		 -  | 
	
| 
		 6. tjedan  | 
		
		 srijeda, 28.5.2025 9-9:45 u A110  | 
		
		srijeda, 28.5.2025. 
		8-18 četvrtak, 29.5.2025. 8-15  | 
		- | 
		 -  | 
		
		 6  | 
		
		 4  | 
	
| 
		 7. tjedan  | 
		
		 četvrtak, 5.6.2025 9-9:45 u A110  | 
		
		četvrtak, 5.6.2025. 8-18 petak, 6.6.2025. 8-15  | 
		- | 
		 -  | 
		
		 4  | 
		
		 4  | 
	
| 
		 8. tjedan  | 
		
		 -  | 
		
		 
		(NADOKNADA)   | 
		0 | 
		 -  | 
		
		 0  | 
		
		 -  | 
	
Zadaci iz laboratorijskih vježbi rješavaju se samostalno kod kuće.
Prijava predaje vježbe. Svaki student se za svaku vježbu koju želi 
predati u nekom terminu mora prijaviti na 
ferku. 
Svaki nedolazak na prijavljeni termin labosa kažnjava se 
negativnim bodom.
Predaja vježbe i bodovanje. Prilikom 
predaje laboratorijske vježbe će se bodovati od -2 (moguće je dobiti i negativne 
bodove) do najviše onoliko bodova koliko je naznačeno u tablici. Laboratorijska 
vježba se ne može predati ako prethodno nije postavljena na
web. 
U nekom terminu/tjednu je moguće predati najviše dvije vježbe. U 
terminu nadoknade moguće je predati najviše jednu, obveznu vježbu. 
Vježbe se predaju po redu. 
Vježbe se moraju postaviti na web (upload) u tjednu kada se predaje labos 
najkasnije do srijede do 9 sati,
Studenti koji su ranijih godina odradili laboratorijske vježbe, ali nisu položili predmet, mogu se javiti predmetnom nastavniku u prva tri tjedna nastave da im se priznaju bodovi iz prošle godine (skalirano).
Demonstrature. Za rad s demonstratorima nije se potrebno unaprijed prijaviti u sustavu ferko već se može po potrebi sudjelovati uživo na sastancima s demonstratorima u terminima navedenima u tablici.
Izvorne tekstove programa pisati prema uputama (posebice paziti na 'uvlačenje', razmake te lomljenje preduge linije!). Primjeri korištenja stila prikazani su u kodovima priloženim u uputama (npr. random_prime.c, sigaction.c).
Sve izvorne tekstove programa koji čine jednu 
vježbu staviti u arhivu proizvoljnog 
imena, npr. "vjezba_x.zip" (x-broj vježbe).
Sustav za detekciju plagijata ne prihvaća druge arhive osim zip 
(primjerice rar, gz i 
sl.)!
Ako se radi samo o jednoj datoteci, ne treba ju arhivirati.
Nikakve druge datoteke (osim izvornih tekstova programa) ili direktorije 
ne stavljati u arhivu (arhiva ne sadrži direktorij već samo 
datoteke i to datoteke s izvornim tekstovima programa (arhiva ne 
sadrži primjerice makefile)! 
Nakon provjere da je ispravna datoteka (zip arhiva) postavljena na Web, obavezno 
zaključati predaju na Webu. Nepridržavanje navedenih uputa će se bodovno 
sankcionirati. (Učestale pogreške koje nose negativne bodove su: korištenje neke 
druge arhive osim zip, predaja vježbe na krivom mjestu: vježba x predaje se kao 
vjezba_y.zip, arhiva sadrži poddirektorije ili izvršne datoteke.)
Odabrati pravu datoteku za upload je izazov i 
kažnjava se negativnim bodovima upload pogrešne datoteke prilikom detekcije 
plagijata.)
Sva pitanja vezana uz laboratorijske vježbe uputiti na adresu os@zemris.fer.hr.
Važna napomena: Sve što u zadacima nije zadano, riješiti na proizvoljan način!
Prvi labos: Prekidi i signali
    
(4) U proizvoljno odabranom 
programskom jeziku simulirati rad:
            - prekidnog 
sustava s programskom potporom prekidanju (rješavaju studenti čiji JMBAG 
završava znamenkama 0, 1, 2, 3 ili 4 )
            - prekidnog 
sustava sa sklopovskom potporom prekidanju (rješavaju studenti čiji JMBAG 
završava znamenkama 5, 6, 7, 8 ili 9 )
          s pet razina prekida (pet 
prioriteta) gdje se prekidi simuliraju ili proizvoljno odabranim signalima 
generiranih iz tipkovnice ili drugim programom, ili su svi prekidi simulirani 
jednim signalnom (npr. SIGINT) nakon čega se unosi prioritet prekida.
          Simulator treba 
ispisivati stanje sustava (izvodi li se glavni program ili neki prekidni 
potprogram te vrijednosti svih bitnih struktura podataka) svaki puta kada se 
dogodi neka promjena u sustavu.
Primjeri izvornih tekstova programa:
primjer_signali.c,
primjer_spavanja.c
Ime datoteke s izvornim tekstom programa nije važno, ali se preporuča 
da se datoteka s izvornim tekstovima programa zove 
signali.c gdje ekstenzija ovisi o programskom jeziku, pa će se tako 
datoteka, ako je zadatak rješavan u programskom jeziku C++, zvati
signali.cpp. Jednako vrijedi i za sve ostale vježbe 
gdje su crveno u zagradama prijedlozi kako se datoteke s izvornim tekstovima 
programa mogu zvati.
Primjeri pitanja koja se studentima mogu postaviti prilikom predaje prve i druge 
vježbe.
Drugi labos: Višezadaćni rad
(4) Zadatak 2 (zadatak nije obavezan, ali donosi bodove): U programskom jeziku C ili C++ te u bilo kojem UNIX/linux okruženju ostvariti sljedeće osnovne funkcionalnosti ljuske: osnovno pokretanje programa u prvom planu (foreground), pokretanje više programa u pozadini (background) i povijest izdanih naredbi u ljusci (naredba history). U pozadini treba ljuska omogućiti ispis pokrenutih procesa i završavanje s radom zadanog procesa signalom SIGKILL ili SIGTERM. Dozvoljeno je koristiti sve funkcije koje pruža standardna C biblioteka (npr. glibc, musl) osim funkcije system. Detaljne upute za izradu vježbe.
Treći labos: Sinkronizacijski mehanizmi
U programskom jeziku C ili C++ riješiti sljedeće sinkronizacijske probleme:
(4) Zadatak 3a: Problem procesa pripravljača sendviča riješiti uz pomoć semafora (semafori.c)
(4) Zadatak 3b: Problem dretvi partibrejkera riješiti uz pomoć monitora (monitori.c)
Četvrti labos: Raspoređivanje radnog spremnika straničenjem (zadatak nije obavezan, ali donosi bodove)
(4) Zadatak 4: U proizvoljno odabranom programskom jeziku simulirati straničenje na zahtjev za računalo s proizvoljnim brojem raspoloživih okvira, a programi neka se sastoje od proizvoljnog broja stranica. Strategija zamjene stranica u okvirima neka se odvija prema pravilima satnog algoritma. Nakon svakog zahtjeva za pristup spremniku ispisati sadržaj svih korištenih struktura podataka.
Primjer ispisa
Primjer prošlog zadatka s opisom potrebnih struktura podataka (kojeg ne treba riješiti bukvalno tako kako je navedeno u tom primjeru). (stranicenje.c)
Predaja labosa na udaljenom računalu
Linux na računalu s instaliranim MS Windows operacijskim sustavom
Izrada labosa kod kuće na vlastitom PC računalu i predaja labosa na PC računalima na Fakultetu koristeći sliku virtualnog stroja (nije više aktualno)
Konzultacije predavanja i vježbe (uz najavu mailom)
| 
		 Grupa  | 
		Predavač, prostorija | 
| 
		 P02  | 
		Marin Golub: D316 | 
| 
		 P04  | 
		Leonardo Jelenković: D342 | 
| 
		 P03  | 
		Marko Đurasević: D338 | 
| 
		 P01  | 
		Domagoj Jakobović: D329 | 
| 
		 P01E  | 
		Nikolina Frid: D340 | 
Konzultacije vježbe (uz obaveznu najavu mailom)
| Asistent, prostorija | 
| Ivan Grubišić: D307 | 
Termin konzultacija sa asistentom ili 
nastavnikom se dogovara mailom na e-mail adresu: 
ime.prezime(at)fer.hr .
Pitanja u vezi laboratorijskih vježbi poslati na adresu 
os(at)zemris.fer.hr.
Zadnja promjena:14.07.2025