Operacijski sustavi

Opis predmeta

Operacijski je sustav skup programa koji djeluju kao posrednici između sklopovlja i primjenskih programa te korisnika. Osnovni je cilj predmeta kod studenata razviti razumijevanje da operacijski sustavi služe dvijema svrhama: prvo, da operacijski sustavi moraju raspodijeliti računalne aktivnosti tako da osiguraju dobru iskorištenost računalnih sredstava i, drugo, da uspostave prikladno okruženje za pripremu i izvođenje programa.

Opće kompetencije

Studenti stječu temeljna znanja o načinu djelovanja pojedinih dijelova modernih operacijskih sustava. Studenti će biti sposobni koristiti standardne programske alate za izradu vlastitih programskih modula u kojima će uz pomoć API funkcija moći ostvariti prekidni rad, višezadaćni rad, sinkronizacijske mehanizme dretvi i procesa te međuprocesnu komunikaciju.

Ishodi učenja

  1. napisati višedretveni program i program koji stvara više procesa
  2. demonstrirati rad podsustava za prihvat prekida
  3. primijeniti sinkronizacijske mehanizme
  4. navesti dijelove jezgre operacijskog sustava
  5. analizirati ponašanje determinističkog i nedeterminističkog sustava zadataka
  6. nabrojati i objasniti algoritme raspoređivanja
  7. koristiti funkcije za dodjeljivanje spremnika
  8. razviti vlastite funkcije datotečnog podsustava

Oblici nastave

Predavanja

Nastava na predmetu organizirana je u dva nastavna ciklusa. Prvi ciklus sastoji se od 7 tjedana nastave i međuispita, a adrugi ciklus od 6 tjedana nastave i završnog ispita. Nastava se provodi kroz ukupno 15 tjedana s tjednim opterećenjem od 5 sati.

Provjere znanja

Kratke provjere znanja. Međuispit. Završni ispit.

Laboratorijske vježbe

5 laboratorijski vježbi

Konzultacije

konzultacije

Programske vježbe

Programski se rješavaju zadaci u 5 laboratorijskih vježbi.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Napomena / komentar Udio u ocjeni
Laboratorijske vježbe 0 % 16 % 0 % 0 %
Domaće zadaće 0 % 4 % 0 % 0 %
Kratke provjere znanja 0 % 10 % 0 % 0 %
Međuispit: Pismeni 0 % 30 % 0 %
Završni ispit: Pismeni 0 % 40 %
Ispit: Pismeni 50 % 50 %
Ispit: Usmeni 50 %

Tjedni plan nastave

  1. Uvod. Zadaci operacijskog sustava. Sučelja. Hijerarhijska izgradnja operacijskog sustava. Načini izučavanja operacijskog sustava. Dijelovi operacijskog sustava. Model jednostavnog računala. Uloga procesora i radnog spremnika u rudimentarnom računalu. Instrukcijska dretva. Računalni proces. Zamjena konteksta.
  2. Ulazno-izlazne operacije. Prekidni način rada procesora. Podsustavi za prihvat prekida. Sklopovska potpora za ostvarenje višestrukog prekidanja. Prenošenje blokova znakova. Sklopovi s neposrednim pristupom spremniku.
  3. Programi, procesi i dretve. Višedretveno ostvarenje zadataka, sustav podzadataka. Model višedretvenosti. Nezavisnost dretvi. Međusobno isključivanje dviju dretvi. Dekkerov postupak. Petersonov postupak.
  4. Međusobno isključivanje većeg broja dretvi. Lamportov protokol. Sklopovska potpora međusobnom isključivanju u čvrsto povezanim sustavima. Jednostavni model jezgre. Struktura podataka jezgre.
  5. Opisnik dretve. Stanja dretvi. Jezgrine funkcije za ulazak u jezgru i izlazak iz jezgre. Međusobno isključivanje i sinkronizacija: jezgrine funkcije za binarni i opći semafor.
  6. Jezgrine funkcije za osnovne ulazno-izlazne operacije i ostvarivanje kašnjenja. Ostvarivanje jezgre u čvrsto povezanom višeprcesorskom sustavu. Problem proizovođača i potrošača. Komunikacija preko neograničenog i ograničenog međuspremnika te preko reda poruka.
  7. Sinkronizacija dretvi. Potpuni zastoj. Uvjeti za nastajanje potpunog zastoja. Izbjegavanje potpunog zastoja. Problem 5 filozofa. Hoareov koncept monitora. Primjeri izgradnje monitora.
  8. Međuispit
  9. Vremenska analiza računalnih sustava: osnovne koncepcije i definicije. Ponašanje determinističkog periodnog sustava zadataka. Osnovni modeli stohastičkog sustava zadataka.
  10. Analiza sustava s Poissonovom razdiobom dolazaka i eksponencijalnom razdiobom trajanja obrade. Algoritmi raspoređivanja: raspoređivanje po redu prispijeća, prioritetno i kružno raspoređivanje.
  11. Logički i fizički adresni prostor. Diskovi kao glavni pomoćni spremnici. Statičko i dinamičko dodjeljivanje spremnika. Interna i eksterna fragmentacija.
  12. Načela preklopnog načina uporabe spremnika. Straničenje kao osnova za ostvarenje virtualne memorije.
  13. Sklopovska podloga straničenju. Straničenje na zahtjev. Strategije zamjene stranica.
  14. Datotečni podsustav. Smještaj datoteka na diskovima. Opis spremničkog prostora. Opisnici datoteka. Tipične funkcije datotečnih sustava.
  15. Završni ispit

Studijski programi

Sveučilišni preddiplomski
Računarstvo (studij)
(3. semestar)

Literatura

Budin, L.; Golub, M; Jakobovic, D., Jelenkovic, L (2010.), Operacijski sustavi, Element, Zagreb
Silberschatz, A., P.B. Galvin, G. Gagne (2003.), Operating Systems Concepts, John Wiley&Sons, New York
Tannenbaum, A. S. (2001.), Modern Operating Systems, Prentice Hall
Silberschatz, A., P.B. Galvin, G. Gagne (2000.), Applied Operating Systems Concepts, John Wiley&Sons, New York

Predavanja

Laboratorijske vježbe

Izvedba

ID 31501
  Zimski semestar
7 ECTS
R1 Engleski jezik
R1 E-učenje
75 Predavanja
0 Auditorne vježbe
15 Laboratorijske vježbe

Ocjenjivanje

88 izvrstan
75 vrlo dobar
63 dobar
50 dovoljan