07 - os-upravljanje memorijom

Upload: milan-josipovic

Post on 13-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    1/32

    OPERATIVNI SISTEMI

    UPRAVLJANJE MEMORIJOM

    Visoka poslovno-tehnika kola Uie

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    2/32

    !LAVNI "ELOVI RA#UNA!LAVNI "ELOVI RA#UNARRAA

    MEMORIJA

    $PUCentalna

    procesorska

    jedinica za obradu

    U % I

    ulazno-izlazniureaji

    &%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    3/32

    (ELIJA) RE!ISTAR - po*se+an,e

    Objekat sa dva diskretna stanja nazivamo elijom.

    Vie elija organizovanih u fiziku celinu da

    registruju re !broj" binarne azbuke ine registar.

    #adr$aj registra mo$e biti podatak ili naredba

    !instrukcija".

    '%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    4/32

    Upavl,an,e .e.oi,o.Upavl,an,e .e.oi,o.

    %ao to procesi dele centralni

    procesor !C&'"( tako dele ioperativnu memoriju.

    'pravljanje memorijom

    obino zahteva hardversku

    podrku. )emorija se sastoji od niza

    memorijskih rei i svaka re

    ima jedinstvenu adresu

    *elokatibilan - program semo$e izvravati bilo gde u

    operativnoj memoriji.

    ...

    0000

    0102

    0200

    00030104

    0300

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    00A000A100A200A3

    00A400A500A600A700A800A

    900AA00AB00AC00AD

    A D

    00FF

    /%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    5/32

    +indo,s & arhitektura - podseanje

    /O

    Manager

    Security

    Reference

    Monitor

    PC

    Manager

    Virtual

    Memory

    Manager

    Process

    Manager

    Plug and

    Play

    Manager

    Power

    Manager

    Window

    Manager

    and GD

    Computer ardware

    !"ecuti#e Ser#ices

    $ser Mode

    %ernel Mode

    ardware &'straction (ayer )&(*

    Grap+ics

    De#ice

    Dri#ers

    O',ect Manager

    De#ice Dri#ers Micro-ernel

    .ile

    Systems

    Win 01'it

    &pp

    Win 01'it

    &pp

    Win 01'it

    &pp

    Win 01'it

    &pp

    Win0

    Su'sytem

    )Win0 &P *

    0%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    6/32

    Upavl,an,e .e.oi,o.Upavl,an,e .e.oi,o.

    izika memorija raunara/linearno ureen niz elija samogunou direktnog pristupa(direct access)

    0irektan pristup/ svakamemorijska re ima svojuadresu(address)pomou kojejoj se mo$e pristupiti

    *1) !Random AccessMemory"/ memorija samogunou itanja i upisa2

    gubi sadr$aj gubitkomnapajanja

    *O) !Read Only Memory"/memorija samo sa mogunouitanja2 obino uva sadr$aj po

    gubitku napajanja

    ...

    0000

    0102

    0200

    00030104

    0300

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    00A000A100A200A

    300A400A500A600A700A800A900AA00AB00AC00AD

    A D

    00A2

    0102

    00FF

    1%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    7/32

    !LAVNI "ELOVI RA#UNA!LAVNI "ELOVI RA#UNARRAA

    MEMORIJA

    $PUCentalna

    procesorska

    jedinica za obradu

    U % I

    ulazno-izlazniureaji

    2%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    8/32

    3i,eahi,a .e.oi,e3i,eahi,a .e.oi,e

    455 65)0 65)5550 6

    4 inst7ki,ai nekolikopo*ataka

    %apacitet3rzina( cena

    RAM

    3""

    8%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    9/32

    3i,eahi,a .e.oi,e3i,eahi,a .e.oi,e 4a magnetnom disku su 5rhivirani( smeteni svi

    programi !677 8" Od ukupne veliine programa oko 7(98 se nalazi u *1)

    !operativna( glavna memorija" i podaci koji se trenutno

    koriste ili su bili skoro korieni.

    Oko 7(77798 programa !trenutno se koriste" je u kememoriji.

    :edna instrukcija i nekoliko podataka se nalazi u

    registrima.

    4a svakom memorijskom nivou postoji kompromisizmeu brzine i cene.

    9%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    10/32

    3i,eahi,a .e.oi,e3i,eahi,a .e.oi,e )o$e biti do etiri kopije nekih delova programskog

    koda ili podataka !disk( operativna memorija - *1)(ke memorija( registri C&'".

    #ve kopije moraju da ostanu konzistentne

    !neprotivurene".

    ' optem sluaju svaki put kada se program uita uglavnu memoriju ; *1)( on e biti na razliitim

    memorijskim lokacijama.

    45%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    11/32

    Upavl,an,e .e.oi,o.

    :ato ,e pote;no< &otrebno je organizovati programe i podatke unutar

    memorije.

    4eki programi mogu biti suvie veliki da bi stali unutar

    fizike memorije - *1).

    )o$e biti zahtevano da se vie programa izvrava u

    isto vreme.

    #vakom programu je potreban poseban i kontinualan

    adresni prostor....

    0000

    0102

    0200

    0003

    0104

    00A000A100A200A300A

    400A544%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    12/32

    Upavl,an,e .e.oi,o.

    %od upravljanja memorijomrazlikujemo etii osnovne

    =7nki,e/ voenje evidencije o memoriji !slobodna - zauzeta

    memorija"(

    strategija dodeljivanja memorije !kome( koliko( kada(

    gde"( tehnika( odnosno mehanizam dodeljivanja memorije

    !alokacija memorije"(

    tehnika( odnosno mehanizam oslobaanje( odnosno

    dealokacija memorije !

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    13/32

    Naini 7pavl,an,a .e.oi,o.

    $pra#l,an,e

    memori,om

    Dodela

    memori,e%ontinualna Dis-ontinualna

    Dinami2-o

    Stati2-o Partici,e

    Stranice3

    Segmenti

    Partici,e

    Stranice3

    Segmenti3Stranice i

    segmenti

    4'%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    14/32

    Upavl,an,e .e.oi,o.Upavl,an,e .e.oi,o.

    Vezivanje adresa

    0eljenje memorije

    Organizacija i alokacija memorije

    Virtuelna memorija

    4/%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    15/32

    Po;le. ve>ivan,a a*esa

    >zvorni program !napisan u nekom programskom jeziku"podeljen na fajlove.

    &itanja/; %ako preslikati obraanje promenljivoj aili funkciji =u

    mainski

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    16/32

    Opeativni siste. i Ve>ivan,e

    &ostoji jaka zavisnost izmeu programa za prevoenje

    !compiler-a"( programa za povezivanje !linker-a" iprograma za uitavanje - punjenje !loader-a" kao

    delova sistemskog softvera sa jedne strane i

    operativnog sistema( odnosno njegovog dela za

    upravljanje memorijom( sa druge strane. 4ajvei uticaj na operativni sistem ima peslikavan,e

    adresnog prostora programa u fiziki memorijski

    prostor !*1)".

    ...0000

    0102

    0200

    0003

    0104

    00A000A100A200A300A4

    00A541%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    17/32

    A**ess @in*in

    1ddresses in source

    programs are s@mbolic Compiler binds s@mbolic to

    relocatable addresses Ainkage editorBloader binds

    relocatable addresses toabsolute addresses

    3inding can be done at an@step/

    i.e.( compiler ma@ generate

    absolute code !as for)#-0O# .CO) programs"

    Source

    program

    Compiler or

    assem'ler

    O',ect

    module

    ot+er

    o',ect

    modules

    (in-age

    editor

    (oad

    module

    loader

    System

    li'raries

    In1memory

    'inary

    memory

    image

    dynamically

    loaded

    system

    li'raries

    load

    time

    Compile

    time

    e"ecution

    time

    )run time*izvor/ C0 - )icrosoft tehnologije u

    nastavi i infrastrukturi fakulteta u#rbiji( #inergija 66( 3eograd( 76642%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    18/32

    Peslikavan,a 7Peslikavan,a 7si.;oliko. i =i>iko.si.;oliko. i =i>iko.posto7posto7

    Peslikavan,e i.ena !promenljivih" se odnosi napreslikavanje simbolikih adresa !imena( npr. a" kojeprogramer dodeljuje promenljivima u pojedinim

    naredbama u programu u programsku( relativnu adresu.

    Peslikavan,e a*esa se odnosi na preslikavanjeprogramskih( relativnih adresa u stvarne( fizike

    memorijske adrese

    Peslikavan,a sa*a,a se odnosi na preslikavanjesadr$aja memorijskih adresa u vrednosti !podatke" koje

    one sadr$e. ...0000

    0102

    0200

    0003

    0104

    00A000A100A200A300A

    400A48%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    19/32

    Ve>ivan,eVe>ivan,e

    Sa. in ili *oa?a, peslikavan,a se na>iva ve>ivan,e

    !binding" ; vri se vezivanje instrukcija i podataka sa fizikomadresom u memoriji.

    Da izvravanje programa potrebna je fizika memorija

    !stvarna memorija - *1)". izika memorija je odreena

    preslikavanjem adresnog prostora programa u fizike

    memorijske adrese.

    4a primer( kada se izvri preslikavanje simbolikog imena u

    programsku adresu( ka$emo da je posmatrana simbolika

    adresa vezana za odreenu programsku adresu !da jojjednoznano odgovara ta programska adresa". %ada se

    programska adresa preslika u fiziku memorijsku adresu

    ka$emo da je ona vezana za tu memorijsku !fiziku" adresu.

    49%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    20/32

    Ve.e vVe.e ve>ivan,e>ivan,aaBC;in*inBC;in*inti.eti.eD -D -

    Ve.enski ten7tak ka*a se o*iava ve>ivan,e

    na>iva se ve.e ve>ivan,a !binding time" Vreme vezivanja se odigrava u vreme/

    ; prevoenja !compiler"(

    ; uitavanja programa u memoriju !poveziva ; linker i

    punilac - loader" ili

    ; izvravanja programa !eEecution"

    &5%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    21/32

    A**ess @in*in

    1ddresses in source

    programs are s@mbolic Compiler binds s@mbolic to

    relocatable addresses Ainkage editorBloader binds

    relocatable addresses toabsolute addresses

    3inding can be done at an@step/

    i.e.( compiler ma@ generate

    absolute code !as for)#-0O# .CO) programs"

    Source

    program

    Compiler or

    assem'ler

    O',ect

    module

    ot+er

    o',ect

    modules

    (in-age

    editor

    (oad

    module

    loader

    System

    li'raries

    In1memory

    'inary

    memory

    image

    dynamically

    loaded

    system

    li'raries

    load

    time

    Compile

    time

    e"ecution

    time

    )run time*izvor/ C0 - )icrosoft tehnologije u

    nastavi i infrastrukturi fakulteta u#rbiji( #inergija 66( 3eograd( 766&4%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    22/32

    Ve.e vVe.e ve>ivan,e - nastavake>ivan,e - nastavak

    Ve.e pevo?en,a - ako je adresa fizike memorijepoznata unapred( mo$e se generisati fizika adresa. Fo

    znai da ako se poetna adresa izvravanja programa

    promeni( program se mora ponovo prevesti.

    Ve.e 7itavan,a Bp7n,en,a - ako fizika adresa nije

    poznata u vreme prevoenja( tada prevodilac ili asemblermoraju da generiu relokatibilnu adresu. &rogram za

    punjenje !punilac ; loader" transformie relokatibilnu

    adresu na osnovu poetne adrese punjenja.

    Ve.e i>vavan,a - vezivanje adresa se odla$e dovremena izvravanja. Fo omoguava da se programskikod premeta iz jednog dela memorije u neki drugi deo za

    vreme izvravanja. Ovaj nain zahteva hardversku

    podrku.

    &&%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    23/32

    Naini 7pavl,an,a .e.oi,o.

    $pra#l,an,ememori,om

    Dodela

    memori,e%ontinualna Dis-ontinualna

    Dinami2-o

    Stati2-o Partici,e

    Stranice3

    Segmenti

    Partici,e

    Stranice3

    Segmenti3Stranice i

    segmenti

    &'%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    24/32

    StatikoStatiko ve>ivan,eve>ivan,e Ainearan adresni prostor programa se translacijom

    preslikava u odgovarajui linearan memorijski prostor/ aG Hp I a

    gde je/a - programska adresa !relativna( npr. JKJ"(p - poetna adresa programa u memoriji !relokacioni

    registar( npr. 6777" iaG- memorijska adresa !fizika adresa(primer 6JKJHJKJI6777".

    ' optem sluaju preslikavanje adresa mo$e bitirealizovano na razliite naine pa se mo$e predstaviti

    funkcijom/ aG H f !a" pri emu implementaciju funkcije fobavlja operativni sistemF

    &roces je zauzeo fiksni adresni prostor i sve vreme ostajeu memoriji !*1)" ; statiko ponaanje

    &/%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    25/32

    Naini 7pavl,an,a .e.oi,o.

    $pra#l,an,ememori,om

    Dodela

    memori,e%ontinualna Dis-ontinualna

    Dinami2-o

    Stati2-o Partici,e

    Stranice3

    Segmenti

    Partici,e

    Stranice3

    Segmenti3Stranice i

    segmenti

    &0%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    26/32

    "ina.iko peslikavan,e a*esa"ina.iko peslikavan,e a*esa 1ko O# omoguava postojanje vie procesa u memoriji

    u jednom trenutku i izbacivanje nekih procesa ili delovaprocesa i ubacivanje drugih( onda statiko vezivanjeadresa u vreme uitavanja !punjenja" nije dovoljno

    &otrebno je da proces bude relokatibilan/ da mo$e uvreme izvravanja programa( promeniti lokacija procesa

    !programa i njegovih podataka" na drugo mesto uoperativnoj memoriji !O)"( a da to ni na koji nain neutie na program i njegovo adresiranje podataka!pomou pokazivaa" ; dinamiko ponaanje

    Dato je potrebno da proces !program u stanju izvrenja"

    poseduje logiki !virtuelni" adresni prostor( tako daproces !program ..." mo$e da adresirasve adrese u opsegu 7 do )aE.

    &roces ; logina !virtuelna" adresa&rogram;programska !ralativna" adresa

    !viditi slajd 6L"

    0000

    0102

    0200

    00030104

    00A100A200A

    300A400A&1%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    27/32

    "ina.iko peslikavan,e a*esa"ina.iko peslikavan,e a*esa

    Aogike adrese se preslikavaju u fizike adrese koje se

    upuuju memorijskim modulima ; *1) !00*( 00*M" &reslikavanje logikih u fizike adrese obavlja se

    dinamiki( u vreme izvravanja. Ovo preslikavanje vrihardver ; ))' !)emor@ )anagement 'nit ; jedinica zaupravljanje memorijom"

    Ovo preslikavanja vri se uvek i za svaku logiku adresu; proces

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    28/32

    "i,aa. stan,a poesa - po*se+an,e"i,aa. stan,a poesa - po*se+an,e

    #F1*F ; nastanak( formiranje procesa *N10 ; proces ima sve resurse( eka na procesor *'4 ; procesor izvrava proces +1>F ; proces eka na resurs !tampa( tastatura( mi(

    neki drugi proces ..." #FO& ; kraj procesa

    #F1*F *N10

    *'4

    +1>F

    #FO&

    &8%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    29/32

    "ina.iko peslikavan,e a*esa"ina.iko peslikavan,e a*esa 4ajjednostavnija tehnika dinamikog preslikavanja adresa/

    bazni registar za relokaciju !base relocation register"/

    4

    5adu6en,a OS1a7

    4

    (oader )punilac* tre'a da defini8e #rednost

    relo-acionog registra na osno#u mesta u2ita#an,aprocesa u memori,i i smesti tu #rednost u PC9

    4

    prili-om s#a-e promene -onte-sta3 OS tre'a da

    upi8e #rednost i: PC9 u relo-acioni registar

    4

    Slo6eni,e te+ni-e dinami2-og presli-a#an,a7 strani2na3

    segmentna i strani2no1segmentna organi:aci,a

    Vi-telnaA*-esa

    CPU

    Relocation Reg

    MMU

    +

    17 1A22000

    0

    1A22001

    7

    OM

    &9%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    30/32

    I.ple.entai,a poesa - po*se+an,eI.ple.entai,a poesa - po*se+an,e

    #truktura podataka u kojoj se uvaju

    informacije za svaki poces unutar O# ;Process Control Block !&C3" i sadr$i/; >0 ; jedinstveni identifikator procesa unutar

    O#; kontekst procesora !process context"/ sve

    informacije potrebne da O# nastaviizvravanje procesa( kao i da ga kontrolie iugasi

    ; memorijski parametri/ veliina i pozicijadodeljenog memorijskog bloka

    ; informacije o >BO resursima/ spisakotvorenih fajlova( zauzetih resursa itd.

    ; podaci potrebni za rasporeivanje/ prioritet(dodeljeno C&' vreme( itd.

    ; podaci potrebni za obraunavanje

    ; ...

    ID

    Proceorconte!t

    "e#or$

    %ara#

    I&' in(o

    )c*e,ling%ara#

    PCB

    Acco,nting%ara#

    ...

    '5%'&

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    31/32

    2 GB2 GB

    UserUser

    processprocess

    spacespace

    2 GB2 GB

    UserUserprocessprocess

    spacespace

    2 GB2 GB

    SystemSystem

    SpaceSpace

    2 GB2 GB

    SystemSystem

    SpaceSpace

    '&-;it G81 A**ess Spae

    3 GB3 GB

    UserUser

    processprocess

    spacespace

    3 GB3 GB

    UserUser

    processprocess

    spacespace

    1 GB1 GB

    System SpaceSystem Space

    1 GB1 GB

    System SpaceSystem Space

    Default

    G9 user space

    M-bits H P Q3

    izvor/ C0 - )icrosoft tehnologije unastavi i infrastrukturi fakulteta u#rbiji( #inergija 66( 3eograd( 766

    '4%'&

    1/ ;it A** S

  • 7/26/2019 07 - OS-Upravljanje Memorijom

    32/32

    8192 GB8192 GB

    (8 TB)(8 TB)

    UserUser

    processprocess

    spacespace

    8192 GB8192 GB

    (8 TB)(8 TB)UserUser

    processprocess

    spacespace

    6657 GB6657 GB

    SystemSystem

    SpaceSpace

    6657 GB6657 GB

    SystemSystem

    SpaceSpace

    1/-;it A**ess Spaes

    7152 GB7152 GB(7 TB)(7 TB)

    UserUser

    processprocess

    spacespace

    7152 GB7152 GB

    (7 TB)(7 TB)

    UserUser

    processprocess

    spacespace

    6144 GB6144 GB

    SystemSystem

    SpaceSpace

    6144 GB6144 GB

    SystemSystem

    SpaceSpace

    ";1-JP toda@ support 97 bits virtual H 6(7PL(9RJ Q3

    izvor/ C0 - )icrosoft tehnologije unastavi i infrastrukturi fakulteta u'&%'&