Najcesca pitanj Flashcards

1
Q
  1. Navedite i objasnite barem po dva sustavska poziva za rukovanje procesima, rad s datotekama i rad s direktorijima.
A

Rukovanje procesima: fork-kreira novi proces dijete koje je kopija roditelja, waitpid-čeka da se proces dijete završi
Rad s datotekama: open-zahtjeva ime datoteke, putanju (apsolutnu ili relativnu) te kod načina otvaranja, close
Rad s direktorijima: mkdir- stvara prazan direktorij, rmdir- uklanja prazan direktorij
Razne zadaće: chdir-mijenja trenutni direktorij, chmod-mijenja način korištenja datoteka

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. Navedite uobičajene događaje (i primjere) koji dovode do stvaranja procesa, te objasnite razliku u stvaranju procesa u UNIXu/LINUXU i WINDOWSIMA.
A

a) Inicijalizacija sustava
* kod boot-a stvaraju se prednji (sučelje prema korisniku)
i pozadinski(daemons) (primanje e-mail-a, zahtjev za web stranicom) procesi.
* Lista procesa: UNIX - ps, Windows - CTRL-SHIFT-ESC

b) Izvođenje sustavskog poziva za stvaranje procesa od strane pokrenutog procesa

c) Zahtjev korisnika za stvaranje novog procesa (korisnik s ENTER ili dvoklik pokreće program. To pokreće novi proces i pripadajuće zadatke – više otvorenih prozora u Windowsima)

d) Iniciranje nakupine poslova (batch job) – korisnik postavlja poslove sustavu na izvođenje, a kada OS odluči da ima resursa za neki posao, kreira novi proces i pokreće sljedeći posao iz reda čekanja.

e) Sustavski poziv:
* u UNIX-u fork nakon kojega imamo dva procesa (roditelj i dijete) koji imaju jednaku sliku u memoriji, okolinu i otvorene datoteke. Dijete izvodi execve ili sličan poziv koji mijenja sliku u memoriji i pokreće novi program
* u Windows-ima CreateProcess obavlja kreiranje procesa i učitavanje odgovarajućeg programa u novi proces. Poziv ima 10 parametara

f) U oba OS-a, nakon što je proces kreiran, i dijete i roditelj imaju vlastite odvojene adresne prostore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. Prikažite i objasnite kako se semafori koriste za zaštitu (jednog i dva) resursa.
A

a) Ako imamo jedan resurs, proces mora obavljati poziv semaforu za zahtjev resursa (down), obavljanje rada sa resursom i onda oslobađanje resursa (up)
b) Ako imamo dva resursa, moramo prvo obaviti poziv semaforu za zahtjev jednog pa drugog resursa i tek kada su oba slobodna možemo obaviti rad na resursu. Nakon obavljenog rada resurs oslobađamo preko semafora.

Slika u wordu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. Navedite i ukratko objasnite preventivne mjere protiv zastoja.
A

a) Međusobno isključivanje- resurse dodjeljivati samo ako je nužno potrebno, da što manje procesa istovremeno tražiti resurse

b) Držanje i čekanje- zahtijevati da proces traži resurse prije pokretanja, te da oslobodi sve resurse prije traženja novih

c) Neprekidivost- često nije dobro naglo prekinuti proces

d) Kružno čekanje- resurse normalno poredati

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. Što su rukovoditelji prekida i koje korake moraju obaviti po završetku prekida?
A

Rukovatelji prekida su prekidne rutine u operacijskom sustavu čije je izvođenje aktivirano pri prekidu. Sadržavaju više različitih funkcija koje se razlikuju po tome kakav je prekid u pitanju. Prekidna rutina izvršava prekid a zatim odblokira pogonski program koji ju je pokrenuo, putem semafora, signala ili slanjem poruke. Nakon toga, pogonski program se može ponovno pokrenuti.

Obavlja sljedeće korake:
a) Sprema registre koji nisu spremljeni od strane prekidnog sklopovlja
b) Postavlja okolinu za posluživanje procedure prekida
c) Postavlja stog za posluživanje procedure prekida
d) Obavještava prekidni upravljači sklop i ponovno dozvoljava prekid
e) Kopira registre s mjesta gdje su bili spremljeni u tablicu procesa
f) Pokreće proceduru posluživanja
g) Postavlja okolinu MMU (Memory Management Unit) za proces koji se slijedeći pokreće
h) Pohranjuje nove registre procesa
k) Pokreće novi proces

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Objasnite organizaciju prostora na disku Linux sustava u particije te princip montiranja.
A

a) U Linuxu nalazimo barem dvije particije, jednu za operacijski sustav i drugu swap particiju (privremena radna memorija kada računalu ponestane RAM-a).
b) Montiranje je spajanje bilo koje disk particije u Linuxovo stablo direktorija u za to predviđen direktorij, te će se nakon toga podatci iz te particije reprezentirati kao sadržaj tog direktorija koji predstavlja točku montiranja particije.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Kako se izvodi prijava korisnika upotrebom biometrijskih obilježja?
A

Za prijavu korisnika koriste se fizička obilježja osobe koja su jedinstvena za svaku osobu i teška ili nemoguća za krivotvorenje: otisak prsta, šarenica, glas, potpis… Podatak se prvo mjeri, digitalizira i enkriptira i onda se koristi za identifikaciju pri prijavi korisnika.
Dva koraka:
a) Unos (mjerenje, digitaliziranje)
b) Identificiranje (unos imena, ponovno mjerenje, usporedba, prihvat/odbijanje)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Ukratko objasnite osnovna obilježja Windowsa 10.
A

