Lekcija 1 

1.

 

Koje poslove obavlja operativni sistem? 

Operativni  sistem 

upravlja  sastavnim  delovima  računara

  (procesorom,  kontrolerima  i  random 

memorijom)  i 

stvara  pristupačno  radno  okruženje  za  korisnika

  (pretvara  računar  u  mašinu  koja 

rukuje datotekama i procesima) /

upravlja fizičkim i logičkim delovima računara

2.

 

Šta obuhvata pojam datoteke? 

Pojam 

datoteke 

obuhvata 

sadržaj 

atribute

 

datoteke. 

(sadržaj=korisnički 

podaci, 

atributi=veličina/vreme nastanka) 

3.

 

Šta se nalazi u deskriptoru datoteke? 

U deskriptoru datoteke nalaze se 

atributi

4.

 

Šta omoguduju datoteke? 

Datoteke omoguduju 

trajno čuvanje podataka

5.

 

Šta obavezno prethodi čitanju i pisanju datoteke? 

Čitanju  i  pisanju  prethodi 

otvaranje  datoteke

.  Time  se  omoguduje  priprema  za  pristup  podacima 

(deskriptor se prebacuje sa masovne u radnu memoriju). 

6.

 

Šta sledi iza čitanja i pisanja datoteke? 

Iza  čitanja  i  pisanja  sledi 

zatvaranje  datoteke

.  Time  se  sačuvaju  atributi  i  sadržaj  (prebacuje  se 

deskriptor iz radne u masovnu memoriju). 

7.

 

Šta obuhvata pojam procesa? 

Pojam procesa obuhvata 

aktivnost, sliku i atribute

 procesa. (aktivnost=angažovanje na izvršavanju 

korisničkog programa, slika=adresni prostor procesa sa naredbama izvršavanja programa, stekom i 

podacima koji se obrađuju, atributi=stanje i prioritet) 

8.

 

Šta se nalazi u deskriptoru procesa? 

U deskriptoru se nalaze 

atributi procesa (stanje i prioritet)

9.

 

Koja stanja procesa postoje? 

Tipična stanja su 

aktivan, čeka i spreman

. (aktivan=izvršava program, čeka=nisu ispunjeni preduslovi 

za obradu podataka, spreman=samo zauzetost procesora onemoguduje izvršavanje programa) 

10.

 

Kada je proces aktivan? 

Proces je aktivan 

kada procesor izvršava program

 

 

11.

 

Šta je kvantum? 

Kada  postoji  više  procesa  istog  prioriteta,  bitna  je  raspodela  procesorskog  vremena  između  njih. 

Aktivan  proces  prepušta  procesor  spremnom  procesu

  najvišeg  prioriteta 

čim  istekne  unapred 

određen vremenski interval

 koji se naziva 

kvantum

.  

12.

 

Šta se dešava nakon isticanja kvantuma? 

Aktivan proces prepušta procesor spremnom procesu

 najvišeg prioriteta. 

13.

 

Po kom kriterijumu se uvek bira aktivan proces? 

Od  prioriteta  procesa 

zavisi  kada  de  spreman  da  postane  aktivan  proces  i  podrazumeva  se  da  je 

aktivan uvek onaj sa najvišim prioritetom. 

14.

 

Koji prelazi su mogudi između stanja procesa? 

čeka u spreman, spreman u aktivan, aktivan u čeka, aktivan u spreman 

15.

 

Koji prelazi nisu mogudi između stanja procesa? 

spreman u čeka i čeka u aktivan 

16.

 

Šta omoguduju procesi? 

Procesi  omoguduju 

bolje  iskorišdenje  procesora  i  njegovu  bržu  reakciju

  na  spoljašnje  događaje. 

(postojanje  više  spremnih  procesa  omoguduje  stalno  iskorišdenje  procesa,  a  brža  reakcija 

omogudena je tako što je manje prioritetan proces aktivan dok prioritetniji proces čeka neki spoljni 

događaj) 

17.

 

Šta karakteriše sekvencijalni proces? 

Sekvencijalni  proces  karakteriše 

trag

  (redosled  izvršavanja  naredbi  programa) 

koji  je  određen  u 

vreme programiranja i zavisi samo od obrađivanih podataka

18.

 

Šta karakteriše konkurentni proces? 

Konkurentni  procesi  su  procesi  sa 

više  istovremeno  postojedih  niti

.  Niti  se  međusobno  preplidu  u 

