30
1. Istorijat operativnih sistema 0. generacija Racunari sa enektromagnetima. Konrad Cuse 1. generacija 1945 - 1955 Racunari su pravljeni od elektronskih cevi(diode, triode). U jednom racunaru je bilo i do 20 000 cevi. Ovi racunari su se jako zagrevali i cesto nisu mogli usled pregrevanja sastavili nijedan sat rada. Bili su veoma skupi i mogli su ih priustiti samo vojni vrhovi. Ljudi koji su radili na njima su radili sve, od pravljenja do programiranja i odrzavanja. Programiranje su odvijalo tako sto su se ozicavale rupe na kontrolnoj tabli kao na starim telefonskim centralama. Jos uvek nema govora o operativnim sistemu. 2. generacija 1955 – 1965 Racunari se sada prave od tranzistora. Postali su manji, pouzdaniji i jeftiniji pa su dostupniji mocnim firmama. Ljudi se sad dele na one koji prave i one koji koriste racunare. Racunare koriste sistem operateri, operatori unosa podataka i programeri. Programeri pisu programe u fortanu na papiru. Sa tih papira operateri unosa podataka prepisuju programe u busene kartice. Programeri zatim odnose te busene kartice u predvorje ispred racunara. Sistem operateri izadju iz prostorije u kojoj je glavni racunar i pokupe busene kartice. Zatim u racunar ubace fortan kompajler, koji je takodje na busenim karticama, pa onda program na busenim karticama. Kompajler odradi posao i i rezultate rezultate ili zapamti ili izbaci u obliku busenih kartica koje se dalje mogu koristiti kao ulazni podaci. Razultat se u obliku kartica tada iznese. I dalje ne posttoji operativni sistem. Racunari su i dalje jako skupi i jako puno vremena se gubilo na pripremu obrade. 3. generacija (1965 – 1980) Racunari se prave od integrisanih kola tj cipova. Sada su jos manji, jeftiniji i pouzdaniji. Postaje podela racunarana poslovne i naucne. Ove racunare je pratio operativni sistem os/360. Ovaj operativni sistem je bio jako glomazan i prepun gresaka (10 000 u svakom trenutku). Ipak, je bio prilicno stabilan (Sto u ovom kontekstu podrazumeva da se nije blokirao kada je naisao na gresku, nego je nastavio rad sa greskama). Page 1 of 30

Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

Embed Size (px)

DESCRIPTION

Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

Citation preview

Page 1: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

1. Istorijat operativnih sistema

0. generacija

Racunari sa enektromagnetima. Konrad Cuse

1. generacija 1945 - 1955

Racunari su pravljeni od elektronskih cevi(diode, triode). U jednom racunaru je bilo i do 20 000 cevi. Ovi racunari su se jako zagrevali i cesto nisu mogli usled pregrevanja sastavili nijedan sat rada. Bili su veoma skupi i mogli su ih priustiti samo vojni vrhovi. Ljudi koji su radili na njima su radili sve, od pravljenja do programiranja i odrzavanja. Programiranje su odvijalo tako sto su se ozicavale rupe na kontrolnoj tabli kao na starim telefonskim centralama. Jos uvek nema govora o operativnim sistemu.

2. generacija 1955 – 1965Racunari se sada prave od tranzistora. Postali su manji, pouzdaniji i jeftiniji pa su dostupniji mocnim firmama. Ljudi se sad dele na one koji prave i one koji koriste racunare. Racunare koriste sistem operateri, operatori unosa podataka i programeri. Programeri pisu programe u fortanu na papiru. Sa tih papira operateri unosa podataka prepisuju programe u busene kartice. Programeri zatim odnose te busene kartice u predvorje ispred racunara. Sistem operateri izadju iz prostorije u kojoj je glavni racunar i pokupe busene kartice. Zatim u racunar ubace fortan kompajler, koji je takodje na busenim karticama, pa onda program na busenim karticama. Kompajler odradi posao i i rezultate rezultate ili zapamti ili izbaci u obliku busenih kartica koje se dalje mogu koristiti kao ulazni podaci. Razultat se u obliku kartica tada iznese.

I dalje ne posttoji operativni sistem. Racunari su i dalje jako skupi i jako puno vremena se gubilo na pripremu obrade.

3. generacija (1965 – 1980)

Racunari se prave od integrisanih kola tj cipova. Sada su jos manji, jeftiniji i pouzdaniji. Postaje podela racunarana poslovne i naucne. Ove racunare je pratio operativni sistem os/360. Ovaj operativni sistem je bio jako glomazan i prepun gresaka (10 000 u svakom trenutku). Ipak, je bio prilicno stabilan (Sto u ovom kontekstu podrazumeva da se nije blokirao kada je naisao na gresku, nego je nastavio rad sa greskama). Jos jedna mana tadasnjih racunara je gubljenje procesorskog vremena dok traju ulazno – izlazne operacije. Kao resenje ovog problema nastaje multiprogramiranje.

SPOL (Simultaneous Pheripheral Operation On Line) je jos jedno poboljsanje koje se odnosilo na prebacivanje sadrzaja busenih kartica na disk preko posebnog uredjaja. Ovim se gubi potreba za racunarom koji je ranije obavljao tu funkciju i ne gubi se vreme na premestanje magnetnih traka.

Time sharing – podela vremena. Do tada se vrsila paketna obrada. Nova ideja je bila da ispred svakog korisnika postoji tastatura i monitor (terminal) koji su prikljuceni na glavni racunar i da korisnik ima osecaj da sam radi na racunaru. Svaki korisnik bi pokrenuo svoj program a operativni sistem bi dodeljivao kontrolu jednom na osnovu dva kriterijuma:

- cekanje zbog ulazno izlaznih operacija;

- istek dozvoljenog vremena neaktivnost.

4. generacija 1980- generacija personalnih racunara

Page 1 of 19

Page 2: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

Karakterise je sve veca integracija. PDP racunari su sve manji, jeftiniji, pouzdaniji. Na kraju su mogli stati na sto. Nastaju Commodore (PET); Spectrum 4 (koji nije imao operativni sistem ali je imao ugradjen Basic koji je sve radio); Spectrum 48; Commodore 64, 128; Apple 1, 11, 111...

Vremenom se dolazi do IBM PC i Macintosh (iz Apple-a). Sto se operativnih sistema za PC-je tice, bitka se vodila izmedju CP/M-a i MS-DOS-a. U to vreme, CP/M je vec imao mogucnost izvrsavanja vise programa u isto vreme ali su njegovi predstavnici zakasnili na sastanak i IBM je izabrao MS-DOS za operativni sistem. Nakon DOS-a pojavljuju se razne verzije Windows-a koje do verzije Win95 i WinNT ne predstavljaju operativni sistem.

Pored klasicnih operativnih sistema iz trece generacije postoje dve nove vrste: distribuirani ili mrezni, koji su najstali kao posledica sustinskog momenta povezivanja racunara u lokalne/globalne mreze. Korisnici racunara u ovoj generaciji su mnogobrojni. Sve vise korisnika nije kompjuterski obrazovan pa se razvija korisnicki interfejs koji olaksava njihov rad. Korisnicki interfejs dakle prestavlja vezu izmedju korisnika i operativnog sistema. Kao posledica masovnosti javljaju se i programi opsteg tipa sa razvijanim korisnickim interfejsom, npr tekst procesorom.

5. generacija, (nikad nije realizovana po nasoj literaturi, ali po zapadnoj literaturi vec postoji kao posebna generacija)

U ovoj generaciji se takodje razvijali i mrezni i distribuirani operativni sistemi. Mreze mogu biti lokalne i globalne a granica izmedju njih je cesto filozofsko pitanje. Mrezni operativni sistem je nadogradnja operativnog sistema koji se vec nalazio na nekom racunaru. Za razlicite operativne sisteme postoje njima odgovarajuce nadogradnje i vazi da su sve te nadogradnje kompaktibilne. Korisnik je svestan da nije sam na mrezi, tj sve stanje razlicitih masina sa kojima stupa u kontakt preko terminala. Ditribuirani oparativni sistema je jedna celina. Korisnik nije svestan postojanja ostalih racnara, iako moze koristiti podatke i izvrsavati programe koji se nalaze mozda i na drugom kontinentu. Operativni sistemi pete generacije, su operativni sistemi mobilnih telefona(npr. Android, Symbian. . .).