a) 32-bitni/64-bitni prekidivi višezadaćni OS za Intel i AMD mikroprocesore
b) Glavni ciljevi: – sigurnost – pouzdanost – proširivost – prenosivost – međunardna podrška – energetska učinkovitost – dinamička podrška uređajima.
c) Podržava više OS-a koristeći tzv. korisničke podsustave (user-mode subsystems).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Navedite korake razvoja Android aplikacije, te objasnite ulogu pojedinih komponenti aplikacije (Activities, Intents, Services, Content Providers, Broadcast Receivers, te ostalih komponenti).
A

Razvoj Android aplikacije:
a) Definiranje grafičkog korisničkog sučelja (GUI)
b) Upravljanje događajima (events)
c) Upravljanje podacima aplikacije
d) Pozadinske (background) operacije
e) Obavijesti prema korisniku
Activities:
Odgovara jednom zaslonu/prozoru aplikacije
Aktivnosti međusobno razmjenjuju informacije
Svaka aktivnost sastoji se od liste grafičkih komponenti
Dva su pristupa u izgradnji grafičkog sučelja: programatski (Java kod) – upravlja događajima i rukuje međudjelovanjem korisnikom; deklarativni (XML kod) – definira dizajn/razmještaj/layout i resurse koje aplikacija koristi

Intents:
Asinkrone poruke za aktiviranje osnovne Android komponente kao što su Activities
Ekplicitni Intent – komponenta određuje odredište druge komponente
Implicitni Intent – komponenta određuje tip namjene
Services:
Kao Activities, ali pokrenute u pozadini i ne omogućuju korisničko sučelje
Koriste se za tzv. neinteraktivne zadatke
Životni vijek usluge sastoji se od tri stanja: starting, running i destroyed
Content Provides:
Standardno sučelje za pristup dijeljenim podacima među različitim aplikacijama
Svaka Android aplikacija ima vlastiti privatni skup podataka kojima se upravlja preko datoteka ili SQLite baze podataka
Broadcast Receivers:
Aplikacija koja signalizira vanjske događaje
Tipovi obavjesti: dolazni poziv, isporuka SMS-a, otkrivanje mreže i slično

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. Navedite i ukratko opišite najznačajnije vrste operacijskih sustava prema računalnoj okolini i prema namjeni.
A

a) Operacijski sustavi velikih računala (mainframe, vratili se kao veliki web poslužitelji)- slijed poslova, obrada transakcija, podjela vremena, posluga brojnih korisnika

b) Operacijski sustavi poslužitelja- jači PC-i, radne stanice ili mainframe računala, posluga velikog broja korisnika koji dijele sklopovlje, programe i podatke

c) Višeprocesorski operacijski sustavi- razlika u načinu spajanja i dijeljenu resursa: paralelna računala, višeračunalni i višeprocesorski sustavi (posebnost: komunikacija, spajanje)

d) Operacijski sustavi osobnih računala- dobro sučelje prema korisniku (Windows, Linux)

e) Operacijski sustavi za rad u stvarnom vremenu (real-time)- strogi, ublaženi i postojani vremenski zahtjevi, mobilni, Ecos

f) Operacijski sustavi ugradbenih računalnih sustava (embedded)- smanjeni resursi: kućanski aparati, TV, automobili: Windows CE, Windows Embedded, TV OS, Linux, Embedded Linux, QNX, VxWorks

g) Operacijski sustavi senzorskih čvorova- Tiny OS

h) Operacijski sustavi pametnih kartica (smart card) - pokreću se na kartici, JVM interpreter, Java Appleti, jedna ili više jednostavnih mogućnosti

i) Operacijski sustavi ručnih računala i mobilnih uređaja- PDA, mali uređaji, pametni telefoni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. Objasnite što je DMA, koja mu je zadaća i kako je izveden.
A

DMA (Direct Memory Access) je svojstvo modernih računalnih sustava koje određenim sklopovskim podsustavima omogućava pristup memoriji nezavisno o CPU. CPU bez ovog svojstva zahtjeva od U/I sklopa bajt po bajt. Sa DMA, CPU inicira prijenos i vrši druge operacije dok je prijenos u trajanju te prima prekid od DMA kontrolera kad je operacija završena.
Koriste Disk drive kontroleri, grafičke, mrežne, zvučne kartice.
Izvedba:
1 - CPU programira DMA i kaže upravljačkom sklopu da čita s diska u unutarnji spremnik i provjeri ispitni zbroj
2 - DMA pokreće prijenos izdavanjem zahtjeva sa čitanjem preko sabirnice upravljačkom sklopu
3 - Pisanje u memoriju
4 - Na kraju pisanja, upravljački sklop šalje ACK blok
Koraci 2 - 4 se ponavljaju dok broj bajta ne bude 0 kada DMA prekida CPU

Moja skripta stranica 43 slika.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. Ukratko objasnite NTFS datotečni sustav, skicirajte raspored, te ukratko usporedite NTFS s FAT32 datotečnim sustavom.
A

Master File table (MFT) raste, nikad se ne smanjuje. Sadržava informacije o svim datotekama i direktorijima. Prvih 16 MFT unosa rezervirano je za datoteke koje opisuju sustav. Svaka datoteka počinje sa ‘$’. Poboljšava sigurnost, omogućava šifriranje datoteka i mapa te ograničava pristup datotekama.

