Operativni sistemi

Cilj i ishod predmeta

Upoznavanje sa namenom i funkcijama operativnih sistema, kao i sa osnovnim principima projektovanja i implementacije operativnih sistema. Poznavanje savremenih operativnih sistema. Razumevanje ključnih razlika između objektno-orijentisanih, modularnih, slojevitih ili sistema zasnovanih na mikrokernel arhitekturi. Poznavanje mehanizama konkurentnog izvršavanja kao i problema koji tom prilikom nastaju. Poznavanje algoritama raspoređivanja. Razumevanje koncepta virtuelne memorije, virtuelnih uređaja i sistema datoteka.

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. Algoritmi raspoređivanja. Primeri procesa i kernela za Unix, Solaris, Linux i Windows. Mikrokernel arhitektura. Pojam datoteke. Sistemi datoteka. Sadržaj i struktura direktorijuma. Dodeljivanje slobodnog prostora. Primeri nekih sistema datoteka. Upravljanje memorijom. Fiksne i dinamičke particije. Straničenje i segmentacija. Straničenje na zahtev i virtuelna memorija. Algoritmi 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, GDT, LDT, IDT, sistemski pozivi. Linux boot – čitanje diskete, ulaz u zaštićeni režim, postavljanje GDT, LDT i IDT tabela. Rad sa procesima i nitima – TSS, 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.

3027-operativni-sistemi