2. Fon Nojmanova arhitektura

Odnosi se na dizajn racunara koji koristi jedinstvenu strukturu za skladištenje u kojoj cuva i instrukcije i podatke.

-Elementarni fizicki objekat fon Nojmanove masine ( pa i savremenih elektronskih racunara) je elektronska cev (tranzistor).

-Moze da bude u 2 diskretna stanja – protice struja/ ne protice struja, (“regulisanje” binarnu cifru 0 ili 1) i naziva se celija.

-Celije se u fon Nojmanovoj masini organizuju u nizove fiksne duzine koji se nazivaju registar.

svi podaci su predstavljeni u binarnom obliku

instrukcije slede jedna za drugom

Page 2 of 19

Page 3: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

racunar razmenjuje podatke izmedju memorije i aritmeticke jedinice preko akumulatora

3. Elementi arhitekture računara

Elemente arhitekture računara čine arhitektura procesora, arhitektura memorije i arhitektura ulazno/izlaznog sistema. Arhitektutu procesora čine:

- programski dostupni registry- tipovi podataka- format instrukcija- načini adresiranja- skup instrukcija- mehanizam prekida

Da bi processor izvršio naredbu on najpre treba da je dohvati iz memorije. Potom je potrebno odrediti adresu operanada nad kojima se izvršava operacija. U svakom procesoru postoji više registara koje se dele na adresibilne registre i registre nedostupne programeru. Dva najvažnija interna registra su MAR(MemoryAddressRegister) i MDR(MemoryDataRegister). U svakom procesoru postoji aritmetičko logička jedinica (ALU) koja izvršava sve aritmetičke operacije. Komunikacija između memorije i procesora se odvija preko magistrala. Svaka instrukcija ima dva dela. Prvi čini operacioni deo instrukcije, a drugi adresni deo.

FALI DEO

4. Karakteristike operativnih sistema

[1] KonkurentnostKonkurentnost (engl. concurrency) je postojanje više simultanih, paralelnih aktivnosti. Primeri su preklapanje U/I operacija i operacija izračunavanja ili koegzistencija više programa u memoriji. Konkurentnost izaziva probleme pri prelasku s jedne aktivnosti na drugu, probleme zaštite jedne aktivnosti od druge i sinhronizacije aktivnosti koje su međusobno zavisne.[2] Deoba resursaKonkurentne aktivnosti mogu da zahtevaju deljenje (engl. sharing) resursa ili informacija. Razlozi za deljenje resursa su višestruki. Pre svega, to je ukupna cena, jer je obezbeđivanje dovoljnih resursa za svakog korisnika najčešće preskupo. Poželjno je nadovezivanje rada jednog korisnika na rad drugog korisnika, deljenje podataka, tj. korišćenje istih podataka između različitih programa, i otklanjanje redundanse resursa.

Page 3 of 19

Page 4: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

[3] Postojanje dugotrajne memorijePotreba za deljenjem programa i podataka implicira potrebu za trajnim skladištenjem podataka s mogućnošću brzog pristupa (engl. long-term storage). To omogućavaju uređaji velikog kapaciteta, tj. sekundarne memorije, koji su uglavnom magnetni. Pri tome treba rešiti sledeće probleme: obezbeđenje jednostavnog pristupa podacima, zaštita od štetnih uticaja bilo kakve vrste (zlonamernih ili nehotičnih) i zaštita od grešaka samog sistema.[4] NedeterminizamOperativni sistem mora biti deterministički orijentisan – znači, kad izvršava isti program sa istim podacima, mora da daje isti rezultat, bez obzira na to da li će to raditi danas, sutra, ili za mesec dana. Na drugoj strani, operativni sistem morakarakterisati nedeterminističko ponašanje (engl. nondeterminancy), što znači da mora da odgovori na masu zahteva i događaja koji se mogu desiti na nepredvidiv način (zahtevi za resursima, greške u toku izvršavanja programa, prekidni signali perifernih uređaja). Operativni sistem ne može predvideti sve situacije koje mogu nastupiti i mora biti spreman za sve moguće sekvence događaja.

5. BIOS

BIOS (Basic Input Output System) predstavlja prvi softver koji se pokreće prilikom pokretanja računara. Zadužen je za inicijalizaciju, proveru i upravljanje perifernim uređajima, a pre svega onima sa kojih se može pokrenuti operativni sistem. BIOS dozvoljava konfiguraciju hardvera. Posebno su bitni parametri koji se odnose na samo boot-ovanje. Boot-ovanje se sastoji od sledećih faza: pokretanje BIOS-a, izvršavanje bootloader-a i pokretanje operativnog sistema. Boot-ovanje predstavlja proces inicijalizacije računara i pokretanja operativnog sistema. BIOS se nalazi na PROM, EPROM ili FLASH memoriji na matičnoj ploči. BIOS ima mogućnost samoprovere. Može se koristiti za upravljanje ulazno/izlaznim uređajima, mada moderni operativni sistemi komuniciraju direktno sa hardverom. BIOS je zadužen za nalaženje uređaja koji je pogodan za podizanje sistema i izvršavanje bootloader-a sa njegovog boot sektora.

6. Matične ploče

Matična ploča je osnovni deo računara. Ona povezuje procesor, memoriju i ulazno-izlazne uređaje. Ona sadrži i ROM memoriju u kojoj se kod PC računara nalazi BIOS (osnovni programi za rad računara), kao i upravljačke čipove (tzv. kontrolere) koji upravljaju radom periferijskih uređaja (npr. hard diska, CD-ROM-a...). Matična ploča takođe povezuje računarski sistem sa električnim napajanjem. Sa stanovišta arhitekture, povezivanje delova mikroračunarskog sistema obavlja se preko tri magistrale (put kojim se kreću signali, podaci, naredbe u računaru): • magistrala podataka - služi za prenos podataka kroz računar • adresna magistrala - magistrala kojom se predaju adrese memorijskih lokacija • upravljačka magistrala - magistrala kojom se prenose upravljački signali Sa razvojem računara, menjali su se i izgled i fizička konstrukcija matične ploče. Tako nove matične ploče imaju drugačiju arhitekturu, drugačije slotove za povezivanje kartica (npr. grafičke karte), spoljne memorije (IDE, SATA), drugačije portove za povezivanje periferijskih uređaja (npr. USB, FireWire...). Konačno, matična ploča je ta od koje zavisi radni takt na kome će raditi procesor i memorija, kao i brzina protoka informacija. Čipset je skup čipova, odnosno kontrolera iz kojih se sastoji matična ploča. Kod današnjih PC računara deli se na dva dela: • "severni" deo matične ploče (northbridge) - veoma kompleksan i brz kontroler koji povezuje procesor sa memorijom i magistralom

Page 4 of 19

Page 5: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

• "južni" deo matične ploče (southbridge) - kontroler koji povezuje magistralu sa periferijskim uređajima (disketne jedinice, hard diskovi, CD i DVD ROM-ovi, miš, tastatura, USB...).

7. Hard diskovi

Beleženje i iščitavanje ubeleženih podataka zasnovano je na elektronskom manipulisanju magnetnim promenama na tankim okruglim pločama koje se nalaze unutar tvrdog diska. Savremeni hard-diskovi su veličine manje džepne knjige, a u njima se, poređane jedna do druge, nalaze aluminijumske ploče prekrivene velikim brojem sitnih magnetnih zrnaca. Iznad i ispod svake ploče nalazi se "glava" njenog magnetnog pisača koji može da služi i kao čitač. Čitač, odnosno pisač, podseća na ručku gramofona, tj. nosač gramofonske igle, ali za razliku od njegovog funkcionisanja, čitači tvrdog diska lebde iznad svojih ploča na rastojanju koje je 5 000 puta manje od debljine prosečne ljudske dlake. Sa tako malog rastojanja (manjeg od dva stota dela mikrona) vrši se čitanje stanja magnetnih zrnaca na odgovarajućoj ploči, ili pak pogodno namagnetisavanje odnosno razmagnetisavanje istih zrnaca pomoću električnih struja koje protiču kroz glavu pisača/čitača.

