česta pitanja Flashcards

1
Q

Što su niti i kako se modeliraju?

A

Niti (threads) su dijelovi procesa koji se sastoje od:
- PC koji pokazuje koja se instrukcija sljedeća izvodi
- registara koji čuvaju trenutne vrijednosti varijabli
- stoga koji sadrži povijest izvođenja
Sve niti dijele isti adresni prostor (time i globalne varijable, otvorene datoteke, childeove…) pa nisu neovisne.

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

Kako je izveden i na čemu je zasnovan:
a) Programirani U/I

A

a) Programirani U/I
zasniva se na stalnom prozivanju uređaja na spremnost. 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 ispisuje i čeka se idući. Proces se ponavlja za svaki znak.

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

Što je sustavski poziv?

A
  • Sustavski poziv je sučelje između OS-a i korisničkih programa definirano skupom sustavskih poziva koje omogućuje OS.
  • Ti pozivi različiti su za svaki OS, pri čemu trebaju zadovoljiti zajedničke zahtjeve i posebnosti svakog OS-a.
  • Ti pozivi su ovisni o stroju.
  • Dok su oni često ostvareni u asembleru, biblioteka procedura omogućuje njihovo korištenje iz C-a i drugih viših programskih jezika.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Navedite moguća stanja procesa, te skicirajte i objasnite dijagram prijelaza stanja procesa.

A

