P-UpravljanjeMemorijom 2005 06

Embed Size (px)

Citation preview

  • Uvod u operativne sistemeDvosedmina predavanja

    [email protected]

  • Pregled PredavanjaUpravljanje Glavnom Memorijom (Memory Management)- Uvod- Glavna memorija- Procesi i glavna memorija- Upravljanje memorijom: Alokakacija memorije- Swapping- Virtualna Memorija: - Paging- Segmentacija

    Upravljanje Vanjskom (sekundarnom) Memorijom - sistemima za masovnu pohranu podataka- Eksterni magnetni mediji- Metode alokacije prostora na disku- Disk scheduling

  • Menadment Memorije (Memory Management)

  • OS Aktivnosti Vezane za Upravljanje MemorijomJedan od osnovnih resursa kompjutera je njegova glavna (radna, RAM) memorija. Stoga upravljanje ovom memorijom predstavlja jedan od glavnih zadataka operativnog sistema.

    Neke od aktivnosti koje OS obavlja vezano za upravljanje glavnom memorijom su: Vodi rauna o tome koji dijelovi memorije se momentalno koriste i od strane kogaOdluuje koji e se procesi uitati u memoriju kada memorijski prostor bude raspoloivAlocira i dealocira memorijski prostor

  • Memorija - UvodMemorija kod starog IBM-7094 vs. memorija kod prosjenog kompjutera dananjice (razlika u veliini je vie od 1000 puta)- Parkinsovo pravilo Koliko god poraste memorija porast e i korisniki programiIdealna situacijaVelika memorijaBrza memorijaPostojana memorijaMemorijska hijerarhija Male koliine brze ali skupe memorije cache Neto vie srednje-brze, srednje-skupe glavne (main) memorije Gigabyte-i spore, jeftine disk memorije

  • Hijerarhija MemorijeOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Glavna Memorija (RAM Memorija)Veliki niz (milioni/bilioni) word ili byte vrijednosti, svaki od kojih ima svoju vlastitu (memorijsku) adresu.Repozitorij podataka kojima se moe pristupati veoma brzo, i koji su dijeljeni od strane CPU-a i I/O (ulazno/izlaznih) ureaja.Prilikom izvravanja programa CPU ita instrukcije i podatke iz glavne memorije, te obraene rezultate ponovo alje u glavnu memoriju (slika na slajdu # 9)

  • Osnovne Namjene Glavne Memorije

    Skladiti podatke koji su uneseni dok se ne transferiraju ka izlazlom ureajuSkladiti podatke i rezultate za vrijeme meufaza procesiranjaDri podatke nakon procesiranja dok se ne transferiraju ka izlazlom ureajuDri programske elemente ili instrukcije primljene od ulaznih ureaja i vanjske memorije

  • Znaaj Glavne MemorijeVie glavne memorije bra obrada podatka: smanjuje se broj pristupa hard disku od strane procesora (pristup hard disku je veoma spora operacija)

    RAMCPUInputOutput

  • Procesi i Glavna Memorija

    Program mora biti uitan u memoriju kao dio procesa kako bi mogao da bude izvrenInput queue kolekcija procesa na disku koji ekaju da budu uitani (uneeni) u memoriju da bi izvriliKorisniki programi prolaze kroz vie stanja prije nego su izvreni

  • Osnovne Funkcije Sistema za Upravljanje Memorijom

    Vodi rauna o slobodnim i zauzetim prostorima u radnoj memoriji kako bi znali da li novodoli program moe biti uitan u memoriju ili neObezbjeuje strategiju dodijeljivanja memorije za svaki pojedini sluaj: kada, kome, gdje i koliko treba dodijeliti memorijeOslobaanje memorije (dealokacija). Odluivanje i sprovoenje izbacivanja nekog od programa iz memorije

  • Alokacija MemorijeGlavna memorija je obino podjeljena u dva dijela:Operativni Sistem, obino pohranjen u niem dijelu memorije Korisniki procesi, koji se obino dre u viem dijelu memorije

    Postoji vie naina alokacije memorije u koju se smijetaju korisniki procesi. Navest emo neke od osnovnih metoda alokacije memorije.

    Silberschatz, Galvin and Gagne 2002Operating System Concepts

  • Jednostavni Memory Management (ne koristi se vie kod modernih OS-a): MonoprogramiranjeOperativni Sistem Korisniki program 00xFFF

    Slika: OS sa samo jednim korisnikim procesom (Lit. br. 3)Pojedini handheld, embedded sistemi

  • Alokacija Memorije u Dijelovima

    Doputa smjetaj vie procesa u memoriju istovremenoMemorija podijeljena u vie djelova/particija u koje se smjetaju procesi.OS odrzava tabelu sa informacijama o particijama

    Dva osnovna tipa alokacije memorije u dijelovima:1. Fiksna alokacija (fiksne particije)2. Dinamika alokacija (dinamine particije)

  • Alokacija Fiksnih ParticijaKreiranje vie fiksnih particija unutar radne memorije.Svaka particija za samo jedan procesVeliina particija se odreuje u momentu dizanja sistemaPostoje dva modaliteta fiksne alokacije:- sa jednakim veliinama fiksnih particija- sa nejednakim veliinama fiksnih particijaProblemi:- Sluaj kada je proces vei od particije programeri onda moraju koristiti overlays tehnike (uva u memoriji samo one instrukcije i podatke neophodne u datom momentu)- Interna FragmentacijaVidi slajd # 27

  • Multiprogramiranje sa (nejednakim) Fiksnim ParticijamaSlika: Multiprogramiranje sa nejednakim particijama (Lit. br. 3)

  • Alokacija Fiksnih Particija (nastavak)

    Prednosti ove alokacije:- Jednostavnost implementacijeNedostaci ove alokacije:- Fragmentacija- Nefleksibilnost zbog nepromjenjivih veliina particija- Ogranien stepen multiprogramiranja

    IBM OS/360 je koristio fiksne particije; Kod veine OS-a vie se ne koristi.

  • Alokacija Dinaminih Particija

    Raspoloiva memorija se i dalje uva u kontinuiranim (contiguous) blokovimaProcesima se daje onoliko memorije koliko oni trae- eliminira problem interne fragmentacijePojavaljuje se problem eksterne fragmentacije

  • Alokacija Dinaminih Particija (nastavak)Rupe (blokovi slobodne memorije) raznih veliina, su razbacane po memorijiKada novi proces stigne, alocira mu se memorija jedne od rupa koja je dovoljno velika za njega Operativni Sistem monitoruje informacije o: a) alociranim particijama b) slobodnim particijama (rupama)OSprocess 5process 8process 2OSprocess 5process 2OSprocess 5process 2OSprocess 5process 9process 2process 9process 10Silberschatz, Galvin and Gagne 2002Operating System Concepts

  • Problem Dinamike AlokacijeFirst-fit: Alocira prvu rupu koja je dovoljno velikaBest-fit: Alocira najmanju rupu koja je dovoljno velika; mora traiti itavu listu, sem ako je lista poredana po veliini. Producira rupu sa najmanjim ostatkomWorst-fit: Alocira najveu rupu; takoer mora pretraiti cijelu listu. Producira rupu sa najveim ostatkomKako zadovoljiti zahtjevu veliine n od liste slobodnih rupa?First-fit i best-fit bolje nego worst-fit u vidu brzine i iskoritavanja memorijeSilberschatz, Galvin and Gagne 2002Operating System Concepts

  • Fragmentacija MemorijeJedan od osnovnih problema alokacije memorije je fragmentacija memorije. Razlikujemo eksternu i internu fragmentaciju, kako smo ve ranije navodili.

    Eksterna Fragmentacija sva neiskoritena memorija na raspologanju novim zahtijevima, ali nije kontinuiranaFirst-fit ili best-fit?Koji kraj bloka se alocira?

    Interna Fragmentacija alocirana memorija moe biti neto vea od potraene memorije; ova razlika u veliini je interna za pojedinane particije, ali opet neiskoritena

    Mogunost reduciranja eksterne fragmentacije kompakcijom (Relokatibilno dinamiko particiranje)Premjetanje sadraja memorije kako bi se sva slobodna memorija smjestila zajedno u jedan veliki blok Kompakcija mogua samo ukoliko je relokacija dinamika, i pravi se u vrijeme izvravanja.Troi relativno puno vremenaSilberschatz, Galvin and Gagne 2002Operating System Concepts

  • Tehnike za Menadment MemorijePrilikom izvravanja raznih programa na naem raunaru esta je situacija da programi koji se u nekom momentu izvravaju zahtijevaju vie prostora nego to glavna memorija ukupno posjeduje.

    Podsjetnik: Da bi se programi izvravali moraju biti u radnoj memoriji.

    Radi ovog su razvijene dvije tehnike koje omoguuju istovremeno izvravanje programa ija ukupna veliina je vea od glavne memorije raunara.

    Ove dvije tehnike su:Swapping (dinamike particije)Virtualna memorija

  • SwappingProces moe biti privremeno swappiran (premjeten) izvan glavne memorije u backing store, i kasnije biti ponovo uneen u memoriju te nastaviti izvravati. Backing store obino dio hard diska dovljno velik da pohrani kopije svih memorijskih imida programa (za sve korisnike). Obino se procesi swappuju nazad u isti dio memorije

    OS odrava ready queue koji sadri skup svih procesa koji su spremni za izvravanje a koji mogu biti u memoriji ili backing store-u.

    Modifikovane implementacije swappinga se koriste kod mnogih OS-a (UNIX, Linux, Windows)

  • Context-switch vrijeme swappingaPrimjer:5 MB user procesHard disk transfer brzina: 5 MB/sec

    Transfer u ili iz memorije:5 MB / 5 MB/sec = 1 sec = 1,000,000,000 nsPlus disk seek time x 2Radi se o vremenu koje je drastino vee od obinog context switch vremena (vidi idui slajd)

  • processor cycle0.5 nscache pristup1 nsmemory pristup15 nscontext switch5,000 nsdisk pristup7,000,000 nsquantum100,000,000 ns

  • ematski pogled na SwappingOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • OverlaysPrije mnogo godina: programi postali preveliki da stanu u memorijuPrvobitna solucija: Programi podjeljeni u komade, takozvane overlaysOverlay 0 izvrava prvi, nakon njega izvrava overlay1, overlay2, ....., overlay nOverlay-i se dre na hard disku i dinamiki swapiraju u i izvan glavne memorije.Implementirani od strane programera, a ne OS-a

    Fotheringham izmilja nain da se itav posao preda kompjuteru, a ne programerima = Virtualna Memorija

  • Virtualna MemorijaVirtualna memorija separacija korisnike logike memorije od fizike memorijeSamo dio programa (koji je potreban za njegovo izvranje u datom momentu) je prisutan u memoriji za vrijeme izvravanjaLogiki adresni prostor kojeg posmatra CPU (programi koji izvravaju na CPU-u) moe biti puno vei od fizikog adresnog prostoraDozvoljava adresnom prostoru da bude djeljen od strane razliitih procesa Dozvoljava efikasniju kreaciju procesaVirtualna memorija moe biti implementirana uz pomo tehnika:Stranienja (paging) Segmentacije (segmentation)

  • Stranienje (Paging)Izbjegava problem smjetanja dijelova memorije razliitih veliina u backing store problem nalaenja slobodnog prostora na fragmenriranom backing store-u (neefikasnost kompakcije)Dozvoljava fizikom adresnom prostoru da ne mora biti kontinuiran

    Osnovni metod implementacije paging-a:

    Fizika memorija se dijeli u blokove fiksnih veliina frames Logika memorija se dijeli u blokove istih veliina pages (stranice)Vodi se evidencija o slobodnim frames.Kada proces treba da se izvri njegove pages se iz backing store-a loadaju u slobodne framesPage tabela evidentira translaciju logikih i fizikih adresa Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Stranienje Paging (nastavak)Stranica (page) se unosi u memoriju samo kada je potrebna:Potrebno manje I/OPotrebno manje memorije Bri odgovor (response)

    Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • ema Translacije Logikih i Fizikih AdresaAdresa koju CPU generie je podijeljenja u:

    Page number (p) koristi se kao indeks u page-tabelu koja sadri osnovnu adresu svake stranice u fizikoj memoriji.Page offset (d) u kombinaciji sa osnovnom adresom definira adresu fizike memorije koja se alje u memory unit.Silberschatz, Galvin and Gagne 2002Operating System Concepts

  • Arhitektura translacije adresa p page numberd page offsetf base adresaOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Primjer PagingaOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Minijaturni Primjer Paginga (veliina page-a = 4 byte; veliina memorije = 32 byte-a) 0123 0123564Logika adresa 3 (page 0, offset 3) preslikava u fiziku adresu 23 (= (5 x 4) + 3)Napomena: offset logike adrese 5 je 1 (ne 5)7Logika adresa 0 (page 0, offset 0) preslikava u fiziku adresu 20 (= (5 x 4) + 0)Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Paging i fragmentacija

    Veliina Page-a kod modernih operativnih sistema je tipino 512 byte 64KB

    Pitanja za razmiljanje:Dali postoji eksterna fragmentacija kod paging-a ?Interna fragmentacija?

  • Paging i fragmentacija (nastavak)Posljedjni asocirani frame moe biti neiskoriten u potpunostiPrimjer:Page size = 2048 byte-aVeliina procesa = 72766 byte-aPotrebno bi bilo 35 frames plus 1086 byte-aProcesu bi bilo potrebno alocirati 36 page framesInterna fragmentacija

    U prosjeku, page po procesu se gubi radi fragmentacije

    Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Prije nego proces krene sa izvravanjem OS provjerava njegovu veliinu (u page jedinicama)Ukoliko proces zahtijeva n pages pokuava mu se dodijeliti n framesPrvi page procesa se uita u jednu od alociranih frames, a broj frame-a se pohranjuje u page tabelu za taj proces. Isto se ponavlja i za sljedee pagesOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Separacija korisnikovog i fizikog pogleda na memoriju.Korisnikov program ima iluziju da memorija sadri samo njegov program.Process-page tabela ograniava pristup memoriji pojedinim procesima tako da ne mogu pristupati dijelovima memorije drugih procesa (standardna situacija)Mapiranje i menadment obavlja OSFrame table : koji frames su alocirani, slobodni, koliko ih ukupno ima, itd.Za svaki frame 1 unos u tabeli koji indicira dali je frame slobodan/ zazet, koji page se nalazi u njemu i od kojeg procesa ...

    Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Hardware podrkaRazliiti operativni sistemi pohranjuju page table na razliite naine.Veina OS-a alocira page table svakom od procesa (pointer na page table pohranjen u PCB-ima procesa)Najjednostavnija implementacija:Page table = skup dediciranih registara Zadovoljavajue rjeenje ukoliko je tabela malena ( < 256 unosa)Veina modernih OS-a zahtijeva mnogo vie unosaTabela u glavnoj memorijiPage-table base register (PTBR) :: pointer za tabeluProblem: vrijeme pristupa potrebno pristupiti memoriji dva puta (jedan pristup tabeli, drugi pristup samim podacima)Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Hardware podrka (nastavak)Standardno rjeenje za navedeni problem:Koritenje specijalnog hardware cash-a TLB (male, skupe, ali veoma brze memorije) skupa sa tabelom u glavnoj memorijiPristup TLB-u puno bri od pristupa memoriji

    TLB sadri svega par unosa page-tabele.Broj unosa u ovakvoj tabeli tipino 64 1024Kada se generira logika adresa, page number se poredi sa indeksima TLB-a.Ukoliko se page number pronadje > frame number > mogunost referenciranja memorije Ukoliko page number nije u tabeli (TLB miss), tabela u memoriji mora biti referenciranaU ovom sluaju frame number & page number se dodaju u TLBOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • p page numberd page offsetf base adresaOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • SegmentacijaZa razliku od stranica, kod segmentacije memorija je podijeljena u segmente razliitih veliinaSvi segmenti ne moraju bitu u memoriji istovremenoema menadmenta memorije koja podrava korisnikov (programerov) pogled na memoriju:Programi su kolekcije segmenata. Svaki segment je logika jedinica, kao npr.:main program,procedura, fukcija,metod,object,lokalne i globalne varijable,stak,nizoviSilberschatz, Galvin and Gagne 2002Operating System Concepts

  • Korisnikov pogled na program: PrimjerOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Logiki pogled na segmentaciju1324Korisniki prostor Prostor fizike memorijeOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Svaki od segmenata ima svoje ime i duinuAdrese specifikuju ime(broj) segmenta i offset unutar njegaRadi jednostavnosti implementacije logike adrese se sastoje od parova: Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Segment-table za mapiranje korisnikih adresa u fiziku memorijus segment broj; d segment offset (0 < d < segment limit)Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Primjer SegmentacijeOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Upravljanje vanjskom (sekundarnom) memorijom

  • Struktura MemorijeGlavna memorija jedina velika memorija kojoj CPU moe pristupati direktnoSekundarna memorija produetak glavne memorije koji prua veliki kapacitet postojane memorije Magnetni diskovi metalni ili plastini diskovi obloeni magnetnim materijalom za pohranu podataka Povrina diska je logiki podijeljena u staze (tracks), koje su potom podijeljene u sektoredisk controller determinie logiku interakciju izmeu ureaja i kompjuteraOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Hard Disk Mehanizam Pokretne-GlaveOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Eksterni Magnetni MedijiUreaji za pohranjivanje veih koliina podataka i programaBrzina pristupa znatno sporija od pristupa glavnoj memorijiSlue kako za odlaganje (izlaz) podataka, tako i za uitavanje (ulaz) podataka od strane programa koji se obrauju

  • Memorijska HijerarhijaOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Najee Koriteni Eksterni Mediji

    DiskoviFloppy disketeTrakeOptiki diskovi

    Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Prijenosni (Zamjenjivi) DiskoviFloppy disk tanka fleksibilna ploa obloena magnetnim materijalom, upakovana u zatitnu plastikuVeina floppy-a sadre oko 1 MB; slina tehnologija se koristi kod diskova koji mogu da sadre preko 1 GBPrijenosni magnetni diskovi mogu biti skoro brzi kao i hard diskovi ali su i vie skloni teti prilikom rukovanjaOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Prijenosni Diskovi (nastavak)Magnetno-optiki disk pohranjuje podatke na vrstim ploama obloenim magnetnim materijalomLaser koriten za nanoenje magnetnih polja za zapisivanje svakog bit-aLaser se takoer koristi za itanje podatakaMagnetno-optika glava se kree sa puno veom distancom od povrine diska nego glava kod magnetnog diska. Magnetini materijal je obloen sa protektivnim slojem plastike ili stakla

    Optiki diskovi ne koriste magnetizam, ve koriste specijalne materijale koji se mijenjaju laserskim zrakamaOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • WORM DiskoviPodaci na read-write diskovima mogu biti modifikovani mnogo putaWORM (Write Once, Read Many Times) diskovi mogu biti pisani (podaci pohranjeni) samo jedanput- Tanki film usendvien izmeu dvije staklene ili plastine ploe- Kada pie bit, drajv koristi laser da napravi malu rupu kroz film ili da ga permanentno oboji- Veoma durabilni i pouzdaniRead Only diskovi, kao CD-ROM, dolaze iz fabrike sa ve upisanim podacimaOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Trake

    Za razliku od diska, trake su jeftinije i pohranjuju vie podataka, ali je pristup podacima mnogo sporijiTraka je ekonomini medij za potrebe koje ne zahtijevaju brz pristup podacima, npr. backup hard diskovaVelike instalacije traka tipino koriste robotske promjenjivae traka koji premjetaju trake izmeu tape drajvova i pohrambenih mijesta

    Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Pouzdanost (Reliability)Fiksni disk drive je obino pouzdaniji od prijenosnih diskova ili traka Optiki mediji su pouzdaniji od magnetnih diskova i traka Krah glave kod fiksnog hard diska obino unitava podatke na disku, dok otkaz kod drajva trake ili optikog diska obino ne oteuje podatkeOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Cijena po Megabyte-u DRAM-a, 1981 - 2000Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Cijena po Megabyte-u Magnetnog Hard Diska, 1981 - 2000Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Cijena po Megabyte-u Trake, 1984 - 2000Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Disk SchedulingOperativni sistem je odgovoran za efikasno iskoritavanje hardvera za disk drajve, ovo primarno podrazumijeva brzo vrijeme pristupa Vrijeme pristupa ima dvije osnovne komponenteVrijeme traenja (seek time) je vrijeme potrebno da disk pomjeri glavu na cilindar koji sadri traeni sektor podatkaVrijeme latentnosti (latency time) je dodatno vrijeme ekanja da disk rotira na eljeni sektor glave diskaNastoji se minimizirati seek timeOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Disk SchedulingPostoji vie algoritama za scheduling I/O zahtjeve diska.

    Neki od njih su:

    FCFS (first-come, first-served)SSTF (shortest seek time first)SCAN i C-SCANLOOK i C-LOOKOperating System ConceptsSilberschatz, Galvin and Gagne 2002

  • RAIDRAID predstavlja organizacionu implementaciju vie diskova unutar kompjutereskog sistema.

    RAID vie disk drajvova prua bolji reliability.Poboljanja u tehnikama koritenja diska ukljuuju koritenje vie diskova koji kooperiraju meusobno.RAID ema poboljava performanse i pouzdanost tako to pohranjuje redundantne podatke.Operating System ConceptsSilberschatz, Galvin and Gagne 2002

  • Prijevod i obrada dijelova sljedee literature:

    Bajgori (2004), Operativni Sistemi: Knjiga 1Silberschatz (2004), Operating System Concepts, 6th edition 3. Tanenbaum (2001), Modern Operating Systems, 2nd edition

    [email protected]