Anketa

Na ovoj stranici trenutno nije odabrana niti jedna anketa!

Repozitorij

Repozitorij je prazan

Operacijski sustavi

Šifra: 45691
ECTS: 5.0
Nositelji: doc. dr. sc. Leonardo Jelenković
Izvođači: doc. dr. sc. Leonardo Jelenković - Auditorne vježbe
Engleski jezik:

1,0,0

Nastava se odvija na hrvatskom jeziku u svim svojim elementima, a stranim studentima koji su pridruženi mješovitoj grupi nudi se mogućnost savladavanja predmeta pomoću dodatnih izravnih konzultacija s nastavnikom i asistentima na engleskom jeziku. Pri tome, nastavnik stranog studenta upućuje na odgovarajuću literaturu na engleskom jeziku te mu osigurava mogućnost polaganja predmeta na engleskom jeziku.
Opterećenje:

1. komponenta

Vrsta nastaveUkupno
Predavanja 30
Auditorne vježbe 15
* Opterećenje je izraženo u školskim satima (1 školski sat = 45 minuta)
Opis predmeta:
CILJ KOLEGIJA: Upoznati se građom i načinom rada suvremenih operacijskih sustava.

NASTAVNI SADRŽAJI:
Slojevita hijerarhijska struktura operacijskih sustava. Operacijski sustav kao sučelje korisnika prema računalnim sustavima. Model dretve (izvođenja niza instrukcija) u rudimentarnom računalu. Ostvarivanje višedretvenosti promjenom konteksta dretvi. Proširenje rudimentarnog računala ulazno-izlaznim napravama. Prenošenje pojedinačnih znakova. Prekidni način rada. Sklopovski i programski prekidi. Prenošenje niza znakova neposrednim pristupom spremniku. Odvijanje dretvi u višeprocesorskim sustavima. Programi, procesi, dretve. Dretveni adresni prostori kao podprostori procesnog adresnog prostora. Višedretveno ostvarenje zadataka. Zavisne i nezavisne dretve. Uvjeti određenosti u sustavu dretvi. Međusobno isključivanje dretvi. Sklopovska potpora međusobnom isključivanju. Jednostavni model jezgre kao okruženja za izvođenje dretvi. Stanja dretvi. Struktura podataka jezgre. Načini pozivanja jezgrinih funkcija. Funkcije za binarne i opće semafore, za obavljanje ulazno-izlaznih operacija i ostvarivanje kašnjenja. Komunikacija između dretvi ostvarena jezgrinim funkcijama. Problem proizvođača-potrošača. Sinkronizacija dretvi. Problem potpunog zastoja. Koncepcija monitora. Proširenje jezgre funkcijama za ostvarivanje monitorskih funkcija. Koordinacija i sinkronizacije dretvi monitorima. Analiza vremenskih svojstava računalnih sustava. Raspoređivanje dretvi u determinističkim sustavima. Osnovni modeli ponašanja sustava raspoređivanja u nedeterminističkim sustavima. Posluživanje dretvi redom prispijeća i kružno posluživanje. Gospodarenje spremničkim prostorom. Svojstva pomoćnih spremnika. Statičko i dinamičko dodsjekjivanje radnog spremnika. Problemi fragmentacije. Načela ostvarenja virtualnog spremnika. Preklopni način uporabe radnog spremnika. Dodsjekjivanje spremnika straničenjem. Logički i fizički adresni prostor: stranice logičkog adresnog prostora i okviri fizičkog spremnika. Tablice za prevođenje logičkih u fizičke adrese. Straničenje na zahtjev. Sklopovska potpora straničenju: priručni spremnik za prevođenje adresa (TLB). Usporavanje izvođenja procesa zbog promašivanja stranica. Strategije zamjene stranica u okvirima. Radni skup stranica. Uloga datoteka u računalnim sustavima. Struktura datoteka. Načini smještanja datoteka na diskovima. Opisnik datoteke. Datotečne tablice. Načela ostvarenja datotečnih funkcija: stvaranje i uništavanje datoteka, otvaranje i zatvaranje, čitanje i pisanje. Komunikacije između procesa unutar jednog računalnog sustava: dijeljeni spremnički prostor, razmjena poruka između procesa (između dretvi različitih procesa). Osnove umrežavanja. Komunikacije u raspodijeljenim sustavima: razmjena poruka, poziv udaljenih procedura, raspodijeljeni dijeljeni spremnički prostor. Međusobno isključivanje u raspodijeljenim sustavima: vremensko uređenje događaja, lokalni i globalni logički sat. Protokoli međusobnog isključivanja: centralizirani protokol, protokol s putujućom značkom, Lamportov raspodijeljeni protokol.
Literatura:
Preduvjeti za:
Upis predmeta :
Odslušan : Građa računala

