30
Chöông 8 Boä Nhôù AÛo

Chuong08 - VirtualMemory

Embed Size (px)

DESCRIPTION

- Tổng quan về bộ nhớ ảo- Cài đặt bộ nhớ ảo: demand paging- Cài đặt bộ nhớ ảo: page replacement+ các giải thuật thay trang- Vấn đề cấp phát Frames- Vấn đề Thrashing- Cài đăt bộ nhớ ảo: Demand Segmentation

Citation preview

  • Chng 8

    Bo Nh Ao

  • Khoa KTMT 2

    Noi dung trnh bay

    Tong quan ve bo nh ao

    Cai at bo nh ao : demand paging

    Cai at bo nh ao : Page Replacement

    Cac giai thuat thay trang (Page Replacement Algorithms)

    Van e cap phat Frames

    Van e Thrashing

    Cai at bo bo nh ao : Demand Segmentation

  • Khoa KTMT 3

    1. Tong quan bo nh ao

    Nhan xet: khong phai tat ca cac phan cua mot process

    can thiet phai c nap vao bo nh chnh tai cung mot

    thi iem

    V du

    oan ma ieu khien cac loi hiem khi xay ra

    Cac arrays, list, tables c cap phat bo nh (cap phat tnh)

    nhieu hn yeu cau thc s

    Mot so tnh nang t khi c dung cua mot chng trnh

    Ca chng trnh th cung co oan code cha can dung

    Bo nh ao (virtual memory): Bo nh ao la mot ky thuat

    cho phep x ly mot tien trnh khong c nap toan bo

    vao bo nh vat ly

  • Khoa KTMT 4

    1. Bo nh ao (tt)

    u iem cua bo nh ao

    So lng process trong bo nh nhieu hn

    Mot process co the thc thi ngay ca khi kch thc cua no ln

    hn bo nh thc

    Giam nhe cong viec cua lap trnh vien

    Khong gian trao oi gia bo nh chnh va bo nh

    phu(swap space).

    V du:

    swap partition trong Linux

    file pagefile.sys trong Windows

  • Khoa KTMT 5

    2. Cai at bo nh ao

    Co hai ky thuat:

    Phan trang theo yeu cau (Demand Paging)

    Phan oan theo yeu cau (Segmentation Paging)

    Phan cng memory management phai ho tr paging

    va/hoac segmentation

    OS phai quan ly s di chuyen cua trang/oan gia bo

    nh chnh va bo nh th cap

    Trong chng nay,

    Ch quan tam en paging

    Phan cng ho tr hien thc bo nh ao

    Cac giai thuat cua he ieu hanh

  • Khoa KTMT 6

    2.1.Phan trang theo yeu cau

    demand paging

    Demand paging: cac trang cua qua trnh ch c nap

    vao bo nh chnh khi c yeu cau.

    Khi co mot tham chieu en mot trang ma khong co

    trong bo nh chnh (valid bit) th phan cng se gay ra

    mot ngat (goi la page-fault trap) kch khi page-fault

    service routine (PFSR) cua he ieu hanh.

    PFSR:

    1. Chuyen process ve trang thai blocked

    2. Phat ra mot yeu cau oc a e nap trang c tham chieu vao

    mot frame trong; trong khi i I/O, mot process khac c cap

    CPU e thc thi

    3. Sau khi I/O hoan tat, a gay ra mot ngat en he ieu hanh;

    PFSR cap nhat page table va chuyen process ve trang thai

    ready.

  • Khoa KTMT 7

    2.2. Loi trang va cac bc x ly

  • Khoa KTMT 8

    2.3. Thay the trang nh

    Bc 2 cua PFSR gia s phai thay trang v khong tm

    c frame trong, PFSR c bo sung nh sau

    1. Xac nh v tr tren a cua trang ang can

    2. Tm mot frame trong:

    a. Neu co frame trong th dung no

    b. Neu khong co frame trong th dung mot giai thuat thay trang

    e chon mot trang hy sinh (victim page)

    c. Ghi victim page len a; cap nhat page table va frame table

    tng ng

    3. oc trang ang can vao frame trong (a co c t bc 2);

    cap nhat page table va frame table tng ng.

  • Khoa KTMT 9

    2.3. Thay the trang nh (tt)

  • Khoa KTMT 10

    2.4. Cac thuat toan thay the trang

    Hai van e chu yeu:

    Frame-allocation algorithm

    Cap phat cho process bao

    nhieu frame cua bo nh thc?

    Page-replacement algorithm

    Chon frame cua process se

    c thay the trang nh

    Muc tieu: so lng page-fault

    nho nhat

    c anh gia bang cach thc

    thi giai thuat oi vi mot chuoi

    tham chieu bo nh (memory

    reference string) va xac nh

    so lan xay ra page fault

    V du

    Th t tham chieu cac a ch

    nh, vi page size = 100:

    0100, 0432, 0101, 0612, 0102,

    0103, 0104, 0101, 0611, 0102,

    0103, 0104, 0101, 0610, 0102,

    0103, 0104, 0101, 0609, 0102,

    0105

    cac trang nh sau c tham

    chieu lan lt = chuoi tham

    chieu bo nh (trang nh)

    1, 4, 1, 6, 1,

    1, 1, 1, 6, 1,

    1, 1, 1, 6, 1,

    1, 1, 1, 6, 1,

    1

  • Khoa KTMT 11

    a) Giai thuat thay trang FIFO

    Cac d lieu can biet ban au:

    So khung trang

    Tnh trang ban au

    Chuoi tham chieu

    Trang nh c nht s c thay th

    B nh chnh cp cho process 3 frame

  • Khoa KTMT 12

    Nghch ly Belady

  • Khoa KTMT 13

    Nghch ly Belady

    Bat thng (anomaly) Belady: so page fault tang mac dau qua trnh

    a c cap nhieu frame hn.

  • Khoa KTMT 14

    2.4 b)Giai thuat thay trang OPT(optimal)

    Giai thuat thay trang OPT

    Thay the trang nh se c tham chieu tre nhat trong tng lai

    Kh hin thc?

    V du: mot process co 7 trang, va c cap 3 frame

  • Khoa KTMT 15

    c) Giai thuat lau nhat cha s dung

    Least Recently Used (LRU)

    V du:

    Moi trang c ghi nhan (trong bang phan trang) thi iem c

    tham chieu trang LRU la trang nh co thi iem tham chieu nho

    nhat (OS ton chi ph tm kiem trang nh LRU nay moi khi co page fault)

    Do vay, LRU can s ho tr cua phan cng va chi ph cho viec tm

    kiem. t CPU cung cap u s ho tr phan cng cho giai thuat LRU.

  • Khoa KTMT 16

    LRU va FIFO

    So sanh cac giai thuat thay trang LRU va FIFO

    chuoi tham chieu

    trang nh

  • Khoa KTMT 17

    Gii thut c hi th hai

    S dng cc bit tham kho ti nhng khon thi gian u n

    Dng mt byte cho mi trang trong mt bng nm trong b nh

    Dng mt thanh ghi dch cha lch s tham kho trong 8 ln gn nht

    VD: 00110101, 00000000, 11111111

    L gii thut thay th FIFO, trc khi thay th mt trang xem xt bit tham

    kho ca n

    i khi s dng hai bit: tham kho v sa i nh mt cp (x,x):

    (0,0) khng c dng mi y v khng c sa i-l trang tt nht

    thay th.

    (0,1) khng c dng mi y nhng c sa i-khng tht tt v

    trang cn c vit ra trc khi thay th.

    (1,0) c dng mi y nhng khng c sa i-n c th s nhanh chng c

    dng li.

    (1,1) c dng mi y v c sa i-trang c th s nhanh chng c dng li

    v trang s cn c vit ra a trc khi n c th c thay th.

  • Khoa KTMT 18

    Gii thut c hi th hai (tt)

  • Khoa KTMT 19

    2.5.So lng frame cap cho process

    OS phai quyet nh cap cho moi process bao nhieu

    frame.

    Cap t frame nhieu page fault

    Cap nhieu frame giam mc o multiprogramming

    Chien lc cap phat tnh (fixed-allocation)

    So frame cap cho moi process khong oi, c xac nh vao thi

    iem loading va co the tuy thuoc vao tng ng dung (kch thc

    cua no,)

    Chien lc cap phat ong (variable-allocation)

    So frame cap cho moi process co the thay oi trong khi no chay

    Neu ty le page-fault cao cap them frame

    Neu ty le page-fault thap giam bt frame

    OS phai mat chi ph e c nh cac process

  • Khoa KTMT 20

    a) Chien lc cap phat tnh

    Cap phat bang nhau: V du, co 100 frame va 5

    process moi process c 20 frame

    Cap phat theo t le: da vao kch thc process

    Cap phat theo o u tien

    mS

    spa

    m

    sS

    ps

    iii

    i

    ii

    for allocation

    frames ofnumber total

    process of size

    5964137

    127

    564137

    10

    127

    10

    64

    2

    1

    2

    a

    a

    s

    s

    m

    i

    V du:

  • Khoa KTMT 21

    3. Tr tren toan bo he thong

    Thrashing

    Neu mot process khong co u so frame can thiet th t so

    page faults/sec rat cao.

    Thrashing: hien tng cac trang nh cua mot process b

    hoan chuyen vao/ra lien tuc.

  • Khoa KTMT 22

    a)Mo hnh cuc bo (Locality)

    e han che thrashing, he ieu hanh phai cung cap cho

    process cang u frame cang tot. Bao nhieu frame th u cho mot process thc thi hieu qua?

    Nguyen ly locality (locality principle)

    Locality la tap cac trang c tham chieu gan nhau

    Mot process gom nhieu locality, va trong qua trnh thc thi,

    process se chuyen t locality nay sang locality khac

    V sao hien tng thrashing xuat hien?

    Khi size of locality > memory size

  • Khoa KTMT 23

    b) Giai phap tap lam viec (working set)

    c thiet ke da tren nguyen ly locality.

    Xac nh xem process thc s s dung bao nhieu

    frame.

    nh ngha:

    WS(t) - so lng cac tham chieu trang nh cua process gan

    ay nhat can c quan sat trong khong thi gian .

    - khoang thi gian tham chieu

    V du:

    2 4 5 6 9 1 3 2 6 3 9 2 1 4

    thi iem t1

    D = 4

    chuoi tham khao

    trang nh

  • Khoa KTMT 24

    b) Giai phap tap lam viec (working set)

    nh ngha: working set cua process Pi, ky hieu WS

    i, la tap gom D

    cac trang c s dung gan ay nhat.

    Nhan xet:

    D qua nho khong u bao phu toan bo locality.

    D qua ln bao phu nhieu locality khac nhau.

    D = bao gom tat ca cac trang c s dung.

    Dung working set cua mot process e xap x locality cua no.

    chuoi tham khao trang

    V du: D = 10 v

  • Khoa KTMT 25

    b) Giai phap tap lam viec (working set)

    nh ngha WSSila kch thc cua working set cua P

    i:

    WSSi= so lng cac trang trong WS

    i

    chuoi tham khao trang

    WSS(t1) = 5 WSS(t2) = 2

    V du (tiep): D = 10 v

  • Khoa KTMT 26

    b) Giai phap tap lam viec (working set)

    at D = WSSi= tong cac working-set size cua moi

    process trong he thong.

    Nhan xet: Neu D > m (so frame cua he thong) se xay ra thrashing.

    Giai phap working set:

    Khi khi tao mot qua trnh: cung cap cho qua trnh so lng

    frame thoa man working-set size cua no.

    Neu D > m tam dng mot trong cac process.

    Cac trang cua qua trnh c chuyen ra a cng va cac frame cua no c thu hoi.

  • Khoa KTMT 27

    b) Giai phap tap lam viec (working set)

    WS loai tr c tnh trang tr tre ma van am bao mc

    o a chng

    Theo vet cac WS? => WS xap x (oc them trong sach)

    oc them:

    He thong tap tin

    He thong nhap xuat

    He thong phan tan

  • Khoa KTMT 28

    Bai tap

    Bi 01: Mt my tnh 32-bit a ch, s dng mt bng trang nh cp.

    a ch o c phn b nh sau : 9 bit dnh cho bng trang cp 1, 11

    bit cho bng trang cp 2, v cho offset. Cho bit kch thc mt trang

    trong h thng, v a ch o c bao nhiu trang ?

    Bi 02: Xt chui truy xut b nh sau:

    1, 2 , 3 , 4 , 3 , 5 , 1 , 6 , 2 , 1 , 2 , 3 , 7 , 5 , 3 , 2 , 1 , 2 , 3 , 6

    C bao nhiu li trang xy ra khi s dng cc thut ton thay th sau

    y, gi s c 4 khung trang v ban u cc khung trang u trng ?

    a) LRU

    b) FIFO

    c) Optimal

    d) C hi th 2

  • Bi tp

    Cho mt process c s frame truy cp nh

    sau:

    1,2,4,3,5,2,3,5,6,7,8,9,1,2,3,4,5,2,3,7,6,4,

    5,6,7,9,8,1,2,5

    Cho bit c biu nhiu tp lm vic

    (working set)?

    Lit k cc frame trong tng working set?

    Bit D = 7.

    Khoa KTMT 29

  • Bi tp

    H thng ti mt thi im c 5 process:

    process 1 cn 5 frame, process 2 cn 15

    frame, process 3 cn 10 frame, process 4

    cn 9 frame, process 5 cn 11 frame. H

    thng hin c 30 frame. Tnh xem mi

    process c cp bao nhiu frame?

    Phn b u?

    Theo t l?

    Khoa KTMT 30