redosledu koji nije određen u vreme programiranja.

 

19.

 

Šta ima svaka nit konkurentnog procesa? 

Svaka  nit  ima  svoj 

prioritet,  stanje

  i 

stek

,  pa  i  svoj 

deskriptor

.  (niti  nisu  potpuno  samostalne, 

međusobno sarađuju razmenom podataka) 

20.

 

Koju operaciju uvodi modul za rukovanje procesorom? 

Jezgro  operativnog  sistema  (kernel)  se  može  raščlaniti  na  module  za  rukovanje  procesorom, 

kontrolerima, random memorijom, datotekama i procesima. Modul za rukovanje procesorom uvodi 

operaciju preključivanja

 

 

background image

29.

 

Koje operacije uvodi modul za rukovanje procesima? 

Modul za upravljanje procesima uvodi 

operacije stvaranja i uništavanja

 (stvara se ili uništava proces 

ili nit). 

30.

 

Koje operacije poziva modul za upravljanje procesima? 

Modul  za  upravljanje  procesima  poziva 

operaciju  čitanja

  radi  preuzimanja  sadržaja  datoteka 

potrebnih za stvaranje slike procesa. Takođe poziva 

operacije zauzimanja i oslobađanja 

jer mu je za 

stvaranje slike procesa neophodna radna memorija. 

31.

 

Koje module sadrži slojeviti operativni sistem? 

Od  vrha  hijerarhije: 

modul  za  rukovanje  procesima,  modul  za  rukovanje  datotekama,  modul  za 

rukovanje  random  memorijom,  modul  za  rukovanje  kontrolerima,  modul  za  rukovanje 

procesorom. 

Pravilo:  Iz  svakog  sloja  se  pozivaju  samo  operacije  uvedene  u  nižim  slojevima. 

Monolitni operativni sistemi - bez hijerarhijske strukture. 

32.

 

Šta omoguduju sistemski pozivi? 

Sistemski  pozivi  omoguduju 

prelazak  iz  korisničkog  u  sistemski  prostor

  radi  poziva  operacija 

operativnog sistema.  

33.

 

Koje adresne prostore podržava operativni sistem? 

Logički

 (virtuelne adrese) i 

fizički

 (adrese memorije) adresni prostor. 

34.

 

Šta karakteriše interpreter komandnog jezika? 

IKJ (shell) je proces iz korisničkog sloja koji 

preuzima i interpretira komande komandnog jezika

 koje 

precizno opisuju rukovanje procesima i datotekama čime 

lišavaju korisnika potrebe za poznavanjem 

mehanizama

 unutar operativnog sistema. IKJ posreduje između operativnog sistema i korisnika. 

35.

 

Koji nivoi korišdenja operativnog sistema postoje? 

IKJ  koristi  operativni  sistem  na 

programskom  nivou-povlašdeni

  (poziva  sistemske  operacije),  a 

korisnik na 

korisničkom nivou-interaktivni

 

 

Lekcija 2 

1.

 

Šta je preplitanje? 

Mešanje izvršavanja naredbi raznih niti, odnosno niti i obrađivača prekida 

se naziva preplitanje. 

2.

 

Da li preplitanje ima slučajan karakter? 

Preplitanje ima slučajan karakter

, jer nije u napred poznato posle koje naredbe de se desiti prekid i 

eventualno  preključivanje.  To  nije  mogude  odrediti  čak  ni  za  prekide  pravilnog  perioda  (prekide 

sata).  

3.

 

Šta izaziva pojavu preplitanja? 

Činjenica  da 

nije  u  napred  poznato  posle  koje  naredbe  de  se  desiti  prekid  i  eventualno 

preključivanje

.

  (Procesor  izvršava  jednu  nit,  desi  se  prekid  koji  izazove  preključivanje  i  procesor  u 

nastavku izvršava drugu nit.)

 

4.

 

Da li preplitanje može uticati na rezultat izvršavanja programa? 

Pod  uticajem  preplitanja 

rezultati  mogu  biti  stohastični

,  odnosno  mogu  da  se  menjaju  od 

izvršavanja do izvršavanja. 

5.

 

Šta su deljene promenljive? 

To  su 

promenljive  kojima  pristupaju  niti  i  obrade  prekida  ili  razne  niti

,  te  se  može  redi  da  ih 

međusobno dele. (Klase za rukovanje deljenim promenljivama su deljene klase). 

6.

 

