Memorijski Prostor i Upravljanje Memorijom

  • Upload
    4k45h4

  • View
    256

  • Download
    0

Embed Size (px)

Citation preview

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    1/51

    MEMORIJSKI PROSTOR IUPRAVLJANJE MEMORIJSKIM

    PROSTOROM

    eljko BrekStrukovna kola urevac

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    2/51

    UVOD MEMORIJA

    VELIKO POLJE OKTETA ILI RIJEI KOJI

    IMAJU SVAKI SVOJU ADRESU. PROCESOR DOHVAA NAREDBE IZ

    MEMORIJE U OVISNOSTI O VRIJEDNOSTIUPISANOJ U PROGRAMSKO BROJILO.NAREDBE MOGU REZULTIRATI DODATNIMPRISTUPIMA MEMORIJI KAKO BI SE

    DOHVATILO OPERANDE, ODNOSNOPOHRANILO REZULTATE OPERACIJA.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    3/51

    RADNA MEMORIJA POHRANA

    KORISNIKIH PROCESA STALNO PRISUTNIH DIJELOVA

    OPERACIJSKOG SUSTAVA(REZIDENTNI DIO OS-A) PODJELA

    NII DIO- ZA REZIDENTNI DIO OS-A(KERNEL SPACE)

    VII DIO- ZA KORISNIKE PROCESE

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    4/51

    VEZIVANJE ADRESA

    PROGRAMI -ZAPISANI NA DISKU (ILINEKOJ DRUGOJ NEIZBRISIVOJMEMORIJI) U BINARNOM OBLIKU

    (EXECUTABLE). PROGRAM UITAVA SE U MEMORIJU

    KAKO BI POSTAO PROCES KOJE SEMOE IZVODITI.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    5/51

    POSTUPAK IZVRAVANJA PROGRAMA IZABRATI JEDAN PROCES U ULAZNOM REDU UITATI PROCES U MEMORIJU

    IZVRAVATI PROCES ZAVRETAK IZVRAVANJA PROCESA

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    6/51

    PROGRAMERI-UNAPRIJED NE MOGU ZNATI

    KOJI PROCESI E BITI ZASTUPLJENI UMEMORIJI PRILIKOM IZVRAVANJAPROGRAMA, NITI KOJE E LOKACIJE U

    MEMORIJI BITI SLOBODNE. NE MOGU SE UNAPRIJED ODREDITI FIKSNE

    MEMORIJSKE LOKACIJE ZA SMJETAJ

    PROGRAMA I ZATO SE KORISTE RELATIVE ILISIMBOLIKE ADRESE. OS PREVODI RELATIVNE ADRESE U

    APSOLUTNE (FIKSNE).start.

    mov al,$00H

    mov bl,$0AH

    petlja.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    7/51

    PRIJE IZVRAVANJA KORISNIKI

    PROGRAM PROLAZI KROZ FAZEPRIPREME: A)VRIJEME PREVOENJA(ENG. COMPILE

    TIME) B)VRIJEME UITAVANJA /PUNJENJA/ (ENG.

    LOAD TIME)

    C)VRIJEME IZVOENJA(ENG. EXECUTIONTIME)

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    8/51

    VRIJEME PREVOENJA

    UKOLIKO JE ZA VRIJEME PREVOENJAPOZNATA ADRESA LOKACIJE OD KOJEE SE UPISIVATI PROGRAM, TADA SE

    VEZA VRIJEME PREVOENJAGENERIRAJU APSOLUTNE ADRESE.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    9/51

    VRIJEME UITAVANJA/PUNJENJA

    APSOLUTNE ADRESE SE GENERIRAJU UTRENUTKU UPISIVANJA (PUNJENJA)PROGRAMA U RADNU MEMORIJU.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    10/51

    VRIJEME IZVOENJA

    PROGRAM MIJENJA SVOJE ADRESE ITIJEKOM IZVOENJA, ODNOSNOPREBACUJE SE IZ JEDNOG U DRUGO

    MEMORIJSKO PODRUJE. POSEBNA HARDVERSKA PODRKA

    POTREBNA JE ZA REALIZACIJUOVAKVOG NAINA RADA.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    11/51

    LOGIKI I FIZIKI ADRESNI PROSTOR

    ADRESE KOJE SE KORISTE U IZVORNOMPROGRAMU SU SIMBOLIKE.

    NAKON PREVOENJA I POVEZIVANJA

    PROGRAM SADRI LOGIKE ADRESE. ADRESA U MEMORIJI, ODNOSNO

    ADRESA KOJU VIDI SKLOP ZAUPRAVLJANJE MEMORIJOM (MEMORYMANAGEMENT UNITILI MMU) NAZIVAJU

    SE FIZI

    KE ADRESE.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    12/51

    ZA VRIJEME PREVO

    ENJA IPOVEZIVANJA LOGIKE I FIZIKEADRESE SU JEDNAKE.

    TIJEKOM IZVOENJA, TRANSFORMACIJAADRESA REZULTIRA U RAZLIITIMFIZIKIM I LOGIKIM ADRESAMA. U TOMSLUAJU LOGIKE ADRESE NAZIVAJUSE VIRTUALNE ADRESE.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    13/51

    SKUP SVIH LOGIKIH ADRESA KOJE

    GENERIRA PROGRAM NAZIVA SELOGIKI ILI VIRTUALNI ADRESNIPROSTOR VIRTUALNA MEMORIJA

    SKUP SVIH FIZIKIH ADRESA KOJE

    ODGOVARAJU LOGIKIM ADRESAMANAZIVA SE FIZIKI ADRESNI PROSTOR.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    14/51

    PRESLIKAVANJE ADRESA

    FUNKCIJU PRESLIKAVANJA IZLOGIKOG U FIZIKI ADRESNI PROSTORREALIZIRA ZASEBNO SKLOPOVLJE

    NAZVANO SKLOP ZA UPRAVLJANJEMEMORIJOM (MEMORY MANAGEMENTUNIT - MMU).

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    15/51

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    16/51

    PREBACIVANJE (SWAPPING)

    Proces se moe izvoditi samo ako se nalaziu radnoj memoriji. Proces koji se izvodi upie u memoriju, a

    kada se prekida s njegovim izvoenjem(temeljom razliitih dogaaja koji rezultiraju

    gubitkom prava koritenja procesora) on sezamijeni s drugim procesom s diska.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    17/51

    SWAPPING

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    18/51

    JEDNOPROGRAMSKI SUSTAV

    MONOPROGRAMIRANJE UZ OS SAMO JEDAN PROCES U MEMORIJI OS moe biti

    CIJELI U RAM-U CIJELI U ROM-U

    U RAM-U, A DEVICE DRIVERI U ROMU

    korisnikiprogram

    OS u RAMu

    korisnikiprogram

    OS u ROMu

    korisnikiprogram

    OS u RAMu

    device driveriu ROMu

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    19/51

    VIEPROGRAMSKI SUSTAVI

    MULTIPROGRAMIRANJE

    A)VIE ULAZNIH REDOVA EKANJA

    Particija 3

    OS

    Particija 1

    Particija 2

    PARTICIJE SU RAZLIITIHVELIINA

    PROCESE TREBARAZVRSTATI U REDOVEEKANJA PREMA VELIINI

    NEUINKOVITO KADA MANJIPROCESI EKAJU, DOK JEVEA PARTICIJA PRAZNA

    FIKSNE PARTICIJE(SEGMENTI) MEMORIJETZV STATIKA DODJELA MEMORIJE

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    20/51

    B) JEDAN ULAZNI RED

    EKANJA

    Particija 3

    OS

    Particija 1

    Particija 2

    PARTICIJE SU RAZLIITIHVELIINA

    PROCESE SUSTAVRAZVRSTAVA U PARTICIJEPREMA VELIINI

    MOE SE DESITI DA MANJIPROCESI BUDU UNEMILOSTI

    MALE PROCESE JE

    KORISNO TO PRIJEODRADITI

    RJEENJE: BROJA

    PRESKAKANJA

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    21/51

    VIEPROGRAMSKI

    S PROMJENJIVIM PARTICIJAMA(SEGMENTIMA)MEMORIJEoperacijski

    sustavoperacijski

    sustavoperacijski

    sustavoperacijski

    sustavoperacijski

    sustav

    400k 400k 400k 400k

    900k

    1000k 1000k

    1700k 1700k 1700k

    1000k 1000k

    2000k 2000k 2000k 2000k 2000k

    2300k 2300k 2300k 2300k 2300k

    2560k 2560k 2560k 2560k 2560k

    P P P P1 1 1 5

    P

    P P

    P P

    P P P

    2

    2 4

    1 5

    4 4 4

    P P P P P3 3 3 3 3

    zavrio ulazi

    zavrio ulazi

    1000k

    400k

    a b c d e

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    22/51

    NAINI DODJELE PARTICIJE

    (SEGMENTA) MEMORIJEPOJEDINOM PROCESU:

    PRVI KOJI ZADOVOLJAVA (FIRST-FIT): PROCESU SE DODJELJUJE PRVI SEGMENT

    KOJI ZADOVOLJAVA POSTAVLJENEMEMORIJSKE ZAHTJEVE.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    23/51

    NAJBOLJE POKLAPANJE (BEST-FIT): PROCESU SE DODJELJUJE ONAJ SEGMENTKOJI NAJBOLJE ODGOVARA NJEGOVIM

    MEMORIJSKIM ZAHTJEVIMA. DOLAZI DO STVARANJA MALIH SEGMENATA,

    UPLJINA, KOJI SU POSLJEDICA RAZLIKE

    VELIINE SEGMENTA I PROGRAMA.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    24/51

    NAJLOIJE POKLAPANJE (WORST-FIT): PROCESU SE DODJELJUJE NAJVEI

    SLOBODNI SEGMENT.

    CILJ JE STVARANJE TO VEIH UPLJINA,SUPROTNO PRETHODNOM ALGORITMU.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    25/51

    PROBLEMI UPRAVLJANJA

    MEMORIJOM VANJSKA FRAGMENTACIJA MEMORIJE

    S vremenom se slobodna memorija razbija umanje segmente.

    Ukupna veliina slobodne memorije moe biti

    dovoljna da prihvati nove procese ali to nijemogue iz razloga to ne postoje dovoljno velikakontinuirana podruja.

    Fragmentacija moe postati ozbiljan problem kojiznaajno umanjuje uinkovitost sustava.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    26/51

    UNUTARNJA FRAGMENTACIJA

    MEMORIJE Primjer:slobodan je memorijski blok veliine18,464 okteta, a program zahtjeva 18,460

    okteta. Programu se dodijeli cijeli blok, bez obzira toe 4 okteta ostati neiskoriteno.

    Ako taetiri okteta tvore slobodan blok ,potrebno je voditi evidenciju u operacijskom

    sustavu to nije racionalno. Razlika u zahtijevanoj i dodijeljenoj memoriji

    naziva se unutarnja fragmentacija, koja jepraktiki zanemariva u usporedbi s vanjskom.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    27/51

    RIJEAVANJE PROBLEMA VANJSKEFRAGMENTACIJE MEMORIJE

    Premjetanjem procesa i spajanjemslobodnih blokova u jedan kontinuirani blok .

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    28/51

    operacijski

    sustav

    operacijski

    sustav

    900k 900k

    1700k

    1600k

    1000k

    2000k

    2300k

    1900k

    2560k 2560k

    P P5 5

    P P

    44

    P

    P

    3

    3

    0 0

    400k 400k

    spajanje

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    29/51

    Stranienje Rijeenje vanjske fragmentacije

    memorije.

    Dozvoljava da proces ne mora biti upisan ukontinuirani memorijski blok. Program moebiti raspren proizvoljno po memoriji.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    30/51

    Radna memorija dijeli se na manje blokove

    fiksne veliine koji se nazivaju okviri . Logikiadresni prostor programa takoer se podjelina blokove iste veliine koji se nazivaju

    stranice. Kada se program upie u memoriju ,stranice

    se upisuju u slobodne memorijske okvire. Radi jednostavnosti prebacivanja programa sdiska u radnu memoriju i disk je podijeljen na

    okvire jednake veliine kao i okviri memorije. Tako se jedan okvir s diska upisuje u jedan

    okvir radne memorije.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    31/51

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    32/51

    Adresa koju generira procesor dijeli se na

    dva dijela: broj stranice(p) i pomak unutarstranice(d). Broj stranice je indeks(pokaziva) na redak tablice stranica. Utablici stranica upisane su poetne adreseokvira u kojima je smjetena stranica.

    Kombinacija poetne adrese okvira i pomakaodreuje fiziku adresu memorijske lokacije

    kojoj se pristupa.

    Veliine stranica variraju od sustava dosustava i obino su izmeu 512 byta i 8192byta i uvijek su potencija broja dva.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    33/51

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    34/51

    TEHNIKE UPRAVLJANJAMEMORIJOM

    RJEAVANJE PROBLEMANEDOVOLJNE KOLIINE MEMORIJE

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    35/51

    Radi boljeg iskoritenja radne memorije veliinu procesa ograniava koliinafizike memorije.

    Tri tehnike

    1.Dinamiko punjenje 2.Dinamiko povezivanje

    3.Prekrivanje (overlay)

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    36/51

    Dinamiko punjenje Prednosti:

    Koristan kod programa s puno procedura koje se

    rijetko koriste. Ne postavlja posebne zahtjeve na sklopovlje nina operacijski sustav.

    Programer to mora ugraditi u svoj program.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    37/51

    Dinamiko punjenje Kod ovakvog naina punjenja programa u

    memoriju potprogrami ili rutine smjetene su

    na disku, a upisuju se u memoriju tek nakonto ih glavni program pozove. Kod poziva potprograma, prvo se provjerava

    da li je potprogram u radnoj memoriji, a akonije poziva se program za dinamikopunjenje i povezivanje koji upisujepotprogram u memoriju te upisuje poetnuadresu potprograma u tablicu adresa

    programa.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    38/51

    Dinami

    ko povezivanje Biblioteka s programima koji se dinamiki

    mogu povezivati s programom koji se izvodi(dynamically linked libraries - .dll).

    Slian koncept kao dinamiko punjenje -umjesto da se potprogrami ili procedureupisuju u memoriju prema zahtjevu, isti seprema zahtjevu povezuju s programom kojise izvodi.

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    39/51

    Dinami

    ko povezivanje Prednost ovog pristupa u poredbi s

    dinamikim punjenjem je u boljoj iskoristivostiradne memorije i diska jer nije potrebno dasvaki program ima sve procedure, odnosno

    da vie programa upisanih u radnu memoriju,a koji koriste istu proceduru, imaju njenukopiju.

    Dinamiko povezivanje zahtijeva usluguoperacijskog sustava.

    P k i j ( l )

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    40/51

    Prekrivanje (overlay)

    Da bi se omoguilo izvravanje programakoji su vei od same fizike memorije.

    Omoguava da se u memoriji uvaju samooni dijelovi programa koji su potrebni u tomtrenutku.

    Kada su potrebni drugi dijelovi programatada se iz memorije izbacuje prethodni dio

    programa i podataka, a novi se s diskaupisuju.

    S t ij

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    41/51

    Segmentacija Segmentacija je tehnika upravljanjamemorijom koja podrava korisniki

    pogled na memoriju.

    Logiki adresni prostor sastoji se odkolekcije segmenata, a svaki segment ima

    jedinstveno ime i duinu. Logika adresa se sastoji od dva dijela: imena segmenta (umjesto imena segmenta

    obino se zadaje broj koji predstavljaidentifikator segmenta)

    pomak unutar segmenta

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    42/51

    Korisniki pogled na program:

    Glavni program s nizom potprograma,procedura, modula, funkcija, podatkovnihstruktura (tablica, polja , varijabli,..)

    Svaki od tih dijelova ima jedinstveno ime (kojimse referencira) i duljinu

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    43/51

    Odreivanje adresa

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    44/51

    Odreivanje adresa

    Logika adresa : Broj segmenta, pomak zadaje korisnik Preslikavanje u fiziku adresu se vri preko tablice

    segemenata.

    Primjer segmentacije

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    45/51

    Primjer segmentacije

    VIRTUALNA MEMORIJA

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    46/51

    VIRTUALNA MEMORIJA

    Virtualna memorijaje strategija dodjelememorije koja dozvoljava da samo dio

    programa koji se izvodi bude u radnojmemoriji. Temeljna prednost ovakvogpristupa je da program moe biti i vei od

    radne memorije. Tako korisniki programmoe poprimiti proizvoljnu veliinu, a sustav

    za upravljanje memorijom preslikava logikiprostor korisnika u ogranieni prostor u

    radnoj memoriji.

    VIRTUALNA MEMORIJA PREDNOSTI

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    47/51

    VIRTUALNA MEMORIJA-PREDNOSTI

    Veliina programa nije ograniena veliinomradne memorije. Programer moe napisati

    program kao da sustav raspolae sneogranienom memorijom, odnosnoprogramer raspolae s neogranienim

    virtualnim logikim adresnim prostorom.

    VIRTUALNA MEMORIJA PREDNOSTI

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    48/51

    VIRTUALNA MEMORIJA-PREDNOSTI

    Korisniki program moe se izvoditi saznatno manjom dodijeljenom fizikom

    memorijom, to omoguava vei stupanjvieprogramskog rada. Time se poveavaiskoristivost kao i propusna mosustava.

    VIRTUALNA MEMORIJA PREDNOSTI

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    49/51

    VIRTUALNA MEMORIJA-PREDNOSTI

    Manje U/I operacija potrebno je zaprebacivanje korisnikih programa iz i u

    memoriju. Tako se korisniki programi breizvode.

    VIRTUALNA MEMORIJA PRINCIP RADA

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    50/51

    VIRTUALNA MEMORIJA-PRINCIP RADA

    VIRTUALNA MEMORIJA PRINCIP RADA

  • 7/26/2019 Memorijski Prostor i Upravljanje Memorijom

    51/51

    VIRTUALNA MEMORIJA-PRINCIP RADA

    Virtualna memorijaje razdvajanje logikogadresnog prostora koji vidi korisnik od

    fizikog adresnog prostora u kojem seprogram izvodi. Virtualna memorija obino se realizira kao

    stranienje na zahtjev (demand paging).