• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Os7
 

Os7

on

  • 1,255 views

 

Statistics

Views

Total Views
1,255
Views on SlideShare
1,246
Embed Views
9

Actions

Likes
1
Downloads
20
Comments
0

2 Embeds 9

http://rg-fails.iz.rs 7
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Os7 Os7 Presentation Transcript

    • Ope r ativni sistemi i računarske mreže (V II ) Prof. Dušan Tošić
      • 7 . Realizacija najva žnijih funkcija OS-a
      • Najavžnije funkcije OS-a:
      • upravljanje procesima
      • upravljanje memorijom
      • upravljanje ulazom-izlazom
      • upravljanje podacima
      • upravljanje spoljašnjim memorijama
      • umrežavanje
      • zašštitu
      • obezbeđivanje korisničkog interfejsa
    • 7 . Upravljanje memorijom
      • 7 .1. Vrste memorija
      • Memorije kod savremenih ra čunara mogu da se klasifikuju na razne načine. S obzirom na način funkcionisaja (brzina, kapacitet i cena po jedinici mere) mogu se podeliti u 3 kategorija:
        • eksterna memorija (najvećeg kapaciteta, najsporij a , najjeftinij a ) ,
        • interna memorija (manjeg kapaciteta, brž a , skuplj a ) ,
        • keš ( C ache) memorija (najmanjeg kapaciteta, najbrž a , najskuplj a ) .
      • Najinteresantnija je interna (operativna ) memorija i njen odnos sa eksternom memorijom. Procesor može izvršavati samo procese koji su u internoj memoriji. Kako je operativna memorija relativno malog kapaciteta, pojavljuju se sledeći problem i :
        • proces je veći od interne memorije (i kod monoprogramiranja i kod multiprogramiranja) ,
        • nemamo dovoljno memorije da učitamo sve spremne procese (kod multiprogramiranja) .
    • 7.2. Upravlj ač memorijom
      • U pravljač memorije ( M emory M anager) je d eo operativnog sistema koji upravlja korišćenjem memorije .
      • Zadaci:
        • vodi računa o tome koji delovi memorije su zauzeti ,
        • vodi računa o tome koji delovi memorije su slobodni,
        • da zauzme potrebnu količinu memorije za nove procese ,
        • da oslobodi memoriju zauzetu od strane nekog procesa,
        • da upravlja prebacivanjem procesa iz interne u eksternu memoriju i obrnuto .
      • P ri tome mora voditi računa o tome da procesi ne štete jedni drugima, ni operativnom sistemu .
    • 7.3. Tehnike upravljanja memorijom U slučaju da nema dovoljno interne memorije, koriste se sledeće tehnike: S wapping (prebacivanje procesa) – ako nema dovoljno mesta u operativnoj memoriji za smeštanje svih spremnih procesa, neki se pre bacuju 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 ; P aging (straničenje) – delov i procesa se drž e na disku i učitavaju po potrebi .
    • Monoprogramiranje ( M onoprogramming) : u internoj memoriji računara se istovremeno može nalaziti samo jedan proces. Prvi (najjednostavniji) način : korisnik učita program po žel j i i taj program d obija apsolutnu kontrolu nad računarom . Kod ovog pristupa n ij e po treba n ni OS , ni posebni drajveri za razne uređaje ; program koji se učitava u memoriju je potpuno sâm i oslanja se isključivo na sebe. Mora znati kako da koristi memoriju , uređaje i sve ostalo što mu je potrebno da izvrši svoj zadatak. Kada taj program završi sa radom, može se učitati sledeći program, koji takođe mora sve znati. Ova metoda je davno napuštena , kao vrlo nepraktična – programeri moraju ugraditi sve potrebne drajvere u svaki program. Ako nema dovoljno memorije, mora se naći neko rešenje: optimizuje kôd, ili razbija program na manje funkcionalne delove koji se mogu samostalno izvršavati ili nešto treće. 7.3.1. Upravljanje memorijom bez S wappinga i P aginga
      • Drugi način : memorija se deli između OS i jednog korisničkog programa . Kada se računar uključi, učitava se OS bez kog a se računar ne može koristiti.
      • Potom se na monitoru dobij a komandni prompt gde k orisnik može izdavati naredbe operativnom sistemu. Ako OS prepozna komandu, pokuša da je izvrši ; ako ne, javlja grešku i čeka sledeću komandu. Korisnikov program se učitava u preostali deo memorije i tamo se izvršava. Više nije potrebno u svaki program ugraditi i sve potrebne drajvere, jer je OS zadužen da obezbedi sve potrebne funkcije. Postoji više načina za raspodelu memorije:
        • OS se učitava u donji deo RAM -a ( Random Access Memory ), ostatak memorije je na raspolaganju korisničkim programima ;
        • OS se nalazi u ROM -u ( Read Only Memory ) na vrhu memorije , korisnički program su ispod njega ;
        • OS se nalazi u donjem delu RAM -a, drajveri u ROM -u na vrhu memorije a između korisnički program .
    • Osnovni skup funkcija za rad sa uređajima može biti smešten u poseban deo ROM memorije koji se zove BIOS ( Basic Input Output System ). OS se oslanja na BIOS , a korisnički programi mogu pozivati i funkcije OS-a i funkcije BIOS -a. Ni ovde ne postoji prav a podršk a OS-a za upravljanje memorijom ; u slučaju da je proces prevelik, dobiće se poruk a da ne postoji dovoljno memorije. Neka razvojna okruženja pružaju mogućnost da se program razbije na delove, pa se učitava onaj deo koji je potreban za rad . U kojim o kruženju se koristi slična tehnika? Turbo Pascal podržava sličnu tehniku, koja se zove overlay ; p rogram se deli na razne unit -e (jedinice) . Od s kup a nekih unit -a se kreira objektni fajl (prev ode se u jedan fajl) . Ako se pozove neka funkcija iz nekog od pomenutih unit -a tokom izvršavanja glavnog programa, odgovarajući unit se učitava sa diska u memoriju. Pri tome se zauzima onoliko memorije koliko je potrebno za najveći unit .
    • 7.3.2. Multiprogramiranje i upravljanje memorijom
      • Multiprogramiranje ( M ultiprogramming) : istovremeno se može nalaziti više spremnih procesa u internoj memoriji.
      • Neki razlozi za uvođenje multiprogramiranja:
        • rad sa više korisnika: računar i nekoliko terminala ,
        • bolje iskorišćavanje procesorskog vremena (dok proces A čeka na podatke sa diska, procesor bi mogao izvršavati proces B) ,
        • jednokorisnički sistemi: dok pišemo u editoru teksta , sluša mo muziku sa CD-a, a želimo da nam štampač od štampa izvučene Loto-brojeve koji su u međuvremenu preuzet i sa I nterneta, itd.
    • 7.4. Particije memorije 7.4.1. Fiksne particije Drugi način monoprogramiranja: memorija se deli na dva dela . J edan deo koristi OS, a drugi deo je namenjen korisničkim programima. Već bi se ovde mog ao ostvariti S wapping: spremni procesi čekaju na disku, bira se jedan koji se učitava u memoriju i izvršava se neko vreme, zatim se vraća na disk, pa se bira drugi itd. Nedostatak: sporost. Diskovi su mnogo sporiji od memorije, pa se mnogo vremena gubi na menjanje procesa. Prošir enje i dej e : memorij a se podeli na međusobno nezavisne i odvojene delove – particije . U svaku particiju se učita proces koji je spreman za izvršavanje . T aj proces vidi samo svoju particiju i tretira seba kao samog u memoriji. Particije se određuju nakon startovanja sistema , ručno, od strane operatora sistema.
        • neka su sve particije iste veličine – nedost at ak: particija je veličine 1MB, a u njoj se izvršava proces veličine 100 KB . C ela particija je zauzeta, a 90% raspoložive memorije u toj particiji je neiskorišćen o;
      • ili
        • neka su particije različit i h veličina – postoje manje i veće particije, u svaku particiju se stavlja proces koji najbolje iskorišćava raspoloživu memoriju .
      7.4.2. Kako odrediti veličinu particija?
    • 7.4.3. Liste čekanja i particije
      • Ukoliko ima više procesa od broja particija, procesi se stavljaju u Listu(e) čekanja .
      • Postoje 2 načina za organizovanje Listi čekanja.
      • S vaka particija ima svoju listu čekanja . N ovi proces se stavlja u listu najpogodnije particije ( što manje neiskorišćene memorije).
      • Nedostatak: može se desiti da na listama čekanja manjih procesa čeka 100 procesa , dok je lista neke veće particije prazna ;
      • J edn a list a čekanja za sve particije . K ad neka particija posta n e slobodna, upravljač memorije pregleda listu čekanja i bira sledeći proces. Izbor procesa se vrši na dva osnovna načina:
        • bira se proces koji je najbliži u redu čekanja i može da stane u datu particiju.
        • Nedostatak: na raspolaganju je velik a particij a , mali proces je bliže nego veliki, pa će mali proces biti učitan u veliku particiju – gubi se mnogo memorije z a mali proces ;
        • bira se najveći od svih onih procesa koji mogu stati u datu particiju.
        • Nedostatak: mali procesi su diskriminisani, uvek se bira ju već i proces i .
    • Više listi čekanja Jedna lista čekanja Operativni sistem 1. particija 2. particija 3. particija 4. particija 5. particija
      • Rešenja za izbegavanje navedenih nedostataka:
        • definiše se dovoljan broj dovoljno malih particija (u koje mogu stati samo mali procesi , ne i veliki) ;
        • uvodi se pravilo: ni jedan proces ne može biti preskočen više od k puta. Svaki proces dobija po jedan brojač, svaki put kad se dati proces preskoči, povećava se brojač. Ako pri traženju procesa upravljač memorije vidi da je proces preskočen k puta, učitava ga u particiju, a broja č se resetuje. Veličinu broja k određuje sistem operator.
      • Može se S wapping realizovati i sa fi ks nim particijama: svaki put kada se neki proces blokira, prebac i se na disk, a u tako oslobođenu particiju se učita drugi spreman proces. Praktično posmatra no, neće se dobiti dobr i rezultat i u iskorišćavanju memorije: mogu postojati mal i proces i koj i se učitava ju u veće particije, pa se gubi mnogo memorije. To se zove unutrašnja fragmentacija ( I nternal F ragmentation ).