8. Opšti pregled strukture operativnih sistema

Upravljanje osnovnim resursima računarskog sistema obezbeđuje više funkcionalnihgrupa programa namenjenih za:• upravljanje procesorom; • upravljanje memorijom; • upravljanje ulazom i izlazom; • upravljanje podacima;• upravljanje sekundarnom memorijom; • umrežavanje; • zaštitu; • korisnički interfejs.Procesor je jedan od najvačnijih resursa računarskog sistema, mada u pojedinimsituacijama neki drugi resursi mogu biti vačniji. Upravljanje procesorom moče se podeliti na dva nivoa:• nivo neposredne dodele procesora nekom programu, tj. predaje kontrole nadprocesorom nekom programu;• nivo razrešavanja prioriteta, tj. odlučivanja koji od mogućih programa ima najveći prioritet da bi postao proces i da bi u nekom sledećem trenutku dobio kontrolu nad procesorom.Pod upravljanjem memorijom podrazumeva se upravljanje radnom, tj. glavnom memorijom računara, kojoj centralni procesor pristupa direktno, radi uzimanja instrukcija ili podataka. Na ovom nivou obavljaju se sledeće funkcije:• realizacija određene strategije dodeljivanja memorije (redosled dodeljivanja memorije poslovima, statično ili dinamično dodeljivanje, principi dodeljivanja itd.);• dodeljivanje memorije (algoritmi izbora početne lokacije segmenta koji se dodeljuje);• sprovođenje određene strategije oslobađanja memorije (ukrupnjavanje manjih oslobođenih delova memorije, oslobađanje delova memorije, redosled obrade zahteva za dodelu memorije).Na nivou upravljanja uređajima realizuju se sledeće funkcije:• obezbeđivanje nezavisnosti uređaja (programi treba da budu nezavisni od tipa uređaja koji se koriste za ulazno-izlazne operacije);• obezbeđivanje efikasnog rada uređaja (pošto U/I operacije predstavljaju često usko grlo računarskog sistema, počeljno je da se što efikasnije preklapaju i izoluju od procesora);• obezbeđivanje jedinstvenog koncepta analize rada svih uređaja računarskog sistema;• realizacija određene strategije dodeljivanja uređaja (na primer, redosled dodeljivanja uređaja poslovima, način dodeljivanja uređaja: namenski, s deobom, kaovirtuelni itd.);• dodeljivanje uređaja (fizičko dodeljivanje uređaja, kontrolnih jedinica i kanala poslovima);• realizacija određene strategije oslobađanja uređaja (na primer, uređaj se oslobađa tek kad se posao kojem je dodeljen završi).

Page 5 of 19

Page 6: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

Nivo upravljanja podacima treba da obezbedi softverska sredstva za organizovanje podataka i pristupanje podacima na način koji odgovara korisniku računarskogsistema. Koncepcija upravljanja zavisi, pre svega, od vrste podataka i rečima njihovog korišćenja. Na ovom nivou realizuju se sledeće funkcije:• formiranje i brisanje osnovnih struktura podataka (datoteka);• čitanje datoteka i upisivanje u datoteke;• obezbeđivanje uslova za simboličko obraćanje datotekama (prema njihovim imenima);• zaštita podataka od namernog i nenamernog uništavanja (usled otkaza sistema);• zaštita podataka od neovlašćenog pristupa i korišćenja;• deoba datoteka (podataka) između više poslova (korisnika).

9. Sta je jezgro operativnog sistema?

Jezgro (nucleus, core, kernel)

Jezgro operativnog sistema je osnovni deo operativnog sistema koji obavlja najosetljivije i najvažnije operacije. U hijerarhisjkom (slojevitom) modelu, jezgro je najbliže hardveru i predstavlja vezu tj interfejs između hardvera i ostalih slojeva operativnih sistema. To je deo oprativnog sistema koji omogućava programima da na siguran način pristupe hardveru.Jezgro se uvek nalazi u glavnoj memoriji i bavi se:

- upravljanjem prekida- kreiranjem i uništavanjem procesa - zamenom jednog procesa drugim- raspoređivanjem procesa- sinhronizacijom procesa- manipulacijom PCB-a (Process Control Block)- ulazom/izlazom- sistemom fajlova- upravljanjem memorijom (unutrašnjom)- obračunom troškova (čuvnaje podataka u statistika o korisnicima i procesima)

Jezgro operativnog sistema se naziva Kernel. Kernel kontroliše resurse (upravlja procesima, memorijom, diskom i pruža pristup drugom hardveru). Da bi jezgro ostavarilo svoju osnovnu funkciju, neophodno je da sam hardver ispunjava određene preduslove tj da na nivou hardvera postoje komponente koje omogućuju nadogradnju hardvera jezgrom. U te komponente spadaju:

- Mehanizam prekida- Zaštitni mehanizam adresiranja memorije- Skup privilegovanih instrukcija- Časovnik realnog vremena

10.Šta je virtuelna mašina i koja je njena osnovna funkcija?

Struktura virtuelnih mašina je izrađena od strane firme IBM na sledeći način: imamo na najnižem nivou hardver, iznad hardvera imamo sistem koji se zove monitor virtuelnih mašina (virtual machine monitor) i koji obezbeđuje niz virtuelnih mašina - to nisu proširene mašine kao operativni sistemi koji pružaju niz proširenih i jednostavnijih operacija za pristup hardveru, već su tačne kopije hardvera ispod monitora virtuelnih mašina. Zatim se na te virtuelne mašine mogu biti instalirani operativni sistemi – koji mogu biti i različiti. Sistemske pozive korisničkih programa primaju odgovarajući operativni sistemi, a hardverske operacije koje šalju ti OS-ovi prema svojim virtuelnim

Page 6 of 19

Page 7: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

mašinama hvata monitor virtuelnih mašina i realizuje ih u skladu sa hardverom ispod sebe. Kao primer možemo navesti IBM-ov VM/370.

11.Prekidi. Šta je mehanizam prekida?

Cekanja na dogadjaj ili prekidanje.

- Kontroleri su u neku ruku osiromaseni procesori koji su sposobni da autonomno izvrsavaju neke zadatke.

- Svaki kontroler ima dva slabija procesora.- Postoje dva nacina upravljanja ulazno/izlaznim uredjajima: Spooling i Prekidi(interapt)- Kod spooling-a, program koji se izvrsava na centralnom procesoru u nekim vremenskim

intervalima provera stanje spoljih uredjaja intervalima provera stanje spoljnih uredjaja (mis, stampac) i ako postoji neka promena, on je obradi.

Program koji se izvrsava na centralnom procesom u nekim vremenskom intervalima proverava stanje spoljasnjih ili spoljnjih uredjaja.

Kod upravljanja spojnim uredjajem pomocu prekida, program koji se izvrsava na centranomk procesoru, radi neormalno dok se ne dasi prekid. tada operativni sistem preuzima kontrolu sacuva stanje postojecih procesa, stane stanje tekuceg procesa, onemoguci dalje prekide ili obradi prekide u tabeli prekida u kojoj se nalaze oadrese svih prekida.Vrste prekida:

- sistemski prekid- ulazno/izlazni prekidi- greske u programu- greske u hardveru

