chuong07 memory management

65
Khoa KTMT 1 Chöông 7. Quaûn lyù boä nhôù Khaùi nieäm cô sôû Caùc kieåu ñòa chæ nhôù (physical address , logical address) Chuyeån ñoåi ñòa chæ nhôù Overlay vaø swapping Moâ hình quaûn lyù boä nhôù ñôn giaûn Fixed partitioning Dynamic partitioning Cô cheá phaân trang (paging) Cô cheá phaân ñoaïn (segmentation) Segmentation with paging

Upload: le-huu-tai

Post on 17-Dec-2015

13 views

Category:

Documents


7 download

DESCRIPTION

Quản lý bộ nhớ

TRANSCRIPT

  • Khoa KTMT 1

    Chng 7. Quan ly bo nh

    Khai niem c s

    Cac kieu a ch nh (physical address , logical

    address)

    Chuyen oi a ch nh

    Overlay va swapping

    Mo hnh quan ly bo nh n gian

    Fixed partitioning

    Dynamic partitioning

    C che phan trang (paging)

    C che phan oan (segmentation)

    Segmentation with paging

  • Khoa KTMT 2

    Khai niem c s

    Chng trnh phai c mang vao trong bo nh va at

    no trong mot tien trnh e c x ly

    Input Queue Mot tap hp cua nhng tien trnh tren a ma ang ch e c mang vao trong bo nh e thc

    thi.

    User programs trai qua nhieu bc trc khi c x ly.

  • Khoa KTMT 3

    Khai niem c s

    Quan ly bo nh la cong viec cua he ieu hanh vi s ho

    tr cua phan cng nham phan phoi, sap xep cac process

    trong bo nh sao cho hieu qua.

    Muc tieu can at c la nap cang nhieu process vao bo

    nh cang tot (gia tang mc o a chng)

    Trong hau het cac he thong, kernel se chiem mot phan co

    nh cua bo nh; phan con lai phan phoi cho cac process.

    Cac yeu cau oi vi viec quan ly bo nh

    Cap phat bo nh cho cac process

    Tai nh v (relocation): khi swapping,

    Bao ve: phai kiem tra truy xuat bo nh co hp le khong

    Chia se: cho phep cac process chia se vung nh chung

    Ket gan a ch nh luan ly cua user vao a ch thc

  • Khoa KTMT 4

    Cac kieu a ch nh

    a ch vat ly (physical address) (a ch thc) la mot v

    tr thc trong bo nh chnh.

    a ch luan ly (logical address) la mot v tr nh c

    dien ta trong mot chng trnh ( con goi la a ch ao

    virtual address)

    Cac trnh bien dch (compiler) tao ra ma lenh chng trnh ma trong o moi tham chieu bo nh eu la a ch luan ly

    a ch tng oi (relative address) (a ch kha tai nh v, relocatable address) la mot kieu a ch luan ly trong o cac a

    ch c bieu dien tng oi so vi mot v tr xac nh nao o

    trong chng trnh.

    V du: 12 byte so vi v tr bat au chng trnh,

    a ch tuyet oi (absolute address): a ch tng ng vi a ch thc.

  • Khoa KTMT 5

    Nap chng trnh vao bo nh

    Bo linker: ket hp cac object module thanh mot file nh

    phan kha thc thi goi la load module.

    Bo loader: nap load module vao bo nh chnh

    System

    library

    System

    library

    static linking

    dynamic linking

  • Khoa KTMT 6

    C che thc hien linking

    Module A

    CALL B

    Return

    length L

    Module B

    CALL C

    Return

    length M

    Module C

    Return

    length N

    0

    L 1

    Module A

    JMP L

    Return

    Module B

    JMP L+M

    Return

    Module C

    Return

    L

    L M 1

    L M

    L M N 1

    relocatable

    object modules

    load module

    0

    L 1

    0

    M 1

    0

    N 1

  • Khoa KTMT 7

    Chuyen oi a ch

    Chuyen oi a ch: qua trnh anh xa mot a ch t khong

    gian a ch nay sang khong gian a ch khac.

    Bieu dien a ch nh

    Trong source code: symbolic (cac bien, hang, pointer,)

    Thi iem bien dch: thng la a ch kha tai nh v

    V du: a v tr 14 bytes so vi v tr bat au cua module.

    Thi iem linking/loading: co the la a ch thc. V du: d lieu nam tai a ch bo nh thc 2030

    0

    250

    2000

    2250

    relocatable addressphysical memory

    symbolic address

    int i;goto p1;

    p1

  • Khoa KTMT 8

    Chuyen oi a ch (tt)

    a ch lenh (instruction) va d lieu (data) c chuyen oi

    thanh a ch thc co the xay ra tai ba thi iem khac nhau

    Compile time: neu biet trc a ch bo nh cua chng trnh th

    co the ket gan a ch tuyet oi luc bien dch.

    V du: chng trnh .COM cua MS-DOS

    Khuyet iem: phai bien dch lai neu thay oi a ch nap chng trnh

    Load time: Vao thi iem loading, loader phai chuyen oi a ch

    kha tai nh v thanh a ch thc da tren mot a ch nen (base

    address).

    a ch thc c tnh toan vao thi iem nap chng trnh phai

    tien hanh reload neu a ch nen thay oi.

  • Khoa KTMT 9

    Sinh a ch tuyet oi vao thi iem dch

    Symbolic

    addresses

    PROGRAM

    JUMP i

    LOAD j

    DATA

    i

    j

    Source code

    Absolute

    addresses

    1024

    JUMP 1424

    LOAD 2224

    1424

    2224

    Absolute load module

    Compile Link/Load

    Physical memory

    addresses

    1024

    JUMP 1424

    LOAD 2224

    1424

    2224

    Process image

  • Khoa KTMT 10

    Sinh a ch thc vao thi iem nap

    Relative

    (relocatable)

    addresses

    0

    JUMP 400

    LOAD 1200

    400

    1200

    Relative

    load module

    Symbolic

    addresses

    PROGRAM

    JUMP i

    LOAD j

    DATA

    i

    j

    Source code

    Compile Link/Load

    Physical memory

    addresses

    1024

    JUMP 1424

    LOAD 2224

    1424

    2224

    Process image

  • Khoa KTMT 11

    Chuyen oi a ch (tt)

    Execution time: khi trong qua trnh

    thc thi, process co the c di

    chuyen t segment nay sang

    segment khac trong bo nh th qua

    trnh chuyen oi a ch c tr

    hoan en thi iem thc thi

    Can s ho tr cua phan cng cho viec anh xa a ch.

    V du: trng hp a ch luan ly la relocatable th co the dung

    thanh ghi base va limit,

    S dung trong a so cac OS a dung (general-purpose) trong o

    co cac c che swapping, paging,

    segmentation

    Relative (relocatable)

    addresses

    0

    JUMP 400

    LOAD 1200

    400

    1200

    MAX = 2000

  • Khoa KTMT 12

    Khong gian a ch

    a ch c tao bi CPU a ch logic (logical address). Tap hp a ch logic goi la khong gian a ch logic

    a ch nap vao MAR a ch vat ly (physical address). Tap hp a ch vat ly goi la khong gian a ch vat ly

    compile-time and load-time:

    a ch Logical va physical la xac nh

    Tai thi iem thc thi:

    a ch logic khac vat ly, thng goi la a ch ao

    Viec anh xa gia hai a ch c thc thi bi Memory Management

    Unit (MMU)

  • Khoa KTMT 13

    MMU

    Tai nh v s dung relocation register

    memoryCPU

    relocation

    register

    +logical

    address

    642

    physical

    address

    7642

    7000

  • Khoa KTMT 14

    Lien ket ong(Dynamic linking)

    Qua trnh link en mot module ngoai (external module)

    c thc hien sau khi a tao xong load module (i.e. file

    co the thc thi, executable)

    V du trong Windows: module ngoai la cac file .DLL con trong Unix, cac module ngoai la cac file .so (shared library)

    Load module cha cac stub tham chieu (refer) en

    routine cua external module.

    Luc thc thi, khi stub c thc thi lan au (do process goi routine lan au), stub nap routine vao bo nh, t thay the bang

    a ch cua routine va routine c thc thi.

    Cac lan goi routine sau se xay ra bnh thng

    Stub can s ho tr cua OS (nh kiem tra xem routine a

    c nap vao bo nh cha).

  • Khoa KTMT 15

    u iem cua dynamic linking

    Thong thng, external module la mot th vien cung cap

    cac tien ch cua OS. Cac chng trnh thc thi co the

    dung cac phien ban khac nhau cua external module ma

    khong can sa oi, bien dch lai.

    Chia se ma (code sharing): mot external module ch can

    nap vao bo nh mot lan. Cac process can dung external

    module nay th cung chia se oan ma cua external

    module tiet kiem khong gian nh va a.

    Phng phap dynamic linking can s ho tr cua OS

    trong viec kiem tra xem mot thu tuc nao o co the c

    chia se gia cac process hay la phan ma cua rieng mot

    process (bi v ch co OS mi co quyen thc hien viec

    kiem tra nay).

  • Khoa KTMT 16

    Nap ong(Dynamic loading)

    C che: ch khi nao can c goi en th mot thu tuc mi

    c nap vao bo nh chnh tang o hieu dung cua bo

    nh (memory utilization) bi v cac thu tuc khong c

    goi en se khong chiem cho trong bo nh

    Rat hieu qua trong trng hp ton tai khoi lng ln ma

    chng trnh co tan suat s dung thap, khong c s

    dung thng xuyen (v du cac thu tuc x ly loi)

    Ho tr t he ieu hanh

    Thong thng, user chu trach nhiem thiet ke va hien thc cac chng trnh co dynamic loading.

    He ieu hanh chu yeu cung cap mot so thu tuc, th vien ho tr, tao ieu kien de dang hn cho lap trnh vien.

  • Khoa KTMT 17

    C che phu lap (overlay)

    Tai moi thi iem, ch gi lai trong bo nh nhng

    lenh hoac d lieu can thiet, giai phong cac

    lenh/d lieu cha hoac khong can dung en.

    C che nay rat hu dung khi kch thc mot

    process ln hn khong gian bo nh cap cho

    process o.

    C che nay c ieu khien bi ngi s dung

    (thong qua s ho tr cua cac th vien lap trnh)

    ch khong can s ho tr cua he ieu hanh

  • Khoa KTMT 18

    Pass 1 70K

    Pass 2 80K

    Symbol table 20K

    Common routines 30K

    Assembler

    Total memory

    available = 150KB

    C che overlay (tt)

    symbol

    table20K

    common

    routines30K

    overlay

    driver10K

    pass 1 pass 2

    80K70K

    n v: byte

    nap va thc thi

  • Khoa KTMT 19

    C che hoan v (swapping)

    Mot process co the tam thi b swap ra khoi bo nh

    chnh va lu tren mot he thong lu tr phu. Sau o,

    process co the c nap lai vao bo nh e tiep tuc qua

    trnh thc thi.

    Swapping policy: hai v du

    Round-robin: swap out P1

    (va tieu thu het quantum cua no),

    swap in P2 , thc thi P

    3,

    Roll out, roll in: dung trong c che nh thi theo o u tien (priority-based scheduling)

    Process co o u tien thap hn se b swap out nhng cho cho process co o u tien cao hn mi en c nap vao bo

    nh e thc thi

    Hien nay, t he thong s dung c che swapping tren

  • Khoa KTMT 20

    Minh hoa c che swapping

  • Khoa KTMT 21

    Mo hnh quan ly bo nh

    Trong chng nay, mo hnh quan ly bo nh la mot mo

    hnh n gian, khong co bo nh ao.

    Mot process phai c nap hoan toan vao bo nh th

    mi c thc thi (ngoai tr khi s dung c che overlay).

    Cac c che quan ly bo nh sau ay rat t (hau nh

    khong con) c dung trong cac he thong hien ai

    Phan chia co nh (fixed partitioning)

    Phan chia ong (dynamic partitioning)

    Phan trang n gian (simple paging)

    Phan oan n gian (simple segmentation)

  • Khoa KTMT 22

    Phan manh (fragmentation)

    Phan manh ngoai (external fragmentation)

    Kch thc khong gian nh con trong u e thoa man mot yeu cau cap phat, tuy nhien khong gian nh nay khong

    lien tuc co the dung c che ket khoi (compaction) e gom lai thanh vung nh lien tuc.

    Phan manh noi (internal fragmentation)

    Kch thc vung nh c cap phat co the hi ln hn vung nh yeu cau.

    V du: cap mot khoang trong 18,464 bytes cho mot process yeu cau 18,462 bytes.

    Hien tng phan manh noi thng xay ra khi bo nh thc c chia thanh cac khoi kch thc co nh (fixed-sized

    block) va cac process c cap phat theo n v khoi. V

    du: c che phan trang (paging).

  • Khoa KTMT 23

    Phan manh noi

    operating

    system

    (used)

    yeu cau ke tiep la

    18,462 bytes !!!

    hole kch thc

    18,464 bytescan quan ly khoang

    trong 2 bytes !?!

    OS se cap phat han khoi 18,464 bytes

    cho process d ra 2 bytes khong dung!

  • Khoa KTMT 24

    Fixed partitioning

    Khi khi ong he thong, bo nh chnh

    c chia thanh nhieu phan ri nhau

    goi la cac partition co kch thc bang

    nhau hoac khac nhau

    Process nao co kch thc nho hn

    hoac bang kch thc partition th co

    the c nap vao partition o.

    Neu chng trnh co kch thc ln

    hn partition th phai dung c che

    overlay.

    Nhan xet

    Khong hieu qua do b phan manh noi: mot chng trnh du ln hay nho eu

    c cap phat tron mot partition.

  • Khoa KTMT 25

    Chien lc placement (tt)

    Partition co kch thc bang nhau

    Neu con partition trong process mi se c nap vao partition o

    Neu khong con partition trong, nhng trong o co process ang b

    blocked swap process o ra bo

    nh phu nhng cho cho process

    mi.

    Partition co kch thc khong bang

    nhau: giai phap 1

    Gan moi process vao partition nho nhat phu hp vi no

    Co hang i cho moi partition

    Giam thieu phan manh noi

    Van e: co the co mot so hang i trong khong (v khong co process

    vi kch thc tng ng) va hang

    i day ac

  • Khoa KTMT 26

    Chien lc placement (tt)

    Partition co kch thc khong

    bang nhau: giai phap 2

    Ch co mot hang i chung cho moi partition

    Khi can nap mot process vao bo nh chnh chon partition

    nho nhat con trong

  • Khoa KTMT 27

    Dynamic partitioning

    So lng partition khong co nh va partition co the co

    kch thc khac nhau

    Moi process c cap phat chnh xac dung lng bo nh

    can thiet

    Gay ra hien tng phan manh ngoai

  • Khoa KTMT 28

    Chien lc placement

    Dung e quyet nh cap phat

    khoi bo nh trong nao cho

    mot process

    Muc tieu: giam chi ph

    compaction

    Cac chien lc placement

    Best-fit: chon khoi nh trong nho nhat

    First-fit: chon khoi nh trong phu hp au tien ke t au

    bo nh

    Next-fit: chon khoi nh trong phu hp au tien ke t v tr

    cap phat cuoi cung

    Worst-fit: chon khoi nh trong ln nhat

  • Bi Tp

    Gi s b nh chnh c phn thnh cc phn vng c kch

    thc l 600K, 500K, 200K, 300K ( theo th t ), cho bit cc tin

    trnh c kch thc 212K, 417K, 112K v 426K ( theo th t ) s

    c cp pht b nh nh th no, nu s dng :

    a) Thut ton First fit

    b) Thut ton Best fit

    c) Thut ton Worst fit

    d) Thut ton Next fit

    Thut ton no cho php s dng b nh hiu qa nht trong trng

    hp trn ?

    Khoa KTMT 29

  • Khoa KTMT 30

    Cap phat khong lien tuc

    1.C che phan trang (paging)

    Bo nh vat ly khung trang (frame). Kch thc cua frame la luy tha cua 2, t khoang 512 byte en

    16MB.

    Bo nh luan ly (logical memory) hay khong gian a ch

    luan ly la tap moi a ch luan ly ma mot chng trnh

    bat ky co the sinh ra page. V du

    MOV REG,1000 //1000 la mot a ch luan ly

    Bang phan trang (page table) e anh xa a ch luan ly

    thanh a ch thc

  • Khoa KTMT 31

    1.C che phan trang (tt)

    logical memory

    1

    4

    3

    5

    0

    1

    2

    3

    page table

    page 0

    page 2

    physical memory

    framenumber

    0

    1

    2

    3

    page 14

    5 page 3

    pagenumber

    0

    1

    2

    3

  • Khoa KTMT 32

    1.C che phan trang (tt)

    A) Chuyen oi a ch trong paging

    a ch luan ly gom co:

    So hieu trang (Page number) p

    a ch tng oi trong trang (Page offset) d

    Neu kch thc cua khong gian a ch luan ly la 2m, va kch

    thc cua trang la 2n

    (n v la byte hay word tuy theo kien truc

    may) th

    Bang phan trang se co tong cong 2m/2

    n= 2

    m nmuc (entry)

    p d

    page number page offset

    m n bits

    (nh v t 0 2m n 1)

    n bits

    (nh v t 0 2n 1)

  • Khoa KTMT 33

    1.C che phan trang (tt)

    CPU p d f d

    f

    p

    page table

    logical

    address

    physical

    address

    physical

    memory

    f 0000

    f 1111

    f framesA) Chuyen oi a ch trong paging

  • Khoa KTMT 34

    1.C che phan trang (tt)

    V du: Chuyen oi a ch nh trong paging

  • V d

    Xt mt khng gian a ch c 8 trang, mi

    trang c kch thc 1KB. nh x vo b nh

    vt l c 32 khung trang

    a) a ch logic gm bao nhiu bit ?

    b) a ch physic gm bao nhiu bit ?

    c) Bng trang c bao nhiu mc?Mi mc

    trong bng trang cn bao nhiu bit?

    Khoa KTMT 35

  • Khoa KTMT 36

    1.C che phan trang (tt)

    Trc khi va sau khi cap phat cho Process mi

  • Khoa KTMT 37

    B) Cai at bang trang (Paging hardware)

    Bang phan trang thng c lu gi trong bo nh chnh

    Moi process c he ieu hanh cap mot bang phan trang

    Thanh ghi page-table base (PTBR) tro en bang phan trang

    Thanh ghi page-table length (PTLR) bieu th kch thc cua bang phan trang (co the c dung trong c che bao ve bo nh)

    Thng dung mot bo phan cache phan cng co toc o

    truy xuat va tm kiem cao, goi la thanh ghi ket hp

    (associative register) hoac translation look-aside buffers

    (TLBs)

  • Khoa KTMT 38

    B) Cai at bang trang (Paging hardware)

    Dung thanh ghi Page-Table Base Register (PTBR)

    p

  • Khoa KTMT 39

    Paging hardware vi TLB

  • Khoa KTMT 40

    C) Effective access time (EAT)

    Tnh thi gian truy xuat hieu dung (effective access time,

    EAT)

    Thi gian tm kiem trong TLB (associative lookup):

    Thi gian mot chu ky truy xuat bo nh: x

    Hit ratio: t so gia so lan ch so trang c tm thay (hit)

    trong TLB va so lan truy xuat khi nguon t CPU

    K hieu hit ratio:

    Thi gian can thiet e co c ch so frame

    Khi ch so trang co trong TLB (hit) + x

    Khi ch so trang khong co trong TLB (miss) + x + x

    Thi gian truy xuat hieu dung

    EAT = ( + x) + ( + 2x)(1 )

    = (2 )x +

  • Khoa KTMT 41

    C) Effective access time (EAT)

    V du 1: n v thi gian

    nano giay

    Associative lookup = 20

    Memory access = 100

    Hit ratio = 0.8

    EAT = (100 + 20) 0.8 +

    (200 + 20) 0.2

    = 1.2 100 + 20

    = 140

    V du 2

    Associative lookup = 20

    Memory access = 100

    Hit ratio = 0.98

    EAT = (100 + 20) 0.98 +

    (200 + 20) 0.02

    = 1.02 100 + 20

    = 122

  • V d

    Xt mt h thng s dng k thut phn trang, vi

    bng trang c lu tr trong b nh chnh.

    a) Nu thi gian cho mt ln truy xut b nh bnh

    thng l 200nanoseconds, th mt bao nhiu thi

    gian cho mt thao tc truy xut b nh trong h

    thng ny ?

    b) Nu s dng TLBs vi hit-ratio ( t l tm thy)

    l 75%, thi gian tm trong TLBs xem nh bng

    0, tnh thi gian truy xut b nh trong h thng (

    effective memory reference time)

    Khoa KTMT 42

  • Khoa KTMT 43

    D) To chc bang trang - Phan trang a cap

    Cac he thong hien ai eu ho tr khong gian a ch ao

    rat ln (232

    en 264

    ), ay gia s la 232

    Gia s kch thc trang nh la 4KB (= 212)

    bang phan trang se co 232/212 = 220 = 1M muc.

    Gia s moi muc gom 4 byte th moi process can 4MB cho bang

    phan trang

    VD: Phan trang hai cap

    P2 d

    So trang o di trang

    P1

    10 bit 10 bit 12

  • Phn trang a cp (tt)

    Khoa KTMT 44

  • Khoa KTMT 45

    D) To chc bang trang

    Phan trang a cap

  • Khoa KTMT 46

    D) To chc bang trang

    Bang trang nghch ao: s dung cho tat ca cac Process

    i

  • Khoa KTMT 47

    E) Bao ve bo nh

    Viec bao ve bo nh c hien thc bang cach gan vi

    frame cac bit bao ve (protection bits) c gi trong

    bang phan trang. Cac bit nay bieu th cac thuoc tnh sau

    read-only, read-write, execute-only

    Ngoai ra, con co mot valid/invalid bit gan vi moi muc

    trong bang phan trang

    valid: cho biet la trang cua process, do o la mot trang hp le.

    invalid: cho biet la trang khong cua process, do o la mot trang

    bat hp le.

  • Khoa KTMT 48

    Bao ve bang valid/invalid bit

    Moi trang nh co kch thc 2K = 2048

    Process co kch thc 10,468 phan manh noi frame 9 (cha page 5), cac a ch ao > 12287 la cac a ch invalid.

    Dung PTLR e kiem tra truy xuat en bang phan trang co nam trong bang hay khong.

    00000

    10468

    12287

    2 v

    3 v

    4 v

    7 v

    8 v

    9 v

    0 i

    0 i

    frame

    number

    valid/

    invalid bit

    0

    1

    2

    3

    4

    5

    6

    7

    0

    1

    2 page 0

    3 page 1

    4 page 2

    5

    6

    7 page 3

    8 page 4

    9 page 5

    ...

    page n

    16383

    14 bit

  • Khoa KTMT 49

    F) Chia se cac trang nh

    Process 1

    ed 1

    ed 2

    ed 3

    data 1

    ed 1

    ed 2

    ed 2

    data 3

    Process 3

    3

    4

    6

    2

    0

    1

    2

    3

    3

    4

    6

    1

    0

    1

    2

    3

    Process 2

    ed 1

    ed 2

    ed 3

    data 2

    3

    4

    6

    7

    0

    1

    2

    3

    0

    1 data 1

    2 data 3

    3 ed 1

    4 ed 2

    5

    6 ed 3

    7 data 2

    8

    9

    10

    Bo nh thc

  • Khoa KTMT 50

    2.Phan oan (segmentation)

    Nhn lai c che phan trang

    user view (khong gian a ch ao) tach biet vi khong gian bo nh thc. C che phan trang thc hien phep anh xa user-view

    vao bo nh thc.

    Trong thc te, di goc nhn cua user, mot chng trnh

    cau thanh t nhieu oan (segment). Moi oan la mot n

    v luan ly cua chng trnh, nh

    main program, procedure, function

    local variables, global variables, common block, stack, symbol table, arrays,

  • Khoa KTMT 51

    User view cua mot chng trnh

    Thong thng, mot chng trnh

    c bien dch. Trnh bien dch

    se t ong xay dng cac

    segment.

    V du, trnh bien dch Pascal se

    tao ra cac segment sau:

    Global variables

    Procedure call stack

    Procedure/function code

    Local variable

    Trnh loader se gan moi

    segment mot so nh danh

    rieng.

    procedurestack

    symbol

    table

    function

    sqrt

    main program

    Logical address space

  • Khoa KTMT 52

    Phan oan

    Dung c che phan oan e quan ly bo nh co ho tr

    user view

    Khong gian a ch ao la mot tap cac oan, moi oan co ten va kch thc rieng.

    Mot a ch luan ly c nh v bang ten oan va o di (offset) ben trong oan o (so sanh vi phan trang!)

  • Khoa KTMT 53

    Phan oan (tt)

    logical address space physical memory space

    segment 1

    segment 2

    segment 3 segment 4

  • Khoa KTMT 54

    Cai at phan oan

    a ch luan ly la mot cap gia tr

    (segment number, offset)

    Bang phan oan (segment table): gom nhieu muc, moi

    muc cha

    base, cha a ch khi au cua segment trong bo nh

    limit, xac nh kch thc cua segment

    Segment-table base register (STBR): tro en v tr bang

    phan oan trong bo nh

    Segment-table length register (STLR): so lng segment

    cua chng trnh

    Mot ch so segment s la hp le neu s < STLR

  • Khoa KTMT 55

    Mot v du ve phan oan

    procedure

    stack

    symbol

    table

    function

    sqrt

    main program

    segment 0

    segment 3

    segment 1segment 2

    segment 4

    procedure

    stack

    main

    symbol table

    function sqrt

    limit base

    0 1000 1400

    1 400 6300

    2 400 4300

    3 1100 3200

    4 1000 4700

    segment

    table

    logical address spacephysical memory space

    1400

    2400

    3200

    4300

    4700

    5700

    6300

  • Khoa KTMT 56

    Phan cng ho tr phan oan

    CPU

    +physical

    memory

    no

    trap; addressing error

    limit base

    s

    s d

    yes

    segment

    table

  • Khoa KTMT 57

    Chuyen oi a ch trong c che phan oan

    V du

  • Khoa KTMT 58

    Chia se cac oan

    editordata 1

    segment 0segment 1

    logical address space

    process P1

    editordata 2

    segment 0segment 1

    logical address space

    process P2

    limit base

    0 25286 43062

    1 4425 68348

    segment table

    process P1

    limit base

    0 25286 43062

    1 8850 90003

    segment table

    process P2

    editor

    data 1

    data 2

    physical memory

    43062

    72773

    68348

    90003

    98853

  • Khoa KTMT 59

    3.Ket hp phan trang va phan oan

    Ket hp phan trang va phan oan nham ket hp cac u

    iem ong thi han che cac khuyet iem cua phan

    trang va phan oan:

    Van e cua phan oan: Neu mot oan qua ln th co the khong nap no c vao bo nh.

    Y tng giai quyet: paging oan, khi o ch can gi trong bo nh cac page cua oan hien ang can.

    Logic Addr =

  • Khoa KTMT 60

    3.Ket hp phan trang va phan oan

  • Khoa KTMT 61

    3.Ket hp phan trang va phan oan

  • Bi Tp

    Xt mt khng gian c b nh lun l kch thc

    1 trang l 1KB. Tnh s trang v di (offset)

    ca tng a ch sau:

    a) 2.375

    b) 19.366

    c) 30.000

    d) 256

    e) 16.385

    Khoa KTMT 62

  • Bi Tp

    Xt mt khng gian c b nh lun l c 64

    trang, mi trang c 1024 t, mi t l 2 byte c

    nh x vo b nh vt l c 32 trang:

    a) a ch b nh vt l c bao nhiu bit?

    b) a ch b nh lun l c bao nhiu bit?

    c) C bao nhiu mc trong bng phn trang? Mi

    mc cha bao nhiu bit?

    Khoa KTMT 63

  • Bi tp

    Xt mt h thng s dng k thut phn trang, vi

    bng trang c lu tr trong b nh chnh.

    a) Nu thi gian cho mt ln truy xut b nh bnh

    thng l 100 nanoseconds, th mt bao nhiu thi

    gian cho mt thao tc truy xut b nh trong h

    thng ny ?

    b) Nu s dng TLBs vi hit-ratio ( t l tm thy)

    l 85%, thi gian tm trong TLBs l 20

    nanosecond, tnh thi gian truy xut b nh trong

    h thng ( effective memory reference time)

    Khoa KTMT 64

  • Bi tp

    Xt bng phn on sau y :

    Cho bit a ch vt l tng ng vi cc a ch logic sau

    y :

    a. 0,430 b. 1,100 c. 2,500 d. 3,400 e. 4,112

    Khoa KTMT 65

    Segment Base Length

    0 219 600

    1 2300 14

    2 90 100

    3 1327 580

    4 1952 96