a) NTFS ima max veličinu datoteke 16 TB (FAT32 je 4GB) i znatno duže ime datoteke (8.3 char vs 255 char)
b) S povećanjem količine datoteka ne opadaju performanse
c) NTFS omogućava enkripciju i kompresiju datoteka

slika u wordu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. Što je digitalni potpis i kako se izvodi? Skicirajte i objasnite postupak stvaranja digitalnog potpisa.
A

Digitalni potpis je matematička shema za dokaz autentičnosti digitalne poruke, daje primatelju poruke dokaz da je poruka bez izmjene poslana od poznatog izvora.
Dokument se propušta kroz jednosmjerni hashing algoritam. Korištenjem kriptiranja javnim ključem se primjenjuje na dobiveni hash i dodaje dokumentu. Prijemnik najprije računa hash pa zatim koristi javni ključ kako bi provjerio hash koji je dobio - oni se moraju podudarati. Uz poruku, certifikat sadrži ime, javni ključ i digitalni potpis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. Objasnite sigurnost datotečnog sustava, prava pristupa datotekama i direktorijima i kategorije prava. Na primjeru usporedite simbolički i oktalni mod za mijenjanje pristupnih prava datotekama i direktorijima.
A

a) Sigurnost datotečnog sustava temelji se na pravima koja određuju koji korisnici mogu pristupiti pojedinim datotekama i direktorijima datotečnog sustava i što s njim mogu raditi.

’-‘ za datoteke, ‘d’ za direktorije

b) Prava pristupa datotekama i direktorijima:
‘r’ – čitanje
‘w’ – pisanje
‘x’ – izvršavanje/pokretanje

c) Kategorije prava:
Vlasnik (Owner) – korisnik koji je kreirao ili ima datoteku u vlasništvu
Grupa (Group) – grupa koja ima prava nad datotekom
Ostali (Others) – svi ostali koji nisu vlasnik datoteke i ne pripadaju grupi koja ima prava nad datotekom, ali imaju prava pristupa sustavu

d) Simbolički mod mijenja prava pristupa relativno u odnosu na trenutna prava:
* chmod mod naziv_datoteke: o mod se sastoji od tri dijela:
kategorija korisnika na koju se odnosi naredba: ‘u’ – user, ‘g’ – group, ‘o’ – other, ‘a’ – all
operator koji se koristi: =, +, -
pravo koje se postavlja (=), dodaje (+) ili oduzima (-): r, w, x

Oktalni mod numerički mijenja prava na datoteci za sve kategorije istovremeno:
* chmod octal_mod naziv_datoteke ili chmod –R octal_mod naziv_direktorija: o 4 – Read o 2 – Write o 1 – Execute

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. Navedite i ukratko objasnite moguća stanja procesa, te skicirajte dijagram prijelaza za 5 stanja procesa. (ima samo ovo i proširen sa suspendiranim stanjem)
A
  1. Novi (New): Proces je stvoren i spreman je za daljnje obrađivanje.
  2. Spreman (Ready): Proces je spreman za izvršavanje i čeka na dodjelu resursa od strane operacijskog sustava.
  3. Izvršavanje (Running): Proces je trenutno izvršavan i dobiva CPU vrijeme.
  4. Suspenzija (Suspend): Proces je privremeno zaustavljen, ali nije završen i njegove privremeno stanje se čuva u radnoj memoriji.
  5. Završen (Terminated): Proces je završen i njegovo stanje se ne čuva u radnoj memoriji.

slika na 17 stranici moje skripte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Navedite i ukratko objasnite tri vrste datoteka prema strukturi.

A

a) Slijed bajtova
b) Slijed zapisa
c) Stablo

a) Operacijski sustav ne poznaje pravi sadržaj datoteke nego samo vidi bajtove. Takva struktura datoteka omogućuje maksimalnu razinu fleksibilnosti, a koriste ju UNIX i Windows.
b) Slijed zapisa fiksne duljine koji imaju određenu unutarnju strukturu. Centralna ideja oko ovakvog zapisa leži u načinima čitanja i zapisivanje datoteke kao jedan zapis.
c) Zapisi ne moraju biti jednake duljine, a svaki sadrži ključ prema kojem se stablo sortira. Ovakav način sortiranja je prikladan za brzo pretraživanje, a koriste ga mainframe računala za komercijalno procesiranje podataka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q
  1. Kako je izveden i na čemu je zasnovan: a) programirani U/I b) prekidima pokrenut U/I c) DMA zasnovan U/I
A

a) - korisnički proces ispisa 8-znakovnog stringa “ABCDEFGH” koji se najprije sastavlja u korisničkom prostoru
- korisnički proces sustavskim pozivom otvara pisač ako je slobodan ili čeka
- zatim kopira sadržaj spremnika u jezgru i ispituje je li pisač slobodan, čim je slobodan kopira znak u spremnik pisača, znak se u (b) ispisuje i čeka idući, OS čeka na pisač ispisuje B u (c) – stalno prozivanje uređaja na spremnost

b) - pisač ne pamti znakove, ali ispisuje sve koji dođu (npr. 100zn/s – svaki znak 10ms)
- nakon spremanja znaka u spremnik pisača, CPU ne radi ništa 10 ms do sljedećeg
- bolje da nešto radi – prekidi
- nakon prvog znaka, CPU zove raspoređivač i pokreće se neki drugi proces, a proces ispisa se blokira (a), a (b) prikazuje prekidnu rutinu pisača