Svi sitemski pozivi se realizuju sistemom prekida. Oni se realizuju tako sto korisnik softverski eksplicitno generise prekid. Pri tome procesor prelazi iz korisnickog u supervizorski nacin rada i u njemu se obradjuju prekidi. PSW (Program Status Word): PSW jw registar(ili skup registara) centralnog procesora koji je usko vezan za prekide, On sadrzi adresu tekuce instrukcije i ostale informacije o tekucem procesoru kao i stanje prekida (omoguceni ili ne) Za svaki prekid pravi se novi PSW.Mehanizam prekida obezbeđuje izvršenje upravljačkog programa (prekidna rutina) tj prebacivanje kontrole izvršavanja s korisničkog na upravljački program. Najmanje što mehanizam prekida treba da učini jeste da sačuva vrednosti programskog brojača prekinutog programa i pokrene upravljački program s fiksne lokacije u memoriji. Upravljački program dalje određuje izvor prekida i reaguje na odgovarajući način.

12.Sistemski poziv

Aplikacioni programi komuniciraju sa operativnim sistemom pomoću sistemskih poziva (engl. system calls), tj. preko operacija (funkcija) koje definiše operativni sistem. Sistemski pozivi se realizuju pomoću sistema prekida: korisnički program postavlja parametre sistemskog poziva na određene memorijske lokacije ili registre procesora, inicira prekid, operativni sistem preuzima

Page 7 of 19

Page 8: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

kontrolu, uzima parametre, izvrši tražene radnje, rezultat stavlja na određene memorijske lokacije ili u registre i vraća kontrolu programu. Sistemske pozive često podržava i hardver, tj. procesor, na taj način što razlikuje dva režima rada: korisnički režim (engl. user mode) i sistemski režim (engl. supervisor mode). Korisnički programi mogu raditi isključivo u korisničkom režimu rada procesora, sistemski režim rada je predviđen za operativni sistem. Ako korisnički program pokuša da izvrši neku operaciju koja je dozvoljena samo u sistemskom režimu rada, kontrola se predaje operativnom sistemu. Prilikom sistemskih poziva procesor prelazi iz korisnič - kog režima rada u sistemski, a vraća se u korisnički režim posle obrade poziva. Sistemski pozivi obezbeđuju interfejs između programa koji se izvršava i operativnog sistema. Generalno, realizuju se na asemblerskom jeziku, ali noviji viši programski jezici, poput jezika C i C++, takođe omogućavaju realizaciju sistemskog poziva. Program koji se izvršava može proslediti parametre operativnom sistemu na tri načina:• prosleđivanjem parametara u registrima procesora;• postavljanjem parametara u memorijskoj tabeli, pri čemu se adresa tabele prosleđuje u registru procesora;• postavljanjem parametara na vrh steka (push), koje operativni sistem “skida”(pop).

13.Objasniti pojam procesa

Proces - je u osnovi program u izvršenju. Sastoji se od izvršnog programa, podataka, steka, programskog brojača, stek pointera, skupa registara i svih ostalih informacija potrebnih za pokretanje programa. Sve informacije o procesima operativni sistem smešta u tabelu procesa koja je niz ili povezana lista struktura, gde se svaka struktura dodeljuje jednom od postojećih procesa. Proces može kreirati više drugih procesa koji se nazivaju procesi potomci. Osnovni zadaci slojeva za rukovanje sa procesima su stvaranje i unistavanje procesa.Signal je softverska analogija hardverskog prekida i može biti generisan različitim uslovima ili istekom tajmera. Signali se koriste za međuprocesnu komunikaciju. Procesi,osnovna stanja,sinhronizacija – Osnova stanja procesa su : izvrsava se (RUN), kada je procesu dodeljen procesor i on izvrsava procese,spreman(READY) kada proces ceka na procesor da ga primi i blokiran (WAIT) kada nisu ispunjeni neophodni preduslovi za obradu podataka.Od prioriteta procesa zavisi kada ce spreman proces da postane aktivan.Podrazumeva se da je aktivan uvek proces sa najvisim prioritetom.Ako postoji nekoliko procesa najviseg prioriteta tada se ravnomerna raspodela procesorskog vremena izmedju aktivnog i spremnog procesa najviseg prioriteta postize ako aktivni proces prepusta procesor spremnom procesu najviseg prioriteta cim istakne unapred odredjeni vremenski interval. Ovaj interval se naziva kvantum.

14.Kakve vrste procesa postoje?

Procesi se dele na teške i lake procese. Za ivršavanje nekog procesa potrebno je 4 dela memorije:

- HEAP, deo memorije koji je rezervisan za dinamičke promenljive, tj. za promenljive koje se stvaraju u toku izvršavanja programa. Pristupa im se pomuću pokazivača. Kreira se pomoću funkcije ALLOCATE. Oslobađanje se ostvaruje eskplicitno ili pomoću GARBAGE COLLECTOR-a. Garbage je automatski mehanizam za oslobađanje memorije.

- STACK, deo memorije rezervisan za čavanje lokalnih promenljivih, parametara procedura,... Veličina mu je promenljiva. Princip rada: nastupi poziv procedure, na stek se guraju parametri, lokalne promenljive i povratna adresa trenutne procedure. Nakon završenog posla sa steka se skidaju te informacije.

- memorija za globalne promenljive

- memorija za kod procesa

Page 8 of 19

Page 9: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

Podela procesa na teške i lake vrši se na osnovu toga, kako koriste gore navedene delove memorije:

- svaki teški proces ima sopstveni memorisjki prostor za kod, globalne promenljive, stek i heap koju ne deli ni sa kim, pristup tim delovima ima samo dati proces.

- laki procesi (niti) mogu deliti memorijski prostor za kod, globalne promenljive i heap. Stek se ne može deliti jer ne možemo unapred znati koji proces koristi stek.

Operativni sistem odlučuje da li će proces biti težak ili lak. Postoje operativni sistemi koji podržavaju samo lake procese (UNIX), samo teške procese (Oberon), obe vrste procesa (Windows).

15.Podela operativnih sistema u odnosu na procese

Operativni sistemi mogu podržavati:

- monotasking (jednoprocesni, monoprogramiranje): u memoriji istovremeno imamo samo jedan program, tj istovremeno se izvršava samo jedan proces

- multitasking (višeprocesni, multiprogramiranje): u memoriji istovremeno imamo više program, istovremeno se izvršavaju i više procesa

Operativni sistem može da izvrši sledeće operacije nad procesima:

o kreiranje procesao uništavanje procesao izrada veza proces – proces roditeljo promena stanja procesao promena prioriteta procesa.

16.Objasniti pojmove nezavisnih, kompetitivnih i kooperativnih procesa

I sami procesi mogu kreirati nove procese. U tom slučaju proces koji kreira novi proces zove se roditelj, a novi proces dete, pa je odnos hijerarhijski (u obliku stabla). Između roditelja i deteta možemo imati dve vrste veze:

- proces – roditelj kreira novog procesa i čeka dok proces – dete završi sa radom

- proces – roditelj kreira novog procesa i nastavljaju sa radom oba procesa (rade paralelno)

U odnosu na međusobnu zavisnost toka izvršavanja, procesi se mogu podeliti na:

- nezavisne procese, ukoliko ne utiču na izvršenje drugih procesa i ako na njegovo izvršenje ne utiču drugi procesi

- kooperativne procese, oni koji jedni na druge utiču, a to su svi procesi koji dele podatke ili bilo kakve resurse. Kooperativni procesi su: deljenje informacija, ubrzavanje rada, modularnost, pogodnost.

Odnos proces – proces roditelj može se opisati na osnovu načina deljenja resursa i načina izvršavanja. Prema deljenju resursa, procesi roditelj i dete mogu se naći u sledećim relacijama:

- Procesi roditelj i dete dele sve resurse- Procesi roditelj i dete dele podskup resursa roditeljskog procesa- Procesi i roditelj ne dele resurse

Od resursa, svaki proces za svoj rad najčešće koristi registre procesora, memorijske sekcije, datoteke i ulazno-izlazne uređaje. Posebno je osetljiv memorijski adresni prostor, za čije se korišćenje primenjuju sledeće tehnike:

- Proces dete duplicira adresni prostor roditelja

Page 9 of 19

Page 10: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

- Adresni prostor deteta generiše se prema programu kojim se taj adresni prostor puni