Polaganje predmeta :
Položen : Građa računala
2. semestar
Obavezni predmet - Redovni Studij - Računarstvo i matematika
Termini konzultacija:

SADRŽAJ

Link na stranicu kolegija: http://www.zemris.fer.hr/~leonardo/os/math/


Predaja će se obavljati u srijedu 9. lipnja s početkom u 17:00 sati za prvu grupu studenata.
Vrijeme kad će započeti "ispitivanje" studentima je objavljeno u moodle-u, u "povratnoj informaciji" rubrike LAB3+4demo.

U predviđeno vrijeme spojiti se na Zoom (sastanak koji se inače koristi za predavanja).

Na "predaji" će biti zadani "zadaci" koje treba napraviti, tj. neke promjene koda. Primjeri izmjena navedene su u nastavku. Tražiti će se dvije promjene, u LAB3 i LAB4.

Prije početka rada kopirati direktorije lab3 u lab3x te lab4 u lab4x. Promjene raditi u tim diretktorijima. Po završetku te direktorije dodati u repozitorij (git add lab3x lab4x ; git commit -m "lab3+4 predaja" ; git push).

Lab3 (lab3a ili lab3b - bit će zadano studentu)
Skicirati (na svom kodu) promjene tako da:

Lab3-1. neradne dretve ne uzimaju poruku iz MS ako bi on ostao prazan

Lab3-2. u MS uvijek budu tri nepročitane poruke (osim početno kada je prazan)

Lab3-3. radne dretve ne stavljaju poruke u MS ako bi on tada bio pun

Lab3-4. uvijek ostaviti tri mjesta u MS (npr. tako da neka hipotetska prioritetna dretva može uvijek staviti do tri svoje poruke u MS - ne pisati kod te dretve)

Lab3-5. neradne dretve uzimaju dva uzastopna broja iz MS, ali koriste samo drugi uzeti (paziti da dvije različite dretve ne uzmu svaka po broj!)

Lab3-6. svaki broj koji generiraju radne dretve trebaju uzeti dvije neradne dretve

Lab4

Lab4-1. Promijeniti "najbolji odgovarajući" u prvi odgovarajući.

Lab4-2. Promijeniti "najbolji odgovarajući" u najgori odgovarajući (najveći blok se dodjeljuje, tj. jedan njegov dio).

Lab4-3. Kada više nema mjesta u memoriji (zauzmi vrati -1) onda dretve koje su ipak zauzele memoriju nakon oslobađanja ne odblokiraju automatski blokirane dretve. Tek će zadnja takva dretva (kad je sva memorija opet slobodna) odblokirati sve blokirane dretve.

Lab4-4. Pretpostaviti da id predstavlja prioritet dretve. U slučaju da nema slobodne memorije, dretva tada treba osloboditi memoriju koju koriste manje prioritetne dretve i ponovno pokušati zauzeti memoriju.

Lab4-5. Predvidjeti potrebu za dvostruko više memorije, ali inicijalno koristiti samo pola od te (zauzete) memorije. Tek pri situaciji da se novi zahtjev ne može poslužiti početi koristiti i preostali dio zauzete memorije.

LAB4-6. Kada više nema mjesta u memoriji (zauzmi vrati -1) defragmentirati zauzetu memoriju i pokušati ponovno zauzeti. Defragmentirati znači da se zauzete dijelove pomakne tako da se svi slobodni dijelovi spoje u jedan slobodni blok.

Autor: Leonardo Jelenković
Popis obavijesti