c) - nedostatak prekida – prekid iza svakog znaka -> narušava određeno vrijeme CPU
- DMA uzima jedan po jedan znak pisaču bez CPU
- smanjuje broj prekida s prekid po znaku na prekid po spremniku
- sporiji je od CPU, pa se ne rabi kada ne može koristiti punu brzinu uređaja ili CPU nema puno drugog posla

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  1. Ukratko objasnite što je jezgrin, a što korisnički način rada operacijskog sustava i kako se postižu. Objasnite što je sustavski poziv i navedite 3 primjera za operacijski sustav Linux.
A

Jezgrin način rada ima ovlasti pristupati svim mogućnostima sklopovlja
Korisnički način rada je ograničen način rada I štiti sklopovlje od korisnika, samo podskup instrukcija i podskup mogućnosti.

a) 1., 2. i 3. Pozivajući program najprije stavlja parametre na stog (1. i 2. parametar pozivaju se po vrijednosti, a treći po referenci)
b) Poziv bibliotečne procedure
c) Bibliotečna procedura stavlja broj sustavskog poziva u registar.
d) OS izvodi instrukciju TRAP s ciljem prijelaza iz korisničkog u jezgrin način rada.
e) Jezgrin kod utvrđuje broj poziva i dodjeljuje ga odgovarajućem rukovatelju poziva (handleru)
f) Pokreće se rukovatelj sustavskog poziva.
g) Kada rukovatelj odradi, nadzor se vraća bibliotečnoj proceduri korisničkog prostora, odnosno instrukciji koja slijedi TRAP instrukciju.
h) Ta procedura vraća se na razinu korisničkog programa.
i) Za potpuni završetak, korisnički program briše stog i to poslije svakog poziva procedure.

Sustavski poziv je sučelje između OS-a i korisničkih programa definirano skupom sustavskih poziva koje omogućuje OS.

Primjeri: fork(), exit(), exec(), open(), read(), write(), close()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. Na primjeru (pomoću C ili pseudokoda) pokažite i objasnite upotrebu Petersonovog rješenja za međusobno isključivanje.
A

include <stdio.h></stdio.h>

#include <pthread.h></pthread.h>

int flag[2];
int turn;
const int MAX = 1e9;
int ans = 0;

void lock_init()
{
flag[0] = flag[1] = 0;
turn = 0;
}

void lock(int self)
{
flag[self] = 1;
turn = 1-self;
while (flag[1-self]==1 && turn==1-self) ;
}

void unlock(int self)
{
flag[self] = 0;
}

void* func(void *s)
{
int i = 0;
int self = (int *)s;
printf(“Thread Entered: %d\n”, self);
lock(self);
for (i=0; i<MAX; i++)
ans++;
unlock(self);
}

// Driver code
int main()
{
pthread_t p1, p2;
lock_init();

pthread_create(&p1, NULL, func, (void*)0);
pthread_create(&p2, NULL, func, (void*)1);
 
pthread_join(p1, NULL);
pthread_join(p2, NULL);
 
printf("Actual Count: %d | Expected Count: %d\n",
                                    ans, MAX*2);
return 0; }

Prije upotrebe dijeljenih varijabli proces poziva enter_region sa svojim vlastitim brojem procesa, 0 ili 1, kao parametrom.
Taj poziv uzrokuje njihovo čekanje do sigurnog ulaska u K.O.
Nakon završetka s dijeljenim varijablama, proces zove leave_region da pokaže da je gotov i dozvoli drugom procesu ulazak u K.O. Početno nijedan proces nije u K.O. Tada proces 0 poziva enter_region. To pokazuje njegov interes postavljanjem turn u 0. Ako proces 1 pozove enter_region, on tamo ostaje dok interested[0] ne bude FALSE…

20
Q
  1. Ukratko opišite što su pogonski programi.
A

Programi smješteni ispod ostalih dijelova OS-a koji nam omogućuju rad sa U/I uređajima. To je potreban kod da bi računalo moglo komunicirati i upravljati sa U/I uređajem. Modeli različitih perifernih uređaja imaju različite karakteristike, a s time i broj registara, naredbe, kapacitete, funkcije etc.

21
Q
  1. Navedite i opišite svaki od koncepata (načela) rada OS-a.
A

Procesi - proces je program u izvođenju. Svakom procesu pridružujemo:
* adresni prostor- sadrži izvršni program, podatke programa i stog, odakle može čitati i pisati
* Skup registara (PC, SP i drugi)

2) Zastoji
* kada dva ili više procesa međudjeluju, mogu izazvati situacije iz kojih ne mogu izaći.

3) Rukovanje memorijom
* zbog više programa istovremeno u memoriji OS mora rukovati memorijom i zaštiti glavnu memoriju (fizička i prividna (virtualna) memorija), te osigurati memorijski prostor procesima

4) Ulaz/izlaz podataka
* OS ima U/I podsustav koji brine o vrlo različitim i zahtjevnim U/I uređajima (pogonski programi – dio neovisan o uređaju, a dio poseban za svaki uređaj i za svakog proizvođača)

5) Datotečni sustav
* sakriva složenost U/I uređaja i pruža korisniku čisti apstraktni model datoteka i direktorija neovisnih o uređaju
* organiziran hijerarhijski u obliku stabala
* “UNIX – mounting file system: omogućuje rad s prenosivim U/I uređajima (CD, FDD)
* Posebne datoteke: UNIX – posebne datoteke omogućuju pristup I/O uređajima kao datotekama
o postoje blok datoteke (diskovi) i znakovne datoteke (pisač, modem)
o Cjevovod - vrsta pseudo-datoteke koja se može koristiti za spajanje dva procesa -
ako proces A želi poslati podatke procesu B, on piše u cjevovod kao u izlaznu datoteku -
proces B može čitati te podatke iz cjevovoda kao iz ulazne datoteke