17.Sinhronizacija procesa

Upravljanje aplikacijama sa više niti se obavlja pomoću objekata za sinhronizaciju.Za sinhronizaciju se koriste sledeći objekti:- Događaj ( event )- Kritična sekcija ( critical section )- Mutex- Semafor ( semaphore )Win32 API podržava set funkcija koje se mogu koristiti za čekanje sve dok se neki objekat ne oslobodi za korišćenje . Postoje mnogo vrsta ovakvih objekata na koje se ove funkcije mogu primeniti. Neki od njih su pravi sinhronizacioni objekti, a drugi su objekti za druge namene (fajlovi, U/I kanali, uređaji) koji ne mogu biti u signaliziranom ili nesignaliziranom stanju. Sinhronizacioni objekti koji mogu biti signalizirani su: semafori, event objekti, mutex objekti i objekti kritične sekcije.

Semafor

Semafor ( semaphore ) je objekat koji se koristi da ograniči broj konkurentnih pristupa do deljenog objekta. Interno se semafor ponaša kao brojač. Semafor se nalazi u signaliziranom stanju ako je stanje njegovog internog brojača veće od nule, a ako je jednako nuli smafor je nesignaliziran.Semafor objekat se kreira funkcijom CreateSemaphore i tada se specificira maksimalni broj pristupa, tj maksimalna vrednost koju može imati interni brojač . Svaki put kada se nit koja čeka semafor realizuje, brojač semafora se dekrementira za jedan. Brojač se može inkrementirati funkcijom ReleaseSemaphore. Ako je stanje internog brojača 0 ( nula ) sve koje čekaju na semafor su blokirane.Osnovne operacije nad semaforom su:DOWN - dekrement internog brojača, indikacija da je nit pristupila zaštićenom resursu i da on više nije dostupanUP - inkrement internog brojača, indikacija da je zaštićeni resurs ponovo dostupanPrilikom pristupa resursu zaštićenom pomoći semafora nit mora čekati na semaforov handle, što blokira nit dok se semafor ne signalizira.

Page 10 of 19

Page 11: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

Događaj

Event se koristi za slanje signala nit da se neki događaj desio. To je sinhronizacioni objekat upravljan od strane operativnog sistema, i može mu se pristupiti iz više procesa, ako je imenovan.Koristi se kada jedna nit mora čekati da druga nit završi neki posao, ili kada nit čeka da se naznači da se neki događaj desio. Event može biti u dva stanja:- signalizirano- zahtev za čekanje je zadovoljen- nesignalizirano- zahtev za čekanje nije zadovoljen i nit je blokiranaEvent se obično posle signalizacije odmah vraća u nesignalizovano stanje.Stanje event objekta može eksplicitno postavljeno na signalizovano ili na nesignalizovano. Kada se event objekat kreira funkcijom CreateEvent specificira se njegovo stanje i njegov tip.Postoje dva tipa event objekata:manual-reset eventMora se resetovati u nesignalizirano stanje funkcijom ResetEvent. Dok je stanje signalizirano, sve niti koje čekaju ili niti koje su specificirale ime objekta u funkciji čekanja mogu se izvršiti.auto-reset eventStanje objekta se resetuje u nesignalizirano svaki put kada se izvrši nit koja čeka na objekat. Ako nema niti koje čekaju, stanje ostaje signalizirano.Stanje event objekta se može prevesti u signalizirano funkcijom SetEvent.

Mutex

Mutex je objekat za sinhronizaciju koji dozvoljava samo jednoj niti da pristupi zaštićenom resursu, niti koja poseduje mutex. Mutex-om upravlja operativni sistem. Mutex se kreira funkcijom CreateMutex koja vraća handle kreiranog mutex-a.Mutex ( mutual exclusion – međusobno isključivanje ) je nesignalizovan kada je posedovan od neke niti, asignalizovan kada je dostupan. Nit dobija vlasništvo nad mutex objektom specifikacijom handle-a objekta u funkciji čekanja. Mutex objekat se oslobađa ( signalizira ) funkcijom ReleaseMutex.

Page 11 of 19

Page 12: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

Sinhronizacioni objekti se mogu koristiti i za među-procesnu sinhronizaciju. Semafori, event objekti i mutex objekti mogu biti imenovani kada se kreiraju odgovarajućom funkcijom. Drugi proces može dobiti handle od ovih objekata korišćenjm funkcija OpenSemaphore, OpenEvent i OpenMutex

18.Kritični segment procesa

Objekat kritične sekcije ( Critical section ) je varijacija mutex objekta. Objekat kritične sekcije može biti korišćen samo od strane niti istog procesa, ali on pruža mnogo efikasniji mehanizam međusobnog isključivanja od mutex-a. Kritičnom sekcijom upravlja proces u okviru koga se koristi, a ne operativni sistem.

Kritična sekcija se obično koristi da zaštiti deo koda koji može biti korišćen samo od jedne niti u bilo kom trenutku.

Dok je jedna nit u kritičnoj sekciji ostale niti su blokirane i čekaju oslobađanje kritične sekcije da bi joj pristupile.

Kritična sekcija je označena tipom CRITICAL_SECTION i mora biti inicijalizovana pre upotreba. Mora biti dostupna svim nitima u procesu i zbog toga se definiše u globalnom dosegu.

Pozivom funkcije EnterCriticalSection nit zadobija vlasništvo nad objektom kritične sekcije, a vlasništvo otpušta pozivom funkcije LeaveCriticalSection. Ako je objekat kritične sekcije posedovan od strane druge niti kada se poziva funkcija EnterCriticalSection, ova funkcija čeka neograničeno dugo sve dok se objekat kritične sekcije ne oslobodi, a ako se poziva TryEnterCriticalSection nit će samo proveriti da li je kritična sekcija slobodna, i ući u nju ako jest, a ako nije nastaviće dalje svoje izvršavanje.

Ne postoji nikakva garancija oko redosleda kojim niti istog prioriteta dobijaju vlasništvo nad kritičnom sekcijom, ali sistem je “fer“ prema svim nitima.

19.Raspoređivanje procesa

Proces u toku svog života prolazi kroz nekoliko redova čekanja. Nakon nastanka, proces se ubacuje u red čekanja za poslove (job queue), koji obuhvata sve postojeće procese na sistemu. Procesi se mogu nalaziti u raznim stanjima i u raznim lokacijama (u memoriji, disku, delimično u memoriji, delimično na disku). Svi procesi koju su spremni za rad i nalaze se u radnoj memoriji, čuvaju se u redu čekanja na procesor, tj u redu čekanja spremnih procesa. Redovi čekanja na procesor po

Page 12 of 19

Page 13: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

pravilu se realizuju kao povezane liste, formirane od kontrolnih blokova procesa sa definisanim redosledom izvršavanja procesa. Redosled se zadaje preko zaglavlja liste (queue header), koje sadrži informacije o početnom i poslednjem kontrolnom bloku u listi, i pokazivača na sledeći kontrolni blok.Operativni sistem uvodi i poseban red čekanja za svaki ulazno-izlazni uređaj (I/O queue). Svaki red čekanja na uređaj sadrži povezanu listu kontrolnih blokova procesa koji uređaj zahtevaju.Postoje 2 vrste redova čekanja:

- Red čekanja na processor- Redovi čekanja na ulazno/izlazne uređaje

Novi proces se inicijalno postavlja u red čekanja za spremne procese u kome čeka dodelu procesora, nakon čega napušta red i počinje da se izvršava. Proces koji se nalazi u stanju izvršavanja može:

- Ostati bez procesora kada mu istekne vremenski kvantum- Napraviti novi proces i čekati u blokiranom stanju da se novi proces završi- Ostati bez procesora kada se desi prekid- Postavi U/I zahtev, nakon čega se prebacuje u red čekanja na ulazno/izlazni uređaj, tj

postaje blokiranProces se vraća u red čekanja na procesor sve dok se ne završi, posle čega oslobađa sve zauzete resurse.