Šta je preduslov očuvanja konzistentnosti deljenih promenljivih? 

Da  se  rukovanje  deljenim  promenljivama  obavlja  sekvencijalno

.  (Novo  izvršavanje  bilo  koje  od 

operacija  deljene  promenljive  može  početi  tek  nakon  završetka  prethodno  započetog  izvršavanja 

neke  od  operacija  deljene  promenljive,  tako  svako  od  izvršavanja  ostavlja  i  zatiče  deljene 

promenljive  u  konzistentnom/predviđenom  stanju).  Ovo  ne  važi  kod  štetnih  preplitanja.  Da  bi  se 

sprečila štetna preplitanja mora se obezbediti međusobna isključivost. 

7.

 

Šta su kritične sekcije? 

Tela  operacija  deljenih  klasa  ili  delovi  ovih  tela  čije  izvršavanje  je  kritično  za  konzistentnost 

deljenih promenljivih. 

8.

 

Šta je sinhronizacija? 

Proces  vremenskog  usklađivanja  izvršavanja  kritičnih  sekcija 

je  sinhronizacija,  time  se  postiže 

njihova medjusobna isključivost. 

 

 

background image

17.

 

Šta uvode poželjne osobine konkurentnih programa? 

Svaka  od  poželjnih  osobina  uvodi 

ili  tvrdnju  isključivanja  nepoželjnog  ili  tvrdnju  uključivanja 

poželjnog 

(safety i liveness property). Primeri safety property:  u izvršavanjima ne nastaju pogrešni 

rezultati,  u  izvršavanjima  nema  narušavanja  međusobne  isključivosti  kritičnih  sekcija.  Primeri 

liveness  property:  izvršavanje  ima  kraj,  dese  se  svi  zatraženi  ulasci  u  kritične  sekcije  u  toku 

izvršavanja programa. 

18.

 

Po čemu se konkurentno programiranje razlikuje od sekvencijalnog? 

(Zbog slučajne prirode preplitanja, tačan rezultat dobijen u jednom ili više izvršavanja ne isključuje 

mogudnost postojanja izvršavanja koja za iste ulazne podatke daju netačan rezultat  – to nije način 

provere  ispravnosti  konkurentnog  programa.) 

Razlikuju  se  po  rukovanju  nitima  i  deljenim 

promenljivama. 

19.

 

Koje prednosti ima konkurentna biblioteka u odnosu na konkurentni programski jezik? 

Kod  nastanka  konkurentnog  programskog  jezika  neizbežne  su 

aktivnosti  vezane  za  definisanje 

sintakse  i  semantike  programskog  jezika  i  aktivnosti  vezane  za  zahvate  na  kompajleru

.  Te 

aktivnosti 

se  izbegavaju  zasnivanjem  konkurentnog  programiranja  na  korišdenju  konkurentne 

biblioteke

.  Prednost  korišdenja  biblioteke  je  što

  omoguduje  korišdenje  postojedeg  poznatog 

programskog jezika

.  

20.

 

Kako se opisuju niti? 

Rukovanje  nitima  opisuje  klasa 

thread

.  Njen  konstruktor  kreira  nit. 

Kao  argumet  poziva 

konstruktora  se  navodi  adresa  funkcije  koja  opisuje  nit

.  Šta  nit  treba  da  radi  napisano  je  u  telu 

funkcije, a kraj niti je predviđen kada se završi telo te funkcije. 

21.

 

Kako se kreiraju niti? 

Rukovanje  nitima  opisuje 

klasa 

thread

.  Njen  konstruktor  kreira  nit

.  Operacija 

join()

  klase 

thread

 

zaustavlja  aktivnost  svog  pozivaoca  dok  se  ne  završi  aktivnost  niti  na  koju  se  operacija  odnosi. 

Operacija 

detach( )

 saopštava da regularan kraj niti na koju se operacija odnosi može da nastupi kao 

posledica kraja aktivnosti procesa kome ta nit pripada. 

22.

 

Kada se zauzima propusnica deljene promenljive? 

Pre  obavljanja  operacija  (izlaznih  i  ulaznih)  nad  deljenom  promenljivom  (

pre  ulaska  u  kritičnu 

sekciju

). 

23.

 

Kada se oslobađa propusnica deljene promenljive? 

Nakon završetka obavljanja operacija nad deljenom promenljivom (

po izlasku iz kritične sekcije

).  

 

 

Želiš da pročitaš svih 45 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti