Operacijski sustavi - upute za laboratorijske vježbe


Organizacija vježbi


Domaća zadaća

Laboratorijske vježbe (domaće zadaće) izrađuju se samostalno (svaki student sam radi vježbe). Po potrebi zatražiti pomoć predavača.

Izvorne tekstove programa pisati prema uobičajenim pravilima. Posebice paziti na strukturu koda, 'uvlačenje', razmake te lomljenje preduge linije!). Primjer stila pisanja koda u C-u prikazan je u https://www.kernel.org/doc/Documentation/process/coding-style.rst. Jedan od razloga lošeg izgleda koda jest što studenti miješaju korištenje tabulatora i razmaka za ostvarenje uvlaka. Takav program u drugim okolinama (npr. koje koriste druge dimenzije za tabulator) izgleda nečitljivo. KONZISTENTNO koristiti ILI samo tabulatore (preporučeno) ILI samo razmake za uvlake.


Predaje vježbi

  1. Svaka vježba (zadatak/„lab“) donosi do 6 bodova (ukupno do 30).
  2. Zadaci se nadograđuju: lab0 → lab1 → lab2→ lab3. Lab4 je zaseban i opcionalan.
  3. Kod mora biti u repozitoriju dan prije termina (prije petka). Ako nije, onda se ne može pristupiti predaji taj petak i gubi se mogućnost dobivanja do 4 boda.
  4. Termini za predaju su:
    1. lab-0: 25. 3.
    2. lab-1: 1. 4.
    3. lab-2: 22. 4.
    4. lab-3: 27. 5.
    5. lab-4: 10. 6.
    6. nadoknada za lab-3: 17. 6.
  5. Način predaje ove godine: rješavanje zadataka na papiru, iz područja vježbe.
  6. Uvjet za prolaz laboratorijskih vježbi (a time i jedan od uvjeta za prolaz predmeta) jest izrada zadataka lab0-lab3, njihovo postavljanje u repozitorij + pozitivna ocjena za lab3 na predaji.
  7. Ukoliko labosi lab0-lab3 nisu gotovi do termina za lab3, njih se predaje na nadoknadi (zadnji tjedan).
  8. Paziti na ispravnost repozitorija – neispravnost se kažnjava negativnim bodovima.
  9. Rješenja studenata (kodovi) se na kraju semestra međusobno uspoređuju.
    • Neočekivana sličnost u netrivijalnim zadacima se kažnjava – studenti s „presličnim kodom“ dobivaju negativne bodove, neovisno o tome tko je autor a tko je kopirao kod.
    • Alat za provjeru je neosjetljiv na kozmetičke izmjene.
    • Raditi samostalno, ne gledati tuđi kod i nikakvih problema neće biti (ne treba nešto „izmišljati“ da bi kod bio drukčiji).
  10. Studenti koji su u prošlim akademskim godinama odradili laboratorijske vježbe moraju ih ponovno odraditi ove godine (napraviti novi repozitorij obzirom da su vježbe promijenjene).

Pripremiti razvojno okruženje (opcionalno)

Iako se neke vježbe mogu napraviti i na drugim okruženjima, preporučeno je pripremiti Linux/UNIX okruženje (ako već nemate pristup takvom računalu).

Upute: Priprema virtualnog Ubuntu sustava korištenjem VMware player-a su jedan primjer kako to jednostavno napraviti.

Kratke upute za rad u UNIX/Linux ljusci


Sadržaj vježbi

LAB-0: Git:    a) općenito o gitu,    b) zadatak

Po izradi neke vježbe (lab1-lab4), u ispisu (koji treba spremiti u readme.txt) mora biti vidljivo ispravno ponašanje programa u svim situacijama koje se spominju u zadatku. Ukoliko se nekim pokretanjem to ne vidi, program ponovno pokrenuti i po potrebi promijeniti parametre (npr. broj dretvi, trajanje odgoda i slično) ili pokrenuti program više puta i sve potrebne ispise uključiti u opis (readme.txt).

LAB-1: Signali

LAB-2: Dretve

LAB-3: Monitori    (komentari)

LAB-4: Datotečni sustav (opcionalna vježba)

LAB-1::4 Primjeri/predlošci za vježbe (kod)