Operativni sistemi (MSS)

Cilj predmeta

Upoznavanje sa funkcijama operativnih sistema, principima njihovog projektovanja i implementacije.

Ishod predmeta

Poznavanje savremenih operativnih sistema. Razumevanje ključnih razlika između objektno-orijentisanih, modularnih, slojevitih ili sistema zasnovanih na mikrokernelu. Poznavanje konkurentnog izvršavanja kao i problema koji tom prilikom nastaju. Poznavanje raspoređivanja. Razumevanje mehanizama virtuelne memorije, vitruelnih uređaja i sistema datoteka.

Sadržaj predmeta

Teorijska nastava

Uloga i cilj operativnog sistema. Osnovni principi. Apstrakcije, procesi, resursi. Kernel i zaštita memorije. Zaštićeni režim rada procesora. Nivoi privilegija i prekidi u zaštićenom režimu rada. Sistemski pozivi. Multitasking i zamena konteksta. Stanja taskova i istiskivanje. Raspoređivanje. Primeri procesa i kernela za Unix, Solaris, Linux i Windows. Mikrokernel arhitektura. Pojam datoteke. Sistemi datoteka. Mehanizmi dodeljivanja slobodnog prostora. Primeri nekih sistema datoteka. Upravljanje memorijom. Fiksne i dinamičke particije. Straničenje i segmentacija. Straničenje na zahtev i virtuelna memorija. Zamene stranica. Konkurentno izvršavanje. Mehanizmi uzajamnog isključivanja i sinhronizacije među nitima i procesima.

Praktična nastava

Rad u konzoli – cd, pwd, gcc, make, mount, grep i sl. Prevođenje sistema Linux, pisanje korisničkih programa, montiranje diska i testiranje. C i asm, upotreba #include i #define, ključne reči extern i static, kako se C i asm pišu zajedno, primeri. TTY, fs deo Linux sistema – pipe, char, file, block. Tastatura, prekidna rutina za tastaturu, konvertovanje scan u ASCII, bibliotečke funkcije. Zaštićeni režim rada procesora, sistemski pozivi. Linux boot – čitanje diska, ulaz u zaštićeni režim, postavljanje sistemskih tabela. Rad sa procesima i nitima – fork, exec, sched. HDD, particije, Minix FS. MMU – paging, prekidi i bibliotečke funkcije. Niti – stanje trke i uzajamno isključivanje. Rešavanje problema sinhronizacije, ključevi, muteksi i semafori.