Moguća stanja procesa:
- Pokrenut (trenutno koristi CPU)
- Pripravan (pokretljiv, ali zaustavljen da bi se mogao izvesti drugi proces)
- Blokiran (ne može se pokrenuti dok ne dođe do nekog vanjskog događaja)

  1. Proces otkriva da se ne može pokrenuti, jer nema ulaznog podatka.
  2. Raspoređivač oduzima CPU trenutnom i dodjeljuje je nekom drugom procesu
  3. Raspoređivač vraća CPU procesu koji je bio pokretan prije trenutnog procesa
  4. Dogodio se događaj izvana na kojeg je proces čekao da bi se pokrenuo (npr. raspoloživost ulaznog podatka

Dijagram:
https://drive.google.com/drive/folders/1R6LXDCl9iKo8eQKdV_nEsPGO2Gnnm7tT

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

Objasnite na čemu se zasniva Petersonovo rješenje međusobnog isključivanja?

A

Prije upotrebe dijeljenih varijabli (prije ulaska u K.O.), svaki 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 daje 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…

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

Ukratko objasnite š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 st time i broj registara, naredbe, kapacitete, funkcije etc. pa je svakom zasebnom modelu potreban poseban pogonski program čije verzije se razlikuju za različite operativne sustave (32 bit, 64 bit, windows 7, 8.1, 10 etc.)
Obično su dio jezgre OS-a iako mogu biti izvedeni sustavskim pozivima u korisničkom sloju
Svaki pogonski program rukuje jednim uređajem ili razredom uređaja.

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

Ukratko objasnite/po potrebi skicirajte postupke nadzora pristupa resursima: POLA (Principle of Least Authority)

A

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

https://drive.google.com/drive/folders/1R6LXDCl9iKo8eQKdV_nEsPGO2Gnnm7tT

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

Objasnite što je u Linux-u bootloader, čemu služi, koje kategorije bootloadera postoje, te navedite barem tri Linux bootloadera.

A

Vrlo bitan, iako se koriste samo za pokretanje sustava.
Konfiguriranje za PC ili postavljanje bootloadera za ugradbeni sustav predstavlja poseban izazov (za CPU ili SoC i vanjske jedinice)

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
- podizanje se vrši s adrese bootroma (EEPROM, flash)
u prvoj fazi, to je izravni rad s memorijom, a onda se uključuje MMU Linux bootloaderi
- razlikuju se po funkcionalnosti, pa neki podižu samo Linux, a neki i druge OSe i to s drugih medija ili mreže preko BOOTP ili TFTP
- neki u tablici uključuju neke mogućnosti, a neki odgovaraju PC okolini ili nekoj drugoj

3 BOOTLOADERA:
LILO, GRUB i GRUB2

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

Š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.

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

Ukratko objasnite sljedeće pojmove i način njihovog korištenja: semafor

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.

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

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 (paging): virtualna memorija se podijeli na stranice, a odgovarajuće jedinice u fizičkoj memoriji su okviri stranica.

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

Objasnite što je DMA i koja mu je zadaća.

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.

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

Objasnite sigurnost datotečnog sustava.

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

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

Objasnite prava pristupa datotekama i direktorijima

A

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

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

Objasnite kategorije prava.

A

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

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

Na primjeru usporedi simbolički i oktalni mod za mjenjanje prava pristupa datotekama i direktorijima.

A

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

Oktalni mod:
- Numerički mijenja prava na datoteci za sve kategorije istovremeno
- Sintaksa: chmod octal_mod filename ili chmod -R octal_mod directory_nam

Primjer:
student00@linux:~$ chmod g+w linux.txt (simbolički)
student00@linux:~$ chmod 545 linux.txt (oktalni)

17
Q

Objasnite ulogu i osnove načina rada mehanizma Registry u Windows OS-u.

A
  • Windows pohranjuje sve konfiguracijske podatke unutar registry baze. Ne postoji ništa što se događa unutar OS-a, a da ne kontaktira registry bazu.
  • Registry omogućuje zbivanje složenih odnosa između različitih Windows komponenti, aplikacija i korisničkog sučelja.
  • Daje Windowsima pojavnost i način ponašanja, kontrolira aplikacije, a IT profesionalcima omogućuje uređivanja koja nisu dostupna u GUI razini.

Hijerarhijska struktura Windows registry baze započinje korijenskim ključevima (rootkey). Svaki ključ predstavlja kontejner koji sprema konfiguracijske postavke određenog aspekta sustava.

Postoji pet korijenskih ključeva opisanih imenom i standardnom kraticom:
- HKEY_CLASSES_ROOT (HKCR) - postavke za aplikacije i datoteke; također baza datotečnih asocijacija
- HKEY_CURRENT_USER (HKCU) - postavke za trenutno logiranog korisnika
- HKEY_LOCAL_MACHINE (HKLM) - postavke za razinu sustava
- HKEY_USERS (HKU) - postavke za default korisnika i korisnika prema profilu
- HKEY_CURRENT_CONFIG (HKCC) - postavke trenutnog hardware profila

18
Q

Što su zastoji i koji su uvjeti nastanka i sprječavanja zastoja?

A

Skup procesa je u zastoju ako svaki proces č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

19
Q

Navedite i ukratko opišite najznačajnije vrste operacijskih sustava prema računalnoj okolini i prema namjeni.

A

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

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

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

OS osobnih računala
- dobro sučelje prema korisniku (Windows, Linux)

OS za rad u stvarnom vremenu (real-time)
- strogi, ublaženi i postojani vremenski zahtjevi, mobilni, ECos

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

OS senzorskih čvorova
- Tiny OS

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

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

20
Q

Ukratko objasnite NTFS datotečni sustav, skicirajte NTFS raspored, te ukratko usporedite NTFS s FAT32 datotečnim sustavom.

A

NTFS (New Technology File System) je datotečni sustav koji je razvio Microsoft
MFT (Master Fire Table) 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

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

Skica:
https://drive.google.com/drive/folders/1R6LXDCl9iKo8eQKdV_nEsPGO2Gnnm7tT

21
Q

Š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 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

Postupak stvaranja (skica):
https://drive.google.com/drive/folders/1R6LXDCl9iKo8eQKdV_nEsPGO2Gnnm7tT

22
Q

Nabrojite ili skicirajte korake nastanka sustavskog poziva.

A

Koraci nastanka sustavskih poziva:
- Pozivajući program najprije stavlja parametre na stog
- Poziv bibliotečne procedure
- Bibliotečna procedura stavlja broj sustavskog poziva u registar.
- OS izvodi instrukciju TRAP s ciljem prijelaza iz korisničkog u jezgrin način rada.
- Jezgrin kod utvrđuje broj poziva i dodjeljuje ga odgovarajućem rukovatelju poziva (handleru)
- Pokreće se rukovatelj sustavskog poziva.
-Kada rukovatelj odradi, nadzor se vraća bibliotečnoj proceduri
- Ta procedura vraća se na razinu korisničkog programa
- Za potpuni završetak, korisnički program briše stog i to poslije svakog poziva procedure.

23
Q

Pokažite na nekom primjeru izvođenje sustavskog poziva (npr. printf() – write ())

A

void typefile(char* filename)
{
int fd, nread;
char buf[1024];

fd = open(filename,O_RDONLY);
if(fd == -1){
perror(filename);
return;
}

while( (nread = read(fd, buf, sizeof(buf) ) ) > 0 )
write(1,buf,nread);
close(fd);
}

24
Q

Ukratko objasnite/po potrebi skicirajte postupke nadzora pristupa resursima: matrica zaštite

A

Matrica zaštite je dvodimenzionalna matrica.
Popis objekata i njihovih dozvola pristupa u svakoj domeni

https://drive.google.com/drive/folders/1R6LXDCl9iKo8eQKdV_nEsPGO2Gnnm7tT

25
Q

Ukratko objasnite/po potrebi skicirajte postupke nadzora pristupa resursima: ACL (Access Control List), višerazinska sigurnost

A

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

https://drive.google.com/drive/folders/1R6LXDCl9iKo8eQKdV_nEsPGO2Gnnm7tT

26
Q

Kako je izveden i na čemu je zasnovan:
b) Prekidima pokretan U/I

A

b) Prekidima pokretan U/I
zasniva se na prekidima kojima se CPU iskorištava u vremenu dok nije okupiran (npr. između spremanja znakova u spremnik pisača). U tom vremenu CPU obavlja neki drugi posao (npr. poziva raspoređivač i pokreće neki drugi proces). Pisač ne pamti znakove, ali ispisuje sve koji dođu.

27
Q

Kako je izveden i na čemu je zasnovan:
c) DMA zasnovan U/I

A

c) DMA zasnovan U/I
zasniva se na DMA koji uzima jedan po jedan znak pisaču, bez CPU. Smanjuje se broj prekida s prekid-po-znaku na
prekid-po-spremniku. Sporiji je od CPU pa se rabi samo kada je CPU zauzet ili kad se može koristiti puna brzina uređaja.

28
Q

Koje korake rukovatelji prekida moraju obaviti po završetku prekida?

A

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čki 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

29
Q

Ukratko objasnite sljedeće pojmove i način njihovog korištenja: muteks

A

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).

30
Q

Ukratko objasnite sljedeće pojmove i način njihovog korištenja: futeks

A

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.

31
Q

Ukratko objasnite sljedeće pojmove i način njihovog korištenja: monitor

A

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

32
Q

Objasnite kako je izveden DMA.

A

Izvedba:
1 - CPU programira DMA
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