6) Sigurnost
* tajni podaci dostupni samo ovlaštenim korisnicima
* datoteke u UNIX-u zaštićene 9-bitnim binarnim kodom
* zaštita od nametljivaca (ljudi, virusa)

7) Ljuska (shell)
* OS je kod koji izvodi sustavske pozive
* UNIX ima shell interpreter naredbi – shell (sh, csh, ksh….), odzivni znak (prompt)

8) Recikliranje koncepata

22
Q
  1. Navedite i ukratko opišite: događaje koji dovode do stvaranja procesa te uobičajene razloge završetka procesa.
A

a) Inicijalizacija sustava
* kod boot-a stvaraju se prednji (sučelje prema korisniku)
i pozadinski(daemons) procesi

b) Izvođenje sustavskog poziva za stvaranje procesa od strane pokrenutog procesa

c) Zahtjev korisnika za stvaranje novog procesa

d) Iniciranje nakupine poslova (batch job) – korisnik postavlja poslove sustavu na izvođenje, a kada OS odluči da ima resursa za neki posao, kreira novi proces i pokreće sljedeći posao iz reda čekanja.

e) Sustavski poziv:
* u UNIX-u fork nakon kojega imamo dva procesa (roditelj i dijete) koji imaju jednaku sliku u memoriji, okolinu i otvorene datoteke. Dijete izvodi execve ili sličan poziv koji mijenja sliku u memoriji i pokreće novi program
* u Windows-ima CreateProcess obavlja kreiranje procesa i učitavanje odgovarajućeg programa u novi proces. Poziv ima 10 parametara

f) U oba OS-a, nakon što je proces kreiran, i dijete i roditelj imaju vlastite odvojene adresne prostore

a) Normalni izlazak (svojevoljno), nakon obavljenog posla.
b) Izlazak zbog pogreške (svojevoljno), odnosno otkrivene pogreške.
c) Fatalna pogreška (nije svojevoljno), često zbog pogreške u programu.
d) Ubijanje od strane drugog procesa (nije svojevoljno), gdje proces izvodi sustavski poziv koji OS-u govori da ubije neki drugi proces. Ubojica mora biti ovlašten za ubijanje. U UNIX-u je to kill, a u Windows TerminateProcess.

23
Q
  1. U koracima navesti događaje koji se odvijaju nakon pokretanja računala od čitanja ROM memorije sve do učitavanja pozadinskih servisa operacijskog sustava.
A
  1. Power-On: Računalo se uključuje pomoću gumba ili tastera.
  2. BIOS (Basic Input/Output System) Boot: BIOS čita sadržaj namjenskog čipa (ROM-a) koji sadrži osnovne informacije o računalu. BIOS provjerava hardver i obavlja neke početne konfiguracije, kao što su postavljanje trenutnog datuma i vremena.
  3. Boot Loader: BIOS pokreće boot loader, koji je dio operacijskog sustava koji se nalazi na disku. Boot loader učitava OS u radnu memoriju.
  4. Inicijalizacija OS-a: Kada se operacijski sustav učita u radnu memoriju, on obavlja neke početne konfiguracije, poput postavljanja trenutne rezolucije ekrana i inicijalizacije uređaja periferne opreme.
  5. Pokretanje kritičnih procesa: Operacijski sustav pokreće kritične procese koji su potrebni za rad sustava, kao što su upravitelj procesima, upravitelj pamćenja i upravitelj mreže.
  6. Korisnički interfejs: Kada su kritični procesi spremni, operacijski sustav pokreće korisčki interfejs, kao što je grafičko sučelje ili terminal, koji omogućuje korisniku da upravlja računalom.
24
Q
  1. Ukratko objasnite strukturu izvršnih i arhivskih datoteka (tekst i skica).
A

Izvršne datoteke su datoteke koje sadrže programski kod koji je spreman za izvršavanje od strane računalnog operativnog sustava. Izvršne datoteke sadrže strojno čitljiv kod, pomoćne podatke i informacije o izvršavanju programa.

Arhivske datoteke su datoteke koje sadrže druge datoteke ili direktorije. Arhivske datoteke obično se stvaraju pomoću posebnih programa za pakiranje datoteka kao što su ZIP, RAR, TAR i drugi.

sliku u wordu. 24. pitanje

25
Q
  1. Ukratko objasnite ulogu Linux jezgre, skicirajte podsustave Linux jezgre i ukratko ih opišite.
A

Linux jezgra je središnji dio operativnog sustava Linux. Ona pruža osnovne funkcije upravljanja resursima računala kao što su procesi, memorija, ulazno/izlazni sustavi i mrežni protokoli. Linux jezgra je modularna i omogućuje dodavanje i uklanjanje podsustava, što omogućuje fleksibilnost u prilagodbi sustava specifičnim potrebama korisnika.

slika u wordu 25. pitanje

26
Q
  1. Opišite/skicirajte osnovnu građu UNIXa i njegove slojeve.
A

65 stranica moje skripte

27
Q
  1. Ukratko objasnite što su rukovatelji prekida.
A

Rukovatelji prekida (Interrupt Handlers) su prekidne rutine u operacijskom sustavu čije je izvođenje aktivirano pri prekidu.
Sadržavaju više različitih funkcija koje se razlikuju po tome kakav je prekid u pitanju.
Prekidna rutina izvršava prekid a zatim odblokira pogonski program koji ju je pokrenuo, putem semafora, signala ili slanjem poruke. Nakon toga, pogonski program se može ponovno pokrenuti.

