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/


Bodovi iz druge laboratorijske vježbe su uneseni (Lab2-rep i Lab2-test). Kao i inače, ako je bio samo kod u repozitoriju, ali student nije "predao vježbu" (test na predavanjima), onda se ne dobivaju bodovi ni za kod. I obratno, ako nema koda (ili ne valja kod u repozitoriju) onda se ne dobivaju ni bodovi s testa.

Mnogi studenti ne paze na izgled koda. Tekst iz uputa:

Izvorne tekstove programa pisati prema uobičajenim pravilima. Posebice paziti na strukturu koda, 'uvlačenje', razmake te lomljenje preduge linije!). Primjer stila pisanja koda u C-u prikazan je u https://www.kernel.org/doc/Documentation/process/coding-style.rst. Jedan od razloga lošeg izgleda koda jest što studenti miješaju korištenje tabulatora i razmaka za ostvarenje uvlaka. Takav program u drugim okolinama (npr. koje koriste druge dimenzije za tabulator) izgleda nečitljivo. KONZISTENTNO koristiti ILI samo tabulatore (preporučeno) ILI samo razmake za uvlake.

Pogledajte kod kroz naredbu 'less' (kako se on zapravo pregledava), npr. 'less lab2.c'. U mnogim slučajevima to izgleda nečitljivo! Od iduće vježbe to će se 'nagraditi' s nula bodova na repozitoriju.

Nekoliko studenata ne koristi Makefile. Ili je on nehotice izostavljen u repozitoriju ili ga uopće ne koristite. Dodajte ga u repozitorij i ispitajte da radi ispravno (make pokreni).

Neki studenti nisu podijelili kod u više datoteka kako je to traženo. Popraviti to za lab3 (minimalno lab3.c, datoteke.c, signali.c + zaglavlja). Jedna od ideja vježbi jest i pokazati upravljanje kodom koji se nalazi u više datoteka kroz alat make, tj. opis u datoteci Makefile. Stoga ne "kemijati" s Makefilom već ga koristiti kako je zamišljen.

Autor: Leonardo Jelenković
Popis obavijesti