Prvo predavanja 1.Sta je operativni sistem? Operativni sistem je fundamentalni deo sistemskih programa, čiji je zadatak upravljanje resursima računara i koji k oji obezbeđuje osnovu za pisanje aplikacionih programa.
2.Objasnite razvoj operativnih sistema po generacijama ge neracijama racunara? Prva generacija (1945-1955) – racunari su pravljeni od vakumskih cevi.Ogromne dimenzije, spori, programiranje na masinskom jeziku, jako skupi, koristila ih je vojska.
Druga generacija (1955-1965) – prave se od tranzistora, postaju jeftiniji, dostupniji, koriste programski jezik FORTRAN, koriscenje busenih kartica.Nepostojanje operativnog sistema.Pojava paketne obrade podataka.
Treca generacija (1965-1980) – prave se od integrisanih kola, razvoj softverskog inzenjerstva, pojava multiprogramiranja, SPOOL, podela vremena, pojava prvih mini racunara, poceci UNIX-a
Cetvrta generacija (1980-1990) (1980-1990) – bazirani na mikrocipovima,Spec mikrocipovima,Spectrum, trum, Commodore,IBM, Apple, PC.Pojava prvih operativnih sistema MS DOS i UNIX.Razvoj grafickog okruzenja, pojava korisnickih programa.Pojava dve vrste OS:mrezni I distribuirani.
3.Navedite osnovne funkcije operativnog sistema? Upravljanje procesorima procesorima - kojem procesu dodeliti procesor za izvršavanje Upravljanje memorijom - ima svrhu rešavanja problema oko efikasnog korišćenja operativne memorije. Upravljanje perifernim uređajima odnosi se na celokupan rad oko ulaznih, odnosno izlaznih uređaja
4.Navedite osnovne karakteristike operativnog sistema? Istovremenost (Concurrency) Deljenje resursa (Sharing) Pouzdanost (Reliability) Sigurnost (Security)
Upotrebljivost (Usability) Deljivost - modularnost (Modularity)
5.Navedite razloge zbog kojih se operativni sistemi najčešće pišu na programskom jeziku C? -izvorni kod se brže piše -mnogo je čitljiviji -lako se koriguje i menja -operativni sistem se može lako prenositi na druge računarske arhitekture
6.Navedite podelu operativnih sistema prema broju broju korisnika? -monouser (jednokorisnički): npr. DOS (jednokorisnički,jednoprocesni), Windows 98 (jednokorisnički, višeprocesni ) - multiuser (višekorisnički): npr. UNIX (višekorisnički, višeprocesni)
7.Navesti podelu operativnih sistema prema broju procesa? -jednoprocesne (singletasking, singleprocess) -višeprocesne (multitasking, multiprocess)
8.Navesti podelu operativnih sistema prema nameni? -OS opšte namene -OS specijalne namene (služe za upravljanje procesima)
9.Navesti podelu operativnih sistema prema nacinu obrade poslova? -Sistemi sa grupnom obradom (batch) -Interaktivni sistemi -Kombinovani sistemi
10. Navesti podelu operativnih sistema prema funkcionalnim osobinama racunarskog sistema? -OS za velike računarske sisteme (mainframe systems) -OS za sisteme sa deljenim vremenom (time-sharing systems) -OS za stone računare (desktop systems) -OS za višeprocesorske sisteme (multiprocessor systems) -Mrežni operativni sistemi (network OS) -Distribuirani sistemi (distributed systems) -OS za upravljanje u realnom vremenu (real-time systems)
11.Navedite primere jednokorisničkih jednoprocesnih, jednokorisničkih višeprocesnih i višekorisničkih višeprocesnih operativnih sistema? -jednokorisnički jednoprocesni (single-user, singletasking) kao što je MS-DOS -jednokorisnički višeprocesni (single-user, multitasking) kao što su OS/2 i MS Windows 3.1/9x/Me -višekorisnički višeprocesni (multiuser, multitasking) kao što je UNIX, ali uslovno se mogu prihvatiti i MS Windows 2000/XP/2003 ukoliko obezbeđuju terminalske usluge
12.Koje funkcionalne grupe programa cine operativni sistem? -Upravljanje procesorom
-Upravljenje memorijom -Upravljanje ulazom i izlazom -Upravljanje podacimaUpravljanje sekundarnom memorijom -Umrežavanje -Zaštitu -Korisnički interfejs
13.Navedite podelu operativnih sistema prema strukturi? -Monolitni sistemi -Slojevita (hijerarhijska) realizacija -Klijent – server struktura
14.Koja je razlika izmedju monolitnih I hijerarhijskih operativnih sistema? Znači bitna razlika izme đu monolitne i slojevite realizacije je u tome, što se OS kod monolitne strukture sastoji od skupa procedura bez ikakvo g grupisanja ili hijerarhije, a kod slojevite realizacije OS se deli na više slojeva od kojih se svaki oslanja na slojeve ispod, i gde svaki sloj ima tačno određenu funkciju.
15.Koja je osnovna karakteristika operativnih sistema sa arhitekturom mikrojezgra? -Jednostavno proširivanje i optimizacija jezgra -Jednistavno dodavanje novih modula bez uticaja na osnovno jezgro -Jednostavna prenosivost na drugu računarsku arhitekturu -Veća pouzdanost (manje koda se izvršava u režimu jezgra) -Veća sigurnost
Drugo predavanje 1.Navedite osnovne delove jezgra? -Prvi nivo obrade (određuje izvor prekida I inicira opsluženje pojedinih vrsta prekida) -Dispečer sistema –dodeljuje procesor procesima -Rutine za ostvarivanje interprocesne komunikacije (obezbedjuje komunikaciju)
2.Šta je proces i šta obuhvata? Proces je program ili deo programa u stanju izvršenja, zajedno sa svim resursima koji su potrebni za rad programa. Svaki proces ima tri fundamentalna memorijska dela, to jest sekcije: Programska ili tekstualna sekcija, koja se ne m enja (engl. Read only) i koja sadrzi programski kod;
Stek sekcija (engl. Stack section), koja sadrzi privremene podatke (parametre za procedure, povratne adrese, lokalne promenljive); Sekcija podataka (engl. Data section ), koja sadrži globalne promenljive.
3.Šta je kontrolni blok procesa I šta je njime omogućeno? PCB ( Process Control Block ) je kontrolni blok koji je deo radne memorije, sa osnovnim informacijama o procesu, koje operativni sistem koristi za upravljanjem tim procesom. Zahvaljujuci kontrolnom bloku, izvršavanje programa se moze prekinuti i nastavljati više puta.
4.Ukratko opišite stanja u osnovnom dijagramu stanja procesa? - proces se izvršava ( RUNNING) - procesor upravo izvr šava kod ovog procesa - proces je spreman , ali se ne izvr šava ( READY ) - proces je dobio sve potrebne resurse, spreman je za izvr šavanje, čeka procesora - proces je blokiran , čeka na nešto (npr. čeka štampač a da zavr ši sa štampanjem – BLOCKED) - za dalji rad procesa potrebni su neki resursi, koji trenutno nisu na raspolaganju, čeka IO operaciju, rezultat nekog drugog procesa itd.
5.Definisati prelaske izmedju stanja : RUN-WAIT i WAIT-READY? RUN-WAIT – oduzimanje procesora procesu ukoliko je resurs koji je potreban za izvršenje procesa zauzet. Ova tranzicija je moguća i u jednoprocesnim i u višeprosesnim operativnim sistemima (npr, spuler štampača ne može da nastavi štampanje dokumenta dok se u štampač ne doda papir). Do ove tranzicije može doći i kada proces čeka rezultat operacije koju obavlja drugi proces.
WAIT-READY – proces se vraća na kraj procesorskog reda nakon oslobađanja resursa koji je neophodan za rad. Tranzicija WAIT-RUN nije moguća u višeprocesnim operativnim sistemima.U takvim sistemima proces se uvek prvo dovodi u stanje READY.
6.Navedite situacije u kojima proces može ostati bez procesora? -RUN-READY – Oduzimajne procesora procesu nakon isticanja perioda u kojem mu je procesor dodeljen.
-RUN-WAIT – oduzimanje procesora procesu ukoliko je resurs koji je potreban za izvršenje procesa zauzet.
7.Koje su osnovne funkcije planera poslova i dispečera?
Long-term scheduler (planer poslova) koji se u hijerarhijskom modelu nalazi iznad jezgra, obavlja sl edeće funkcije: deli poslove na procese;
na osnovu određenih algoritama dodeljuje prioritete procesima; dovodi procese u red čekanja na processor.
Short-term scheduler (dispečer) – Zadatak dispečera sistema je da dodeljuje procesor procesima koji se nalaz e u procesorskom redu . Dispečer dodeljuje CPU kad god tekući process pređe iz stanja RUN u stanje WAIT ili READY. -Dispečer utvrđuje kom je procesu najpovoljnije dodeliti processor, to jest koji je process u stanju READY najvišeg prioriteta.
8.U čemu je razlika izmedju rasporedjivanja s pretpražnjenjem I rasporedjivanja bez pretpražnjenja?
U slučaju raspoređivanja bez pretpražnjenja, procesor se može oduzeti samo od procesa koji je završio svoje aktivnosti ili čeka na resurs. Pri raspoređivanju s pretpražnjenjem (preemptive scheduling), procesor se može oduzeti procesu koji nije završio svoje aktivnosti i nije blokiran.
9.Navedite i objasnite algoritme za dodelu procesora? - FCFS (prvi došao, prvi uslužen) najprostiji je algoritam za raspoređivanje procesora – procesi dobijaju procesor onim redom kojim su pristizali u red čekanja. -Shortest Job First SJF (prvo najkraći posao) jeste u sledećem: za sve procese u redu čekanja procenjuje se vreme potrebno za izvršenje, a procesor se dodeljuje onom procesu kome treba najmanjevremena za izvršenje, tj procesu koji bi najmanje trajao. Na one procese iz reda koji imaju ista procenjena vremena izvršavanja , primenjuje se algoritam FCFS. -PS - U prioritetno orijentisanim algoritmima, svakom procesu se dodeljuje prioritet, posle čega algoritam bira proces s najvećim prioritetom -RR - Round Robin se može posmatrati kao algoritam FCFS sa pretpraženjenjem, tj sa pravilnim vremenskim prebacivanjima između procesa.
10.Navesti i objasniti operacije nad procesima? -Izrada novog procesa (pravljenjem kontrolnog bloka i ažuriranjem procesne liste); -Izrada veza procesa – proces roditelj; -Uništenje procesa (brisanjem kontrolnog bloka iz procesne liste) -Promena stanja procesa (obavljanje promena u d ijagramu stanja, kao što je dodela procesora)
-Promena prioriteta procesa.
11.Koje se metode koriste za ostvarivanje komunikacije izmedju procesa(IPC – inter process communication)? -signali (UNIX) , semafor -sistem poruka -deljena memorija
12.U čemu je razlika izmedju blokirajućeg I neblokirajućeg slanja I primanja poruka? Blokirajuće slanje se završava tek kada je bezbedno modifikovati poslate korisničke podatke (u smislu da podaci koje primalac treba da dobije neće biti izmenjeni zbog te promene) dok kod neblokirajućegi slanje i prijem se vraćaju odmah posle poziva, bez čekanja na prenos poruke i potvrdu o prijemu.
13.U čemu je razlika izmedju direktne i indirektne komunikacije? -Direktna komunikacija – tačno se zna kome se šalje poruka (simetrično adresiranje), razmena izmedju samo dva procesa.
-Indirektna komunikacija – pošiljalac mora da naglasi ime primaoca, a primalac ne mora podatke pošiljaoca, veći broj procesa.
Treće predavanje 1.Koje vrste memorije postoje? -eksterna memorija (najvećeg kapaciteta, najsporiji, najjeftiniji) - interna memorija (manjeg kapaciteta, br ži, skuplji) -keš (cache) memorija (najmanjeg kapaciteta, najbr ži, najskuplji)
2.Navedite osnovne funkcije upravljanja koje operativnih system treba da postigne? Operativni system treba da vodi računa o tome, koji delovi memorije su zauzeti, koji delovi su slobodni, da zauzme potrebnu količinu memorije za nove procese odnosno da oslobodi memoriju zauzetu od strane nekog procesa, i da upravlja prebacivanjem procesa iz interne u eksternu memoriju i obrnuto – pri tome mora voditi računa o tome, da procesi ne štete jedni drugima, a ni operativnom sistemu.
3.Navedite tehnike za dodelu memorije?
-Kontinualna alokacija (contiguous allocation) – i logički i fizički adresni prostor procesa sastoje se od kontinualnih niza memorijskih reči, pri čemu se memorijske particije dodeljuju procesima po veličini mogu biti jednake ili razčličite
-Diskontinualna alokacija (discontiguous allocation) – fizički adresni prostor procesa nije realizovan kao kontinualan niz memorijskih adresa; diskontinualna alokacija obuhvata metode straničenja, segmentacije i straničenja sa segmentacijom.
4.Kroz koje faze program prolazi, počev od izvornog koda do izvrašavanja u okviru nekog proces?
5.U čemu je razlika izmedju logičkih i fizičkih adresa? Adresa koju generiše procesorska instrukcija je logička, a adresa same memorijske jedinice je fizička.Logičke i fizičke adrese su potpuno iste u fazi prevođenja i u fazi učitavanja programa, ali se razlikuju u fazi izvršavanja (logičke adrese se u fazi izvršavanja nazivaju i virtuelnim adresama). Skup svih logičkih adresa koje gene riše program naziva se logički ili virtuelni adresni prostor, a skup svih fizičkih adresa koje njima odgovaraju naziva se fizički adresni prostor.
6.Objasnite najprostiju šemu MMU sa relokacionim registrom? Relokacioni registar definiše adresu fizičkog početka programa. Svaka logička adresa koju generiše programa se sabira s vrednošću relokacionog registra i tako se dobija fizička adresa. Korisnički program uvek počinje od nulte adrese i ne treba voditi računa o svom fizičkom prostoru, osim o gornjoj granici programa (max). Logički adresni prostor koji se nalazi u opsegu
[0,max] mapira se u opseg [R+0, R+max], gde je R vrednost relokacionog registra, tj fizička adresa početka programa
7.Navedite i objasnite tehnike upravljanja memorijom? -Dinamičko učitavanje programa u memoriju - ceo program se smešta u memoriju, pri čemu veličinu procesa ograničava količina fizičke memorije.
-Dinamičko povezivanje - Prilikom statičkog povezivanja, sistemske biblioteke se tretiraju kai i svi drugi objektni moduli koji se kombonuju s korisničkim programom u jedinstvenu izvršnu verziju i njom se puni memorija.
-Tehnika preklapanja - Preklapanje omogućava da se u memoriji čuvaju samo oni delovi programa koji su potrebni u tom trenutku. Kada drugi delovi programa budu potrebni, oni će se učitati u memoriju umesto delova koji više nisu potrebni.
8.Šta je interna a šta eksterna fragmentacija? Pojava da poslednji blok datoteke nije popunjen do kraja se naziva interna fragmentacija (internal fragmentation). Ova pojava je važna, jer nepopunjeni poslednji blok datoteke predstavlja neupotrebljen (i potencijalno neupotrebljiv) deo masovne memorije. Pojava iscepkanosti slobodnih blokova masovne memorije u kratke nizove susjednih blokova otežava upravljanje kontinualnim fajlovima. Ta pojava se zove eksterna fragmentacija(external
fragmentation). Ona nastaje kao rezultat višestrukog stvaranja i uništenja datoteka u slučajnom redosledu, pa iza uništenih datoteka ostaju nizovi slobodnih susednih blokova, međusobno razdvojenih blokovima postojećih datoteka.
9.Navedite i objasnite strukture podataka za upravljanje memorijom? -Bitne mape (bit maps) -Povezane liste (linked lists) -Sistem drugova (buddy sistem) -Bitne mape - Memoriju delimo na delove iste veličine. Svakom delu dodeljujemo po jedan bit na sledeći način:1 označava da je taj deo zauzeto, 0 da je slobodno (ili obrnuto). Tako dolazimo do niza nula i jedinica (bitova) koji se zove bitna mapa memorije.
-Povezane liste - Memorija je ili zauzeta od strane nekog procesa (P) ili je slobodna (rupa, H – hole). Povezane liste gradimo od slogova sledeće strukture: Prvo polje sloga označava tip memorije: P označava da se radi o procesu, H da se radi o slobodnoj memoriji. Drugo polje sadr ži početnu adresu dela memorije koju opisuje dati slog. Treće polje veličinu opisane memorije, a četvrto polje sadr ži pokazivač na sledeći slog.
-Sistem drugova - Upravljač memorije koristi po jednu listu za blokove slobodne memorije veličine1,2,4,8,16,32,64, itd. bajtova sve do ukupne veličine memorije, po stepenima dvojke.
A 128
128
256
512
10.Opišite algoritme za izbor prazne particije? -Prvi odgovaraju ći (FIRST FIT): upravljač memorijom pretražuje povezanu listu od početka do kraja i novi proces stavlja u prvu rupu koja je dovoljna velika.
-Sledeći odgovaraju ći (NEXT FIT): radi na isti način kao first fit, samo ne kreće svaki put od
početka liste, već od mesta gde je poslednji put stao. -Najmanja particija (BEST FIT) : svaki put pretražuje celu listu i traži najmanju rupu u koju može stati dati proces. -Najveća particija (WORST FIT) : radi na isti način kao best fit, samo što uvek traži najveću moguću rupu.
11.Objasnite straničenje? Paging (Straničenje) se koristi kao tehnika za realizaciju virtuelne memorije. Nemamo dovoljno interne memorije da bismo učitali ceo proces, pa koristimo virtuelnu memoriju – memoriju koja je veća od fizičke interne memorije. Proces nema pojma o tome da se izvr šava u virtuelnoj memoriji, ubeđen je da je u internoj memoriji – i ponaša se u skladu sa time: pristupa memorijskim lokacijama koje fizički moždane postoje.
12.Objasnite segmentaciju? Ideja segmentacije je da se svakom procesu dodeli više linearnih adresnih prostora koji počinju od nule i idu do nekog maksimuma. Ti prostori ili delovi procesa se nazivaju segmentima . Svaki segment predstavlja linearnu memoriju. Segmenti predstavljaju funkcionalne delove programa kao što su: kod programa, stek, heap, ali segment može da sadr ži i samo jednu proceduru ili niz ili nešto drugo. Veličina svakog segmenta može se menjati za vreme izvr šavanja od nule do nekog maksimuma.
13.Šta je virtuelna memorija i za šta se koristi? Virtuelna memorija je tehnika koja dozvoljava izvršavanje procesa čiji delovi mogu biti smešeteni na sekundarnim memorijama, tj diskovima. Virtuelna memorija formira apstrakciju u vidu logičke memorije, koju čine radna memorija i sekundarna memorija i razdvaja k orisničku logičku memoriju od fizičke. Količina raspoložive fizičke memorije više ne ograničava program, pa programeri mogu da pišu programe bez korišćenja tehnike preklapanja (overlay). Pri tome, virtuelna memorija omogućava izvršavanje programa većih od same fitičke memorije
14.U čemu je razlika izmedju tehnike SWAP i DP, odnosno učitavanja stranice na zahtev? Prvi sistemi koji su koristili swap tehniku , prebacivali su isključivo cele procese iz swap prostora u fizičku memoriju i obratno. Za razliku od njih, DP sistem koristi specifičnu tehniku za razmenjivane: u fizicku memoriju se ne prebacuje ceo proces, nego samo stranice koje se trenutno traže i to najčešće samo ona koja je neophodna. Na taj način se izbegava nepotrebno čitanje sa diska i smanjuje potrebna količina fizičke memorije. DP može prebacivati i više stranica u memoriju na osnovu pretpostavke o stranicama koje će biti potrebne procesoru. DP je tzv ”lenji razmenjivač” (lazy swapper), jer nikada ne prebacuje stranicu u memoriju, osim ako se stranice ne zahtevaju.
15.Navedite i objasnite algoritme za zamenu stranica virtuelne memorije? - Optimalni algoritam -NRU (okvir koji nismo skoro koristili) -FIFO algoritam (okvir koji smo najpre učitali)
-Druga šansa (varijanta FIFO algoritma) -Satni algoritam -LRU (okvir koji smo najdavnije koristi) -NFU (okvir koji je najređe korišćen – najmanji broj puta) -NFU sa starenjem
Četvrto predavanje 1.Šta je datoteka? Za korisnika, datoteka (file) predstavlja kolekciju povezanih informacija, tj logičku celinu sa značenjem. Za operativni sistem, to je objekat koji se čuva u sekundarnoj memoriji.
2.Koji atributi opisuju datoteku i gde se čuvaju? Svaki fajl ima svoje ime i sadr žaj. Pored ovih informacija svi operativni sistemi čuvaju još neke dodatne podatke o fajlovima, kao što su vreme nastanka fajla, veličina fajla itd. Te dodatne podatke zovemo atributima fajla. Neki mogući atributi:
- kreator - vlasnik - read-only (samo za čitanje) - system (sistemski fajl –deo OS-a) - hidden (sakriven fajl) - vreme poslednje modifikacije - vreme poslednjeg pristupa - vreme kreiranja - prava pristupa - veličina fajla - maximalna dozvoljena veličina, itd.
3.Koje se operacije mogu izvršavati nad datotekama? Svaki OS ima svoj skup sistemskih poziva za rad sa fajlovima. Najčešće operacije su:
CREATE ( ime ) - kreiranje novog, praznog fajla DELETE ( ime ) - brisanje fajla OPEN ( ime ) - otvaranje (pripremanje) fajla za rad, operacija vrać a jedinstveni deskriptor fajla (file descriptor – fd)
CLOSE ( fd ) - zatvaranje fajla koji je prethodno otvoren READ ( fd ) - čita jedan bajt ili više bajtova iz prethodno otvorenog fajla od trenutne pozicije fajl-pokazivaca (file pointer)
WRITE ( fd,šta ) - piše jedan ili više bajtova u prethodno otvoren fajl od trenutne pozicije pokazivač a. Ako je pokazivač na kraju fajla, podaci se dodaju na kraj.
APPEND ( fd,šta ) - isto kao WRITE, sa razlikom da se novi podaci dodaju na kraj fajla SEEK ( fd,pos ) - pomera pokazivač fajla na zadatu poziciju GET ATTRIBUTES ( ime ) - vraća atribute fajla SET ATTRIBUTES ( ime,atr ) - postavlja (menja) atribute fajla RENAME ( ime,novoime ) - menja ime fajla 4.Navedite značajnije tipove datoteka pod operativnim sistemom DOS i WINDOWS i podrazumevane ekstenzije dodeljene tim tipovima datoteka? Datoteke se najjednostavnije mogu podeliti na izvršne datoteke (tj prevedene i povezane programe) i datoteke s podacima , koje mogu biti tekstualne i binarne.
5.Navedite i objasnite metode pristupa datotekama? - sekvencijalni pristup : bajtovima (podacima) u fajlu možemo pristupiti samo redom, tj. da bismo pročitali n-ti bajt, moramo isčitati prethodnih n-1 bajtova. Koristi se na primer kod trake. - direktan pristup : možemo skočiti na bilo koji bajt unutar fajla i isčitati (ili upisati) taj
bajt – pomeramo “glavu za čitanje” na odgovarajuće mesto i uradimo ono što želimo.
6.Šta je direktorijum i koje se operacije mogu izvršiti nad direktorijumom? Direktorijumi su specijalni fajlovi koji sadr že spisak fajlova unutar tog direktorijuma. Svakom fajlu odgovara po jedan slog koji sadr ži ime fajla i još neke dodatne informacije (atributi, gde se fajl nalazi na disku itd.). Unutar istog direktorijuma ne možemo imati dva (ili više) fajla sa istom imenom.
CREATE - kreiranje novog (praznog) direktorijuma DELETE - brisanje praznog dirktorijuma OPENDIR - otvaranje fajla-direktorijuma za čitanje CLOSEDIR - zatvaranje fajla-direktorijuma READDIR - čitanje sadr žaja fajla-direktorijuma RENAME - reimenovanje direktorijuma LINK - pod UNIXOM : ako želimo da jedan te isti fajl bude u više direktorijuma, nema potrebe da ceo fajl prekopiramo u svaki direktorijum, umesto toga u jedan ćemo staviti sam fajl a u ostale samo pokazivač na taj fajl. Taj pokazivač se zove link (veza). Kada pristupamo linku, pristupićemo fajlu na koji link pokazuje.
UNLINK - briše link na fajl Operacije koje se mogu izvesti nad direktorijumima su: - prikazivanje sadržaja direktorijuma (listanje direktorijuma) -pretraživanje direktorijuma -promena imena datoteke -izrada i brisanje datoteka i poddirektorijuma u okviru tekućeg direktorijuma
7.Navedite i opišite strukture direktorijuma? -Struktura sa jednim nivoom – u sistemu datoteka postoji jedan direktorijum u kome se nalaze sve datoteke. Osnovni nedostaci ovakvog načina organizovanja jesu nepreglednost i problem imenovanja datoteka koje pripadaju različitim korisnicima, jer sve datoteke u direktorijumu moraju da imaju različita imena.
- Strukturu sa dva nivoa - karakteriše skup direktorijuma podeljenih u dva nivoa. Na prvom nivou se nalazi glavni direktorijum (master file directory, MFD), a na drugom poseban direktorijum za svakog korisnika (user file directory). Ovakva struktura dozvoljava različitim korisnicima da prave istoimene datoteke (dve datoteke sa istim imenom mogu se nalaziti u sistemu datoteka pod uslovom da su smeštene u različite direktorijume).
- Stablo direktorijuma - Direktorijum najvišeg nivoa je početni ili korenski direktorijum (root). U svakom direktorijumu mogu se napraviti datoteke i poddirektorijumi koji predstavljaju grane tog stabla. Razgranatost (dubina) stabla, tj broj nivoa u strukturi direktorijuma, određena je konkretnom implementacijom sistema datoteka, i u krajnjem slučaju može biti neograničena
8.Šta je sistem datoteka i od kojih delova je sastavljen? Sistem datoteka je skup metoda i struktura podataka koje operativni sistem koristi za čuvanje datoteka. Sistem datoteka čine: -zaglavlje (u kome se nalazi najmanje podataka, ali su ti podaci neophodni za funkcionisanje sistema datoteka) -strukture za organizovanje podataka na medijumu (metapodaci) -sami podaci, tj datoteke i direktorijumi . -Zaglavlje i metapodaci čine premašenje sistema , ali bez njih sistem datoteka ne može da funkcioniše.
9.Šta se podrazumeva pod preslikavanjem logičke structure sistema datoteka u fizičku? Preslikavanje logičke strukture sistema datoteka u fizičku – pod ovim preslikavanjem podrazumeva se uspostavljanje veze između sadržaja konkretne datoteke ili direktorijuma i struktura na disku.
10.Koje su strukture podataka definisane u radnoj memoriji radi ubrzanja rada sa sistemom datoteka i kako se pristupa datoteci putem ovih struktura? U radnoj memoriji se definišu strukture koje ubrzavaju rad sistema datoteka. U memorijske strukture podataka spadaju: -Tabela otvorenih datoteka na sistemskom nivou (system wide open-file table), koja sadrži kontrolne blokove za svaku otvorenu datoteku -Tabela otvorenih datoteka po procesu (per process open-file table), koja sadrži pokazivač na glavnu tabelu i druge informacije, kao što je tekući pokazivač na datoteku
11.Navedite dve osnovne metode za aktiviranje sistema datoteka i operativne sisteme, koji ih koriste? Dve osnovne metode aktiviranja sistema datoteka su:
-Mapiranje na logičke diskove , pri čemu se korenski direktorijum sistema datoteka poklapa sa korenskim direktorijumom logičkog diska -Montiranje na drugi direktorijum , pri čemu se korenski direktorijum sistema datoteka poklapa sa direktorijumom na koji je montiran. Npr, DOS i Windows 9.x automatski aktiviraju sve sisteme datoteka FAT i mapiraju ih na logičke diskove. Windows 2000/XP/2003 dozvoljava korisnicima da sisteme datoteka aktiviraju i deaktiviraju po želji, pod uslovom da im je dodeljeno pravo da to rade. Na sistemiam UNIX/Linux, logički diskovi ne postoje – sistemi datoteka se montiraju na odgovarajuće
mount-point direktorijume, i na taj način se formira aktivno UNIX stablo.
12.Navedite i objasnite načine realizacije direktorijuma? -Linearna lista - ovu šemu karaktriše smeštanje novih kontrolnih blokova po redosledu koji je identičan redosledu nastanka datoteka.
-Linearna lista sa heš tabelom - ova šema funkcioniše kao linearna lista, ali se za upravljanje direktorijumom koristi heš tabela, koja osetno ubrzava pretraživanje.
13.Navedite i objasnite metode dodele prostora za datoteke? Blokovi datoteka se mogu dodeliti na 4 načina, korišćenjem sledećih metoda alokacije:
-dodela kontinualnog prostora - Najednostavniji način je da za svaki fajl zauzmemo onoliko kontinualnih blokova koliko treba. -vezivanje blokova - blokovi dodeljeni datoteci mogu biti proizvoljno razbacani po celom disku -mapa datoteka - uvođenje centralizovane tabele u kojoj će na neki način biti opisan prostorni raspored svih datoteka na disku -metoda indeksnih blokova - svakoj datoteci se dodeljuje indeksni blok koji sadrži sve informacije i prostornom rasporedu datoteke, tj. o blokovima koji su joj dodeljeni
14.Navedite i objasnite metode za upravljanje slobodnim prostorom na disku? Postoje dve osnovne metode za upravljanje slobodnim prostorom:
MAPA BITOVA: Za svaki blok diska uvodi se bit koji vrednostima 0 i 1 opisuje da li je taj blok slobodan ili zauzet. Mapa bitova se formira kao struktura podataka na disku, koji opisuje koji su blokovi u sistemu datoteka slobodni.
POVEZANE LISTE: Početak liste pokazuje na prvi slobodan blok, a svaki slobodan blok ukazuje na sledeći.
15.Kako se može povećati pouzdanost sistema datoteka, a kako efikasnost i performance sistema datoteka? Pored eliminisanja loših blokova, radi povećanja pouzdanosti sistema , poželjno je u određenim vremenskim intervalima napraviti sigurnosne kopije važnih fajlova. Pored keša, i sami korisnički programi mogu imati svoje interne bafere za skladištenje podataka što dodatno komplikuje stvari.Keširanje nije jedini način za poboljšanje performansi fajl sistema. Druga tehnika je da blokove kojima ćemo verovatno pristupati istovremeno, stavimo što bliže što možemo
Peto predavanje 1.Navedite osnovne funkcije UI sistema? -upravlja ulazno-izlaznim uređajima i operacijama koje ti uređaji izvršavaju i kontroliše ih
-obezbeđuje što jednostavniji interfejs prema korisniku i ostatku sistema
2.Objasnite dva aspekta nezavisnosti uredjaja i koja je njihova posledica? -različiti uredjaji istog tipa moraju se sa aspekta isto posmatrati -nezavisnost programa od konkretne vrste uredjaja
3.Navedite podelu UI uredjaja prema nameni i za svaku kategoriju primere? -za dugotrajno skladištenje podataka (diskovi i trake) -uredjaji za prenos podataka kao što su mrežne kartice i modemi -uređaji koji obezbeđuju interfejs ka korisniku kao što su monitori, tastature i miševi
4.Navedite podelu UI uredjaja prema smeru prenosa i za svaku kategoriju primer? Prema smeru prenosa, uređaji se mogu podeliti na: - ulazne (miš, skener) -izlazne (štampač) -ulazno-izlazne (mrežna kartica)
5.Navedite podelu UI uredjaja prema jedinickoj kolicni podataka i za svaki kategoriju primer? -oni koji rade sa blokovima (block devices) -oni koji rade sa znakovima (character devices)
6.Navedite podelu UI uredjaja prema metodi pristupa i za svaku kategoriju primer? -uređaji sa sekvencijalnim pristupom (kao što su modem i magnetna traka) -uređaji sa direktnim ili slučajnim pristupom (kao što su diskovi i CD-ROM uređaji)
7.Navedite podelu UI uredjaja prema deljivosti podataka i za svaku kategoriju primer? -deljivi uredjaji (diskovi) -nedeljivi uredjaji (tastatura)
8.Navedite podelu UI uredjaja prema brzini rada i za svaku kategoriju primer? -spori uredjaji (tastatura) -brzi uredjaji (mrežna kartica)
9.Navedite podelu UI uredjaja prema načinu rada i za svaku kategoriju primer? -uredjaji za čitanje i pisanje(diskovi) -uredjaji za isčitavanje(cd rom) -uredjaji za ispisivanje(grafička kartica)
10.Navedite funkcije časovnika i tajmera? Funkcije casovnika i tajmera su: prikaz tekuceg vremena , prikaz proteklog vremena i tajmerski okidac za neku operaciju
11.Objasnite kako funkcioniše tehnika prozivanja uredjaja I koji je njen osnovni nedostatak? -čitanje
statusnog registra
-ekstrakcija i analiza busy bita -povratak u petlju ako je vrednost busy bita 1, izlaz iz petlje ako je vrednost busy bita 0 U slučaju sporih uređaja, procesor ostaje zauzet čekanjem u kranje dugačkim petljama, iako bi mogao da radi pametnije stvari
12.Kako se na nivou operativnog sistema rešava problem uniformnosti uredjaja? Problem uniformnosti se rešava metodama izlaznog podsistema.
apstrakcije i višeslojnosti softvera u okviru ulazno-
13.Objasnite tehniku baferovanja i navedite osnovne razloge za njeno korišćenje kod UI uredjaja? Bafer je deo memorije koji funkcioniše na principu proizvođač-potrošač i služi za čuvanje privremenih podataka prilikom prenosa podataka između dva uređaja ili između uređaja i aplikacije. Baferovanje se izvodi iz sledećih razloga: - usklađivanje različitih brzina između potrošača i proizvođača -prilagođavanje različitih veličina transfera podataka - održavanje semantike kopiranja
14.Šta je keširanje i u čemu je osnovna razlika izmedju keširanja i baferovanja kod UI uredjaja? Keš predstavlja oblast brze sistemske memorije koja čuva kop iju podataka, obično sa diska. Pristup podacima u kešu znatno je brži od pristupa podacima na ulazno-izlaznim uređajima.
Keširanje predstavlja tehniku kopiranja delova diska u keš memoriju, čime se osetno poboljšavaju performanse U/I sistema diska. Najjednostavnije rečeno, razlika između keša i bafera sastoji se u tome što bafer čuva trenutno aktuelne podatke, a keš čuva bilo koju kopiju sa diska.
15.Šta je spuler i koje su prednosti upotrebe spulera? Spuler je bafer koji privremeno čuva izlazne podatke namenjene nekom nedeljivom uređaju (npr štampaču).
Korišćenje spulera ima svoje prednosti: -proces relativno brzo postavlja svoj zahtev u bafer, a nakon toga je slobodan da dalje obavlja svoje aktivnosti -nedeljivi uređaji se koriste kao prividno deljivi, što omogućava većem broju procesa da istovremeno koriste uređaj.