Datum zadnje promjene 27.1.2003
Na ovoj stranici se nalaze materijali iz vježbi u šk.god 2002/03. Materijali ne moraju biti u potpunosti točni i pogreške su moguće.
Opis nekih od grešaka, kao i neke druge korisne stvari možete naći na forumima na http://degiorgi.math.hr/forum/index.php
Ukupni rezultati kolovija za šk.god. 2002/03
Arhiva starih ispita i kolokvija
Operacijski sustavi iz sk.god 2001/02
Pitanja i komentare mozete slati na borismil@math.hr
Konzultacije vezano za vježbe i pismene ispite-> Boris Milašinović, FER-ZPM D374, ponedjeljkom od 12-13 (ili po dogovoru e-mailom)

Potrebno predznanje: C, UNIX
Dobrodošla literatura: Andrew S. Tanenbaum: Modern Operating Systems
Richard Stevens: Advanced Programming the Unix Environment

Način polaganja ispita: Stari studenti (oni koji su slušali šk. god 2001/02 i ranije) izlaze na ispit kao i prije, uz napomenu da od proljetnog ispitnog roka moraju poznavati i novo obrađeno gradivo. (Dakle nakon zimskog roka neće biti različitih pismenih za stare i nove studente)
Studenti od školske godine 2002/03 prije izlaska na ispit trebaju riješiti zadatak. Nakon što se zadatak podigne treba ga riješiti u roku od mjesec dana. U slučaju da se zadatak ne riješi u tom roku student mora uzeti drugi zadatak. Za svaki novopreuzeti zadatak student gubi po 20% bodova od vrijednosti zadatka. (npr. ako student vrati 2 zadatka i uzme 3. i taj zadatak vrijedi 20 bodova student će za njega dobiti 20bod - 40% = 12 bodova.)
Trenutni popis zadataka (trenutno 28) se može vidjeti ovdje
Svaki student mora rješavati svoj zadatak.Kako koji od studenata odabere zadatak molim neka to objavi na forumima na adresi http://degiorgi.math.hr/forum/viewforum.php?f=24 i meni pošalje mail.
Zbroj bodova sa oba kolokvija ili broj bodova sa pismenog iznosi max 80 bodova. Bodovi iz ispita(kolokvija) i bodovi iz zadatka se zbrajaju (max 100 bodova).
Prag na pismenom : 35/80 bodova
Prag iz kolokvija : 25/80 bodova



11.10. -> Procesi (pojam procesa, hijerarhija, stanja procesa, primjeri kreiranje procesa (UNIX C, Windows API, Java), neke UNIX specifičnosti (fork))
link na primjere
Dobrodošla literatura:
W.Richard Stevens: Advanced Programming the Unix Environment (Chapter 8)

18.10. -> Dretve (općenito o dretvama, razlika u odnosu na procese, primjeri kreiranja višedretvenih programa (UNIX C, Windows API, Java))
link na primjere
Dobrodošla literatura:
Developing Multithreaded Applications
Threads: Basic Theory and Libraries Properties

25.10. -> Signali i prekidi (kratki pregled signala (ANSI + UNIX specifični signali),primjeri sa složenijim metodama za rukovanje signalima pod UNIX-om.
link na primjere
Dobrodošla literatura:
W.Richard Stevens: Advanced Programming the Unix Environment (Chapter 10)
GNU signal handling

8.11. -> Međuprocesna (međudretvena) komunikacija. Cjevovodi. Korištenje zajedničke memorije. Međusobno isključivanje. Semafori. Primjeri (UNIX C, Windows API)
link na primjere
Dobrodošla literatura:
W.Richard Stevens: Advanced Programming the Unix Environment (Chapter 14)
Dave Marchal: Programming in C UNIX System Calls and Subroutines using C sljedeća poglavlja: IPC:Semaphores IPC:Shared Memory Further Threads Programming:Synchronization
Neki rješeni IPC problemi
Developing Multithread Application-Semaphores

15.11. -> Međuprocesna (međudretvena) komunikacija - nastavak. Princip monitora. Klasični IPC problemi (Problem 5 filozofa, reader-writer problem, 'spavajući' brijač)
link na primjere

22.11. -> Potpuni zastoji (deadlocks). Bankarev algoritam.

29.11. -> Scheduling - načini raspoređivanja procesora

9.12. -> KOLOKVIJ

13.12. -> Upravljanje memorijom

10.1. -> Terminal Input/Output, Advanced I/O (canonical and noncanonical mode, IO multiplexing)
link na primjere
Dobrodošla literatura:
W.Richard Stevens: Advanced Programming the Unix Environment (Chapter 11,12)

17.1. -> Klijent-poslužitelj (Unix sockets, socket API)
link na primjere
Dobrodošla literatura:
Beej's Guide to Network Programming
Dave Marchal: Programming in C UNIX System Calls and Subroutines using C sljedeća poglavlja: IPC:Sockets
FAQ about unix sockets

24.1. -> RPC (Remote Procedure Call)
link na primjere Pogledati Dave Marchal: Programming in C UNIX System Calls and Subroutines using C: poglavlje: Protocol Compiling and Lower Level RPC Programming i http://www.cs.cf.ac.uk/Dave/C/node33.html
Java ekvivalent RPC-u je Java RMI. Tutorial se može naći na: http://java.sun.com/docs/books/tutorial/rmi/index.html

24.1. KOLOKVIJ