20.Niti

Niti (engl. threads), to jest laki procesi (engl. lightweight processes, LWP), predstavljaju osnovne celine za izvršavanje koda pod savremenim operativnim sistemima. Niti su programska celina koja treba da obavi jedan posao. Niti (jedna ili više) pripadaju jednom klasičnom, tj. teškom (engl. heavzweight) procesu. U klasičnom kontekstu, jedan težak proces ima svoj programski brojač i druge procesorske registre, tri memorijske sekcije (kod, podaci i stek) i I/O resurse kao što su datoteke i uređaji. Dobre osobine : Vreme odziva (Responsiveness) Deljenje resursa (Resource Sharing) Ekonomičnost Bolje iskorišćenje višeprocesorske arhitekture

Niti kao laki procesi i delovi jednog istog procesa, imaju svoje unikatne resurse i zajedničke resurse sa ostalim nitima istog procesa. Od unikatnih resursa imaju poseban identifikator niti (engl. thread ID), posebnu vrednost programskog brojača vrednosti drugih registra procesora, i poseban stek. Sve ostalo (sekcija koda, sekcija podataka, otvorene datoteke, signali) zajednički su resursi za sve niti jednog procesa.

21.Objasniti pojam mrtve tačke ili zastoja. Koji su uslovi nastanka zastoja?

Kada dva ili više procesa međusobno interaguju, mogu doći u pat-poziciju iz koje se ne mogu izvući. Ovakva situacija se naziva mrtva tačka (deadlock).Mrtva petlja – opisuje situaciju u kojoj je trajno zaustavljena aktivnost medjusobno zavisnih procesa. Pojava mrtve petlje je vezana za zauzimanje resursa. Za pojavu mrtve petlje moraju biti ispunjeni uslovi: zauzimani resursi se koriste u rezimu medjusobne iskljucivosti; resursi se zauzimaju jedan za drugim, tako da proces, nakon zauzimanja izvesnog broja resursa, mora da ceka da zauzme preostale resurse; resurse oslobadjaju samo procesi koji su ih zauzeli; postoji cirkularna medjuzavisnost procesa (prvi proces ceka oslobadjanje resursa koga drzi drugi proces, a on ceka oslobadjanje resursa koga drzi treci proces, i tako redom do poslednjeg procesa iz lanca procesa, koji ceka oslobadjanje resursa koga drzi prvi proces). Zamislimo kompjuter sa tape drajvom i CD-

Page 13 of 19

Page 14: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

rekorderom. Sad zamislimo dva procesa od kojih svaki treba da napravi CD-ROM od podataka sa trake. Proces 1 zahteva i odobren mu je tape drajv (drajv je uređaj koji omogućuje rotaciju diskova ili traka radi čitanja i upisa podataka), a proces zahteva i odobren mu je CD-rekorder. Onda proces 1 zahteva CD-rekorder i biva suspendovan dok ga proces 2 ne vrati. Konačno, proces 2 zahteva tape drajv i takođe biva suspendovan jer je drajv u posedu procesa 1. Ovo je situacija iz koje nema izlaza.

22.RAM, ROM memorija

RAM memorija, odnosno memorija slobodnog ili proizvoljnog pristupa je dobila naziv prema načinu na koji joj procesor pristupa - svakoj memorijskoj lokaciji se pristupa ravnopravno, za isto vreme. Da bi se neki program izvršio, mora se učitati u RAM. Danas je uobičajeno da se u RAM memoriju učitavaju i operativni sistem i aplikativni softver. Tu se uobičajeno nalaze i podaci sa kojima radimo na našem računaru (slike, tekstovi...). Podaci u RAM memoriji ostaju zapisani samo dok postoji električno napajanje. Zbog toga se sve što radimo na računaru gubi pri nestanku struje ili isključivanju ukoliko nije bilo snimljeno. Kada se govori o količini memorije u računaru, misli se na RAM memoriju. Njena najvažnija karakteristika jeste kapacitet, a na drugom mestu brzina. Ipak, brzina rada računara će prvenstveno zavisiti od količine RAM memorije. Kapacitet memorije se izražava u bajtovima (odnosno kilobajtima, megabajtima, gigabajtima...). Više o jedinicama mere možete pročitati u poglavlju o predstavljanju podataka na računaru. Ukoliko memorije nema dovoljno, operativni sistem mora koristiti tzv. virtuelnu memoriju, što znači da se podaci iz RAMa se stalno moraju snimati i učitavati sa medija spoljne memorije (tačnije hard diska), što znatno usporava rad računara. Ukoliko memorije ima dovoljno, postavlja se pitanje njene brzine, koja zavisi od radnog takta matične ploče. Iako je RAM memorija uvek sporija od procesora i keša, ukoliko može da radi na višem radnom taktu, to može da doprinese ukupnoj brzini sistema.ROM predstavlja memoriju čiji sadržaj je trajan i nepromenljiv. ROM se može samo čitati, ne može menjati ni brisati. ROM sadrži najosnovnije programe i podatke neophodne za funkcionisanje računarskog sistema na najnižem nivou. Drugim rečima, pre nego što se bilo šta učita u memoriju našeg kućnog računara, programi iz ROM-a su aktivni i oni su ti koji ustvari čine mogućim naš početak rada na računaru. Na PC računaru je ovaj osnovni sistemski softver poznat kao BIOS(Basic Input/Output System).

23.Virtuelna memorija

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 korisnič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. Koncept virtuelne memorije omogućava smeštanje osetno većeg broja procesa u memoriju (konkretno delova procesa), čime se povećavaju iskorišćenje i propusna moć procesora, a bez povećanja vremena odziva (response time) i vremena izvršavanja (turnaround time). Virtuelna memorija omogućava deljenje datoteka i memorije između različitih procesa na isti način kao i kod deljenja stranica, što omogućava uštedu memorije i poboljšanje performansi. Koncept virtuelne memorije posebno dolazi do izražaja kod višekorisničkih operativnih sistema, jer kod prenošenja dijelova programa ili podataka u/iz operativne memorije procesor ne mora da čeka, vec odmah prelazi na izvršavanje drugog posla. Svaka aplikacija ima svoj virtuelni adresni prostor koji operativni sistem preslikava u fizičku memoriju. Veličina virtuelne memorije je ograničena samo veličinom zamjenskog prostora na disku. Jednostavno rješenje korišćeno kod prvih Unix sistema je posebna particija diska koja se koristi

Page 14 of 19

Page 15: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

samo kao zamjenski prostor. Kod takvog rješenja prostor diska se dijeli na dva glavna dijela: jedan koji se koristi za straničenje i drugi koji se koristi za file sistem. Problem sa ovakvim pristupom je nefleksibilnost. Postoje sljedeće osnovne vrste organizacije virtuelne memorije:

segmentna, stranična, segmentno-stranična.

24.Šta je unutrašnja a šta spoljašnja fragmentacija (memorije)?

Fragmentacija se odnosi na neiskorišćenu memoriju koju sistem za upravljanje memorijom ne može da dodijeli procesima. Postoje dva tipa fragmentacije: interna i eksterna. Interna fragmentacija je dio memorije unutar regiona ili stranice koja je dodjeljena datom procesu i ne koristi se od strane tog procesa. Interna fragmentacija je prouzrokovana različitom veličinom dodjeljene memorije i programa koji je učitan u taj dio memorije. Taj dio memorije nije raspoloživ za korišćenje drugim procesima sistema sve dok dati proces ne završi sa radom ili ne oslobodi dodjeljenu memoriju. Interna fragmentacija ne postoji kod upravljanja memorijom pomoću dinamičkih particija, kod statičkih segmenata i kod dinamičkih segmenata. Eksterna fragmentacija je neiskorišćena memorija između particija ili segmenata. Ova memorija nije kontinualna, već se sastoji iz više manjih dijelova. Eksterna fragmentacija ne postoji kod upravljanja memorijom pomoću statičkih i pomoću dinamičkih stranica. Za prevazilaženje problema eksterne fragmentacije koristi se tehnika sažimanja ili kompakcije (eng. compaction). Kompakcija se izvršava u tri faze. Prvo se određuje nova lokacija za svaki blok koji se premješta. Zatim se ažuriraju svi pokazivači na taj blok u skladu sa novom lokacijom. U trećoj fazi se podaci premještaju na novu lokaciju. Kod segmentacije program dobija komad memorije koji trazi, npr. prvi trazi 2 MB, drugi 3 MB, treci 1 KB. Kad drugi zavrsi imas rupu u sredini od 3 MB i to je pojava spoljne fragmentacije. Kod pejdzinga se memorija podeli na komade odredjene velicine npr. 4 KB i kad programu treba 1 MB on dobije 256 "stranica" od po 4 KB. Ali ako programu treba 5 KB on ce dobiti 2 stranice. To je unutrasnja fragmentacija. Operativni sistem koji bi podrzavao oba pristupa verovatno ne bi nikako radio, ili bi eventualno radio poput Multix-a, vise bi vremena trosio na sebe nego na korisne stvari.

