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 |
3 |
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:31.03.2025