Operacijski
sustavi
Kolegij Operacijski sustavi je prenesen sa FER-a, na čijim stranicama također postoji podrška . Prvenstvena namjera ovih stranica je da sadrže primjere zadataka obrađenih na vježbama, razne obavijesti vezane za polaganje ispita te popis zadataka obaveznih za potpise. Kako su stranice su izradi njihov sadržaj će se vremenom mijenjati te postoji namjera da se postave detaljne upute i objašnjenja vezana sa izložene primjere i zadatke.
Sadržaj kolegij je vecinom vezan za UNIX operativni sustav , iako je lako pronaći sličnost sa ostalim operacijskim sustavima. Principi koji se koriste su zajednički za većinu OS-ova, a razlika je tek u implementacijama i sintaksama naredbi. Primjeri su pisani u C programskom jeziku, ali to ne povlači da se zadaci moraju pisati u C-u (i pod UNIX-om) (ako postoji alternativno rješenje, jer nažalost neke stvari postoje samo na nekim operacijskim sustavima)
Vježba 3: Suradnja procesa
i kritični odsječci
Organizacija
ispita i način bodovanja
Da bi se dobio
potpis, a samim tim mogućnost izlaska na pismeni ispit potrebno je predati 4
zadatka koji su navedeni kao cilj svakog poglavlja vježbi. Konačni broj bodova iz ispita se formira na
osnovu
zbroja bodova iz pismenog dijela ispita (ili kolokvija) (max 100 bodova) te eventualnih
dodatnih bodova iz predanih zadataka.
Važna
napomena: dodatni bodovi i kolokviji će vrijediti samo do kraja zimskog
ispitnog roka. Za izlazak na drugi
kolokvij potrebno je predati zadatke iz dotad obrađenih poglavlja.
Dodatni bodovi:
U slučaju da se zadaci iz gore navedenih poglavlja (koji su ujedno uvjet za
potpis) naprave onako kako je namjeravano, tj. na vježbama ili do početka
slijedećeg poglavlja i predaju asistentu donosit će po 3 dodatna boda. U
slučaju da netko želi zadatak od više bodova neka takvu želju izrazi dan ili
dva prije vježbi bilo mailom bilo
osobno.
Primjeri
sa vježbi
Literatura za 1. poglavlje :
W.Richard Stevens: Advanced Programming the Unix Environment (Chapter
10)
Primjeri iz 1. poglavlja
signali2.c
signali3.c
signali4.c
Literatura za 2. poglavlje:
Developing
Multithreaded Applications
Threads: Basic Theory and
Libraries Properties
Primjeri iz 2.poglavlja
za prevodjenje donjih programa potrebno je ukljuciti opciju -lpthread (npr. cc -lpthread imeprograma.c -o izlaznadatoteka)Kreiranje dretvi
Čekanje
Cancel dretve
read_write.c
mutex.c
condition.c
Primjeri iz 3.poglavlja
procesi1.c
signali_procesi
smh_client.c
shm_server.c
Primjeri iz 4. poglavlja
semafori1.c
semafori2.c
macke.c
filozofi.c
Primjer client server komunikacije preko socketa
socket_server2.c
socket_client2.c
Za one koji zele znati vise o socketima: FAQ
about unix sockets
Ova stranica je takodjer jako dobra:Beej's
Guide to Network Programming
Primjer korištenja exec naredbi (napisao Marko Žmak)
prog.c
glavni_program.c
tipovi.h
Još malo o IPC-u (pipes)
pipes1.c
pipes2.c
pipes3.c
pipes4.c i filter.c
Primjer komunikacije porukama (message queues)