25.Upravljanje memorijom, swapping, paging

Možemo razlikovati 3 vrste memorije : 1. eksterna memorija (najvećeg kapaciteta, najsporiji, najjeftiniji) 2. interna memorija (manjeg kapaciteta, brži, skuplji) 3. keš (cache) memorija (najmanjeg kapaciteta, najbrži, najskuplji)

Procesor može izvršavati samo procese koji su u internoj memoriji. Kako je operativna memorija relativno malog kapaciteta, dolazimo do sledećih problema: 1. proces je veći od interne memorije (i kod monoprogramiranja i kod multiprogramiranja) 2. nemamo dovoljno memorije da učitamo sve spremne procese (kod multiprogramiranja)Deo operativnog sistema koji upravlja korišćenjem memorije zove se upravljač memorije (memory manager). Njegov zadatak je 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

Page 15 of 19

Page 16: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

operativnom sistemu. U slučaju kada nemamo dovoljno interne memorije, koriste se sledeće tehnike: 1. SWAPPING (prebacivanje procesa) – ako nemamo dovoljno mesta u operativnoj memoriji za smeštanje svih spremnih procesa, neki se izbacuju na disk. Kada je potrebno, celi spremni procesi iz interne memorije se prebacuju na disk, odnosno spremni procesi sa diska se prebacuju u internu memoriju.

2. PAGING (straničenje) – delove procesa držimo na disku, učitavaju se po potrebi. Posmatrajmo sada sledeći primer: imamo računar koji radi sa 16-bitnim adresama, što znači da zna adresirati 64KB virtuelne memorije. Pretpostavimo da ovaj računar ima ukupno 32KB operativne memorije. Znači i pored toga da “vidi” 64KB, bez virtuelne memorije ne možemo učitati programe većih od 32KB. Neka su virtuelne stranice (pa i okviri stranica) veličine 4KB. Neka imamo neki proces kome treba 64KB virtuelne memorije i imamo sledeće preslikavanje virtuelnih stranica u okvire za stranice (X označava da data virtualna stranica nije učitana u internu memoriju)

26. Particije

Sistemi datoteka se skladište na diskovima ili nekom drugom medijumu sekundarne memorije. Svaki disk se može podijeliti na jednu ili više particija, kao na slici 1, pri čemu na particijama mogu da budu nezavisni sistemi datoteka. Nulti sektor diska se naziva glavni startni slog (eng.Master Boot Record, MBR) i koristi se za startovanje računara. Tabela particija koja se nalazi na kraju glavnog startnog sloga sadrži početnu i krajnju adresu svake particije i jedna od tih particija je označena kao aktivna.

Nakon startovanja računara BIOS (eng. Basic Input-Output System) čita i izvršava glavni startni slog. Na osnovu informacije u glavnom startnom slogu locira se aktivna particija na disku i učitava se u njen prvi blok koji se naziva boot blok u operativnu memoriju. Program iz boot bloka puni operativni sistem koji se nalazi na aktivnoj particiji. Svaka particija ima boot blok bez obzira da li se na njoj nalazi operativni sistem koji se može boot-irati ili ne. Osim boot bloka struktura particije diska zavisi od sistema do sistema. Bitan dio particije je i superblok koji sadrži ključne parametre o sistemu datoteka kao što su: tip sistema datoteka, veličina sistema datoteka, broj slobodnih blokova u sistemu datoteka i drugi administrativni podaci. Jezgro operativnog sistema održava superblok u operativnoj memoriji i periodično ga upisuje na disk. S obzirom da superblok sadrži kritične podatke neophodne za rad sistema, operativni sistem replikuje sadržaj superbloka na disk za slučaj da otkaže dio diska na kome je upisan superblok. Pored superbloka u particiji se nalaze podaci o slobodnim i zauzetim blokovima datog sistema datoteka u obliku bitmape ili povezane liste pokazivača. Takođe, u svakoj particiji se nalaze direktorijumi i datoteke koji pripadaju datom sistemu datoteka.

Particije mogu da budu primarne, logičke i dodatne. Primarne particije su one sa kojih je moguće podizanje operativnog sistema. Svaki disk mora da ima bar jednu primarnu particiju. Upotrebom više primarnih particija moguće je instalirati i koristiti više operativnih sistema na istom disku. Logičke particije su particije čija je namjena skladištenje podataka. Sa logičkih particija se ne može podizati operativni sistem. Dodatne particije omogućavaju prevazilaženje ograničenja koje postoji

Page 16 of 19

Page 17: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

po pitanju maksimalnog broja mogućih particija na jednom disku. Dodatna particija može da sadrži više logičkih particija.

27.Sistema datoteka i fajl sistem

Svakom programu je potrebna mogućnost da sačuva neke informacije – neke podatke procesi mogu čuvati unutar svog adresnog prostora (promenljive, konstante). Za neke procese to je dovoljno, za neke je potrebno neko drugo rešenje. Nedostaci čuvanja podataka u internoj memoriji:

- mali kapacitet

- kada proces završi sa radom, podaci se gube

- računar se blokira ili nestane struja – podaci se gube

- često je potrebno da istim podacima istovremeno pristupi više procesa Zbog ovih nedostataka, postoji potreba da se neki podaci čuvaju odvojeno od adresnog prostora u eksternoj memoriji u obliku fajlova. Deo operativnog sistema koji je zadužen za rad sa fajlovima zove se fajl sistem (file system). Vodi računa o strukturi, načinu imenovanja, načinu korišćenja, o zaštiti i o implementaciji čitavog fajl sistema. Fajlovi mogu biti obicni fajlovi, direktorijumi i specijalni fajlovi. Obični fajl je niz bajtova. Velicina fajla je jednaka ukupnom broju znakova koje fajl sadrzi. Fajlu se može pristupiti (čitati ili pisati) počev od bilo kog bajta. Podaci unutar fajla nemaju nikakvu strukturu osim one koju sam korisnik definiše. U samom fajlu se ne nalaze nikakve informacije o tom fajlu, već su one u fajl sistemu. Fajl sistem čuva sledeće informacije o fajlovima: ime fajla, jedinstven broj fajla nazvan inode, velicinu u bajtovima, vreme kreiranja, vreme poslednje izmene, vreme poslednjeg pristupa, pristupne dozvole, vlasnika fajla i grupu kojoj pripada vlasnik fajla. Direktorijumi daju hijerarhijsku organizaciju celog fajl sistema. Direktorijum su obični fajlovi, ali poseduju strukturu. Direktorijum je lista imena fajlova i drugih direktorijuma koji se nalaze u njemu. Kernel ne dozvojava procesima da prepravljaju direktorijume. Specijalni fajlovi se nalaze u /dev direktorijumu i predstavljaju hardverske uredjaje.Često se pod pojmom fajl sistem podrazumeva struktura direktorijuma i fajlova. Razlikujemo nekoliko tipova fajl sistem:

- FAT32 bolje organizuje disk prostor i particije mogu biti veličine do 2 TB.