Obavlja sljedeće korake:
Sprema registre koji već nisu spremljeni od strane prekidnog sklopovlja
Postavlja okolinu za posluživanje procedure prekida
Postavlja stog za posluživanje procedure prekida
Obaviješta prekidni upravljači sklop i ponovno dozvoljava prekid
Kopira registre s mjesta gdje su bili spremljeni u tablicu procesa
Pokreće prodecuru posluživanja
Postavlja okolinu MMU (Memory Management Unit) za proces koji se slijedeći pokreće
Pohranjuje nove registre procesa
Pokreće novi proces

28
Q
  1. Navedite 5 generacija operacijskih sustava i ukratko opišite njihova osnovna obilježja.
A

Prva generacija(1945 - 1955):
relejna tehnologija I vakumske cijevi, bušene kartice

Druga generacija(1955 - 1965):
Tranzistori,batch sustavi, pojavljuje se FORTRAN (OS), a podatke je bilo moguće snimiti na magnetske trake

Treća generacija(1965 - 1980):
pojava IC-a, multiprogramiranje, time sharing, spooling, MULTICS,UNIX,MINIX,Linux
Multiprogramiranje je dijeljenje memorije za različite poslove. (Uz to CPU ne stoji dok čeka podatke sa
U/I sučelja. Nego dok čeka, obavlja drugi posao.)
Spooling (Simultaneous Peripheral Operation On Line) - pri završetku posla, se učitava sljedeći posao.
Time Sharing je dijeljenje vremena korištenja CPU-a svakom poslu.

Četvrta generacija(1980 - danas):
LSI čipovi, osobna računala, mikroračunala
pojava operacijskih sustava MS-DOS,WIN NT/98/ME/2000/XP,Vista,W7,W8,W10
UNIX: X Windows, Motif, Niz Linux distribucija…
NOS (mrežni), DOS (raspodijeljeni)

Peta generacija(1990 - danas):
PDA, smartphone, Android iOS, Windows Phone, Symbian, RIM Blackberry

29
Q
  1. Ukratko opišite što su pogonski programi.
A

Pogonski programi (eng. device drivers) su programske komponente operacijskog sustava koje upravljaju hardverskim uređajima, kao što su tipkovnica, miš, monitor, zvučna kartica i slično. Oni omogućuju operacijskom sustavu da komunicira s hardverom i upravlja njime, te osiguravaju da se uređaji mogu koristiti na ujednačen način bez obzira na njihove specifičnosti

30
Q
  1. Objasnite osnovna obilježja operacijskih sustava i razvojnih okolina za ugradbene računalne sustave
A

Operacijski sustavi za ugradbene računalne sustave imaju specifične značajke usmjerene na upravljanje resursima i izvršavanje zadataka s malom količinom memorije i procesorske snage. Takvi sustavi moraju biti pouzdani, brzi i odzivni.

Ugradbeni operacijski sustavi su prilagođeni za specifične namjene i sklopovske platforme, a koriste se u različitim uređajima poput pametnih telefona, pametnih kuća, industrijskih strojeva i automobila.

31
Q
  1. Objasnite ulogu i osnove načina rada mehanizma Registry u Windows OS-u.
A

Registry je centralno skladište podataka u operacijskom sustavu Windows koji sadrži informacije o postavkama sustava, instaliranim aplikacijama i korisničkim postavkama. Svi podaci pohranjeni u registru organizirani su u hijerarhijsku strukturu ključeva s vrijednostima.

Značajke:
Hijerarhijska struktura
Ključevi i vrijednosti: Registry se sastoji od ključeva i vrijednosti slični mapama
Pristup podacima
Sigurnosne značajke: Registry ima sigurnosne značajke koje omogućuju ograničavanje pristupa podacima na samo autorizirane korisnike ili skupine korisnika.
Sigurnosne kopije: Omogućuje sigurnosne kopije i oporavak podataka u slučaju oštećenja podataka u registru.

32
Q
  1. Skicirajte i ukratko objasnite postupke nadzora pristupa resursima: matricu zaštite i ACL (engl. Access Control List).
A

POLA ovlasti procesa na resursima stavlja u tri domene sigurnosti, pokretanjem procesa mu se pridružuju svi resursi i ovlasti

Matrica zaštite je dvodimenzionalna matrica: popis objekata i njihovih dozvola pristupa u svakoj domeni

ACL je lista dozvola pridružena objektu, specificira koji korisnici ili procesi imaju dozvoljene pristupe objektu

Skicu nemam

33
Q
  1. Objasnite osnovna obilježja, zadatke i način rada ROS-a (Real-time operating system).
A

Real-time operacijski sustav (ROS) je specijalizirani operacijski sustav koji se koristi u sustavima s visokim zahtjevima za obradu podataka u stvarnom vremenu. Osnovna obilježja ROS-a su:

Brzina izvršavanja
Predvidljivost
Minimalni odziv:

Zadaci ROS-a uključuju:

Planiranje i raspoređivanje zadataka
Kontrola uređaja
Sinkronizacija podataka

Način rada ROS-a obično uključuje:

Upravljanje procesima
Ograničavanje prioritetnih procesa
Upravljanje memorijom
Upravljanje uređajima

34
Q
  1. Objasnite što je u Linuxu bootloader, čemu služi, koje kategorije bootloadera postoje, te navedite barem tri Linux
    bootloadera.
A