- fajl sistem koristi 64 bit-ne adrese i teoretski radi sa particijama do 264 bajta. Korišćenje NTFS tehnologije znači veću sigurnost, tj. zaštitu i veću toleranciju (i korekciju) greški.

Fajl sistem je smješten na disku. Mnogi diskovi mogu biti podeljeni na jednu ili vše particija.

28.Skriptovi i sistemski pozivi

29.MS DOS operativni sistem

MS-DOS je bio originalni operativni sistem za IBM-ove PS-a i njihove klonove. Ovaj 16-bitni operativni sistem, sa interfejsom na tekst-osnovi, sada je skoro u potpunosti zamenjen sa GUI operativnim sistemima kao sto je Windows 2000 i Windows XP.  MS DOS(Microsoft Disk Operating System) je nastao 1981 godine i ova verzija je bila na disketi i zato je ostao taj naziv.Neki programi OS su u RAM-u  a nekki na disku. Vazan je program koji interpretira naredbe OS, koje unosi korisnik, nalazi se na disku i zove COMMAND.COM.Bez njega je rad na racunaru nemoguc.Ako dodje do kvara bilo kojeg tipa, racunar se ponovo startuje sa CTRL+ALT+DEL, tzv.softverski reset racunara. MS DOS je OS razvijen prije Windows OS kod koga korisnik komunicira sa racunarom u grafickom okruzenju.Kod MS DOS-a komande i zahtjev za startovanje programa ispisuju se na

Page 17 of 19

Page 18: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

komandnoj liniji unosom sa tastature,sto podrazumijeva poznavanje sintakse ovog OS.Bilo kakav drugi tekst MS DOS tretira kao nerazumnjivu poruku i ispisuje na ekranu Bad command or file name. Nakon ukljucenja racunara testira se hardver i ucitava OS .Nakon prelaska u DOS pojavljuje se tzv.prompt C:\> koji oznacava aktivnu jedinicu (C:aktivna jedinica,\oznaka korijenog direktorija,>oznaka kraja odzivnog znaka).Odzivni znak ukazuje da je racunar spreman da izvrsi neku komandu.Iza odzivnog znaka nalazi se kursor.MS DOS dopusta ispisivanje I malih I velikih slova I sve ih tretira kao velika.Pritiskom na Enter po zavrsetku ispisa komande korisnik saopstava racunaru da treba da izvrsi komandu.

Podaci se moraju organizovati radi cuvanja I efikasnijeg koristenja.Skup srodnih podataka zove se fajl ili teka.Za svaki fajl se mora uvesti identifikacija.Ona sadrza ime i tip fajla.Ime cini niska od 8 znakova, a tip(ekstenzija) tri znaka.Tip opisuje sadrzaj fajla.Npr.Arj-arhiva,Bat-niz naredbi upravljackog jezika,Com-izvrsni program, Exe- izvrsni program, Sys-sistemski program, Dat-podaci, Dbf-datoteka, Doc-dokument u Word-u,Xls-dokument u Excel-u, Gif-slika, Txt-tekst. Spisak fajlova je direktorij.Direktorij je prostor u memoriji u kojem se evidentiraju poddirektoriji i fajlovi.

30.VMS operativni system

31.WINDOWS operativni system

32.UNIX operativni sistem

UNIX - je jos jedan operativni sistem koji obezbedjuje mnogo sofisciranije karakteristike radne povrsine, ukljucujuci visestruku obradu i rasavanje visestrukih zadataka. UNIX je dragocen za poslovne organizacije zbog toga sto moze biti koriscen na mnogo kompjutera razlicite velicina ( ili razlicitim platformama), moze da podrzi razlicite hardverske uredjaje (npr. stampace, plotere, itd) i ima brojne aplikacije napisane da rade na njemu.

33.LINUX operativni sistem

LINUX – je mocna verzija UNIX operqativnog sistema, koja je korisnicima postupno potpno besplatno. On nudi resavanje visestrukih zadataka, menadzment virtuelne memorije i TCP/IP umrezavanje. Linux je bio originalno napisan od strane Linus Tovards na Univerzitetu u Hesinki u Finskoj 1991.g. On je tada objavio izvorni kod svetu (nazvan otvoreni izvrni softver). Od tog vremena, mnogi programeri sirom sveta su radili na Linux-u i pisali softver za njega. Linux je klon Unix-a koji se besplatno može nabaviti i to u više distribucija (zbirki različitih autora). Linux je jedan od retkih sistema koji je doživeo veliki uspeh i popularnost kao alternativa skupim i nedovoljno stabilnim sistemima. Kod Linux-ovog jezgra (kernel) je dostupan (open source) i izdat pod opštom javnom licencom koja se označava kao GPL (General Public License). Naziv “Linux” se odnosi samo na kernel (core) operativnog sistema. Kernel predstavlja softver koji upravlja pristupom korisničkih programa hardverskim i softverskim resursima. Sami programi koji se koriste na linux sistemima su proizvod GNU (GNU is Not Unix) i drugih nezavisnih open source projekata.

Page 18 of 19

Page 19: Teorijaaaa 2011 (Po Pitanjima Markovski Branko)

34.Distribuirani operativni sistemi

Distribuirani operativni sistemi upravljaju međusobno povezanim računarima, koji su prostorno udaljeni. Potrebu za povezivanjem prostorno udaljenih (distribuiranih) računara nameće praksa. S jedne strane, prirodno je da računari budu na mjestima svojih primjena, na primjer, uz korisnike ili uz delove industrijskih postrojenja, koje opslužuju. Na taj način računari mogu biti potpuno posvećeni lokalnim poslovima, koji su vezani za mjesta njihove primjene, pa mogu efikasno obavljati ovakve poslove. S druge strane, neophodno je omogućiti saradnju između prostorno udaljenih korisnika, odnosno obezbijediti usaglašeni rad prostorno udaljenih djelova istog industrijskog postrojenja. Za to je potrebno obezbijediti razmjenu podataka između računara, posvećenih pomenutim korisnicima, odnosno posvećenih pomenutim djelovima industrijskog postrojenja. Radi toga, ovakvi, prostorno udaljeni računari se povezuju komunikacionim linijama, koje omogućuju prenos (razmjenu) podataka, organizovanih u poruke. Na ovaj način nastaje distribuirani računarski sitem (distributed computer system). Za svaki od računara, povezanih u distribuirani računarski sistem, je neophodno da sadrže procesor, radnu memoriju i mrežni kontroler. Prisustvo masovne memorije i raznih ulaznih i izlaznih uređaja u sastavu ovakvih računara zavisi od mjesta njihove primjene i, u opštem slučaju, nije obavezno, pa zato nema ni potrebe da ih podržava operativni sistem, prisutan na svakom računaru iz distribuiranog računarskog sistema. Ovakav operativni sistem se naziva i mikrokernel (microkernel), jer ima smanjenu funkcionalnost u odnosu na “običan” operativni sistem.Mikrokernel ne sadrži sloj za upravljanje fajlovima, jer on nije potreban za svaki od računara iz distribuiranog računarskog sistema i jer se on, bez problema, može prebaciti u korisnički sloj (iznad mikrokernela), predviđen za korisničke procese. Sloj za upravljanje procesima se oslanja na sloj za razmjenu poruka, da bi pristupio izvršnoj datoteci (lociranoj na nekom drugom računaru). Sloj za razmjenu poruka se oslanja na sloj za upravljanje radnom memorijom, radi dinamičkog zauzimanja i oslobađanja bafera, namjenjenih za privremeno smještanje poruka. Sloj za razmjenu poruka nije samo na raspolaganju sloju za upravljanje procesima. On sadrži sistemske operacije, koje omogućuju razmjenu poruka, odnosno saradnju između procesa, aktivnih na raznim računarima (ali i između procesa, aktivnih na istom računaru).

35.Windwos Mobile i BlackBerry operativni sistem

36.Android, SIMBIAN operativni sistem

37.Sigurnost i zaštita operativnih sistema

Page 19 of 19