Uređaj koji konfigurira i pokreće sustav.
Dvije kategorije:
loaders: samo jednostavna funkcionalnost inicijaliziranja sklopovlja i učitavanja OS-a
monitors: uz navedeno, uključuju i komandnu liniju kroz koju korisnik komunicira s bootloaderom s ciljem konfiguriranja, reprogramiranja, inicijaliziranja sklopovlja, te ostale zadaće (potpora razvoju i puštanju u rad, pa korisnik nema pristup monitoru)

Uloga bootloadera:
inicijalizira samo sklopovlje nužno za podizanje sustava, dok ostalo inicijalizira ili reinicijalizira OS

Vrste bootloadera: GRUB, LILO, LOADLIN

35
Q
  1. Ukratko objasnite sljedeće pojmove i način njihovog međusobnog korištenja: semafor, muteks, futeks, monitor
A

Semafor:
- cjelobrojna varijabla u programu koja pamti broj buđenja za buduće korištenje
- Dvije operacije:
- down: ispituje je li vrijednost veća od 0, ako je dekrementira vrijednost i nastavlja, ako nije, proces odlazi na spavanje bez završetka down-a.

  • up: inkrementira vrijednost semafora.Ako jedan ili više procesa spavaju na semaforu i ne mogu završiti prethodnu down operaciju, jedan on njih se bira da bi ju završio.
    Muteks:
  • pojednostavljeni semafor koji se koristi za upravljanje međusobnim isključivanjem na resursima programa
  • ima dva moguća stanja (otključano i zaključano)
  • Ako proces ili nit pozove resurs koji je zaključan(mutex_lock), oni idu u blokiranje sve dok taj resurs ne postane slobodan,tj. Sve dok ne postane otključan(mutex_unlock).

Futeks: fast user space mutex, mehanizam u Linux-u koji implementira mutex, radi na jezgri procesora
- Ako je lock početno u nuli (slobodan), nit upita za “decrement and test” te provjerava rezultat, ako je lock slobodan, nit se izvodi, ako nije, nit ide u red čekanja za jezgru i ulazi kad bude odblokirana.

Monitor: složena varijabla koja se sastoji od procedura i varijabli koja služi za sinkronizaciju procesa
- Isključivo jedan proces može biti aktivan u monitoru
- Proces poziva proceduru u monitor, da utvrdi da li već postoji proces u monitoru. Ako ima, poziv se odgađa dok trenutni proces ne napusti monitor

36
Q
  1. Ukratko objasnite svaku od četiri vrste iznimka koje se pojavljuju u današnjim modernim računalima.
A

Ako nađeš neš logično malter šalji jer ovo od gpta ne valja nema boga

37
Q
  1. Što je digitalni potpis i kako se izvodi? Skicirajte i objasnite postupak stvaranja digitalnog potpisa.
A

Digitalni potpis je matematička shema za dokaz autentičnosti digitalne poruke, daje primatelju poruke dokaz da je poruka bez izmjene poslana od poznatog izvora.
Dokument se propušta kroz jednosmjerni hashing algoritam
Korištenjem kriptiranja javnim ključem se primjenjuje na dobiveni hash i dodaje dokumentu
Prijemnik najprije računa hash pa zatim koristi javni ključ kako bi provjerio hash koji je dobio - oni se moraju podudarati.

38
Q
  1. U koracima navesti događaje koji se odvijaju nakon pokretanja računala.
A
  1. Power-On: Računalo se uključuje pomoću gumba ili tastera.
  2. BIOS (Basic Input/Output System) Boot: BIOS čita sadržaj namjenskog čipa (ROM-a) koji sadrži osnovne informacije o računalu. BIOS provjerava hardver i obavlja neke početne konfiguracije, kao što su postavljanje trenutnog datuma i vremena.
  3. Boot Loader: BIOS pokreće boot loader, koji je dio operacijskog sustava koji se nalazi na disku. Boot loader učitava OS u radnu memoriju.
  4. Inicijalizacija OS-a: Kada se operacijski sustav učita u radnu memoriju, on obavlja neke početne konfiguracije, poput postavljanja trenutne rezolucije ekrana i inicijalizacije uređaja periferne opreme.
  5. Pokretanje kritičnih procesa: Operacijski sustav pokreće kritične procese koji su potrebni za rad sustava, kao što su upravitelj procesima, upravitelj pamćenja i upravitelj mreže.
  6. Korisnički interfejs: Kada su kritični procesi spremni, operacijski sustav pokreće korisčki interfejs, kao što je grafičko sučelje ili terminal, koji omogućuje korisniku da upravlja računalom.
39
Q
  1. Što su zastoji i koji su uvjeti nastanka i sprjecˇavanja zastoja?
A

Skup procesa je u zastoju ako svaki proces skupa čeka događaj koji može uzrokovati samo neki drugi proces u istom skupu
Proces se ne može pokrenuti, osloboditi resurse ili biti probuđen
Uvjeti za zastoj:
Međusobno isključivanje - svaki resurs dodijeljen je istovremeno jednom procesu
Držanje i čekanje - proces koji trenutno koristi resurse zahtjeva dodatne
Neprekidivost - resurs ne može biti naglo oduzet procesu nego mora biti otpušten od procesa koji ga trenutno posjeduje
Kružno čekanje - kružni lanac 2 ili više procesa, čeka na resurs koji trenutno drži sljedeći lanac
Zastoj se sprječava uklanjanjem barem jednog od ovih uvjeta

40
Q
  1. Objasnite pojam prividne (virtualne) memorije, postupke njene implementacije, te straničenje na zahtjev.
A

Virtualna memorija - ako programi ne stanu u prostor fizičke memorije, dijele se na sitnije dijelove, samo dio koji se izvodi OS ostavlja u memoriji, a ostatak ide na disk i tako se stvara privid veće memorije.
Omogućena je straničenjem: virtualna memorija se podijeli na stranice, a odgovarajuće jedinice u fizičkoj memoriji su okviri stranica.

41
Q
  1. Opisati proces učitavanja programa (procesa) u radnu memoriju računala te skicirati memorijsku sliku programa unutar operacijskog sustava Linux
A
  1. Otvaranje datoteke: operacijski sustav prvo otvara izvršnu datoteku programa.
  2. Stvaranje procesa: operacijski sustav stvara novi proces i dodjeljuje mu identifikacijski broj.
  3. Alokacija memorije: operacijski sustav alocira odgovarajući dio radne memorije za novi proces.
  4. Kopiranje koda: operacijski sustav kopira kod izvršne datoteke u radnu memoriju.
  5. Stvaranje memorijske slike: operacijski sustav stvara memorijsku sliku procesa, koja sadrži sve potrebne informacije o procesu, uključujući program kod, globalne varijable, stog, registre itd.

slika na stranici 12 moje skripte

42
Q
  1. Ukratko opisati i usporediti tri sučelja koja omogućavaju pokretanje aplikacijskog programa na računalnom sklopovlju: ISA, ABI te API.
A

ISA (Instruction Set Architecture) je sučelje koje definira način na koji procesor interpretira i izvršava programske naredbe. ISA je dizajniran tako da omogućava procesoru da izvršava program kod, bez obzira na specifične implementacije hardware-a.
ABI (Application Binary Interface) je sučelje koje definira kako aplikacijski programi komuniciraju s operacijskim sustavom i drugim bibliotekama. ABI se koristi za kompatibilnost između različitih programskih jezika i biblioteka.
API (Application Programming Interface) je sučelje koje definira kako aplikacijski programi komuniciraju s drugim dijelovima sustava. API se koristi za olakšavanje razvoja aplikacija, omogućujući programerima da koriste funkcije i usluge drugih dijelova sustava bez potrebe za detaljnim poznavanjem njihovog rada.

43
Q
  1. Ukratko objasnite što je upravljački sklo U/I uređaja te što je pogonski program pa navedite razlike u njihovim zadaćama
A

Upravljački sklop U/I uređaja je sklop hardvera u računalu koji kontrolira i upravlja ulazno/izlaznim operacijama. Ova komponenta omogućuje da se procesor može komunicirati s vanjskim uređajima poput tipkovnice, miša, pisača, monitora itd.

Pogonski program (driver) je softverski program koji omogućuje operacijskom sustavu da komunicira s hardverskim uređajima preko upravljačkog sklopa U/I uređaja. Pogonski programi su zaduženi za prevođenje naredbi iz operacijskog sustava u naredbe koje hardverski uređaji mogu razumjeti i izvršiti.

Razlike:
Upravljački sklop U/I uređaja je hardverski sklop koji se nalazi na matičnoj ploči računala i kontrolira i upravlja ulazno/izlaznim operacijama. S druge strane, pogonski program je softverski program koji omogućuje operacijskom sustavu da komunicira s hardverskim uređajima preko upravljačkog sklopa U/I uređaja. Osim toga, pogonski programi također kontroliraju i upravljaju raznim karakteristikama i postavkama hardverskih uređaja, poput brzine prijenosa podataka, količine memorije koju uređaj koristi i tako dalje.

44
Q
  1. Objasnite što su memorijski mapirani U/I uređaji, te načine komuniciranja CPU s uređajima.
A

Memorijski mapirani U/I uređaji su uređaji koji koriste isti adresni prostor kao i ostatak sustava, odnosno koriste iste adrese kao i memorija. To znači da se koriste iste naredbe za čitanje i pisanje podataka, kao i za pristup memoriji.
Kada procesor želi komunicirati s memorijski mapiranim uređajem, šalje naredbu putem sabirnice (engl. bus) koja spaja sve dijelove računala. Uređaj tada odgovara na tu naredbu tako da šalje ili prima podatke preko sabirnice.
Postoje dva načina na koje CPU može komunicirati s memorijski mapiranim U/I uređajima:
1. Programski upravljano U/I: Ovaj način komuniciranja zahtijeva da procesor direktno upravlja svakom operacijom ulaza i izlaza, odnosno čita i piše podatke iz ili u memoriju. Ovo može dovesti do zastoja u radu procesora jer mora čekati da se podaci prenesu.
2. Prekidi: U ovom načinu CPU ne ovisi o uređaju i čeka na njega, već se umjesto toga uređaj “javlja” procesoru kada je spreman za slanje ili primanje podataka. Ovo je efikasniji način jer omogućuje CPU-u da nastavi s drugim zadacima dok se uređaj sprema za slanje ili primanje podataka.

45
Q
  1. Što uključuje sigurnosna okolina, koje su najčešće prijetnje računalnom sustavu i što je Reference Monitor?
A

Sigurnosna okolina uključuje:
Sigurnost (općeniti problem sigurnosti)
Zaštitne mehanizme operacijskog sustava

Najčešće prijetnje računalnom sustavu su:
 izlaganje podataka
 neovlašteno izmjenjivanje
 premještanje i dodavanje podataka
 činjenje sustava neupotrebljivim

Reference monitor je komponenta jezgre operacijskog sustava koja kontrolira pristup softvera podacima ili uređajima. Implementira sigurnost pri pokretanju poslova.