30
04/2015 Duy Phan Chương 8: Bộ nhớ ảo

Slide Bài Giảng Hệ Diều Hành Chương 8 - UIT

Embed Size (px)

Citation preview

  • 04/2015Duy Phan

    Chng 8: B nh o

  • 2 B nh oDuy Phan

    Cu hi n tp chng 7

    Khi no

  • 3 B nh oDuy Phan

    Mc tiu

    Hiu c cc khi nim tng quan v b nh o

    Hiu v vn dng cc k thut ci t c b nho:

    Demand Paging

    Page Replacement

    Demand Segmentation

    Hiu c mt s vn trong b nh o

    Frames

    Thrashing

  • 4 B nh oDuy Phan

    Ni dung

    Tng quan v b nh o

    Cai t b nh o: Demand Paging

    Cai t b nh o: Page Replacement

    Cac gii thut thay trang (Page Replacement Algorithms)

    Vn cp phat Frames

    Vn Thrashing

    Cai t b b nh o: Demand Segmentation

  • 5 B nh oDuy Phan

    Tng quan b nh o

    Nhn xet: khng phi tt c cac phn cua mt process cnthit phi c nap vao b nh chinh tai cung mt thi im

    Vi d:

    oan ma iu khin cac li him khi xy ra

    Cac arrays, list, tables c cp phat b nh (cp phattinh) nhiu hn yu cu thc s

    Mt s tinh nng it khi c dung cua mt chng trinh

    C chng trinh thi cung co oan code cha cn dung

    B nh o (virtual memory): B nh o la mt k thut chophep x ly mt tin trinh khng c nap toan b vao bnh vt ly

  • 6 B nh oDuy Phan

    B nh o (tt)

    u im cua b nh o

    S lng process trong b nh nhiu hn

    Mt process co th thc thi ngay c khi kichthc cua no ln hn b nh thc

    Gim nhe cng vic cua lp trinh vin

    Khng gian trao i gia b nh chinh va b nhph(swap space).

    Vi d:

    swap partition trong Linux

    file pagefile.sys trong Windows

  • 7 B nh oDuy Phan

    Ci t b nh o

    Co hai k thut:

    Phn trang theo yu cu (Demand Paging)

    Phn oan theo yu cu (Segmentation Paging)

    Phn cng memory management phi h trpaging va/hoc segmentation

    OS phi qun ly s di chuyn cua trang/oan giab nh chinh va b nh th cp

    Trong chng nay,

    Chi quan tm n paging

    Phn cng h tr hin thc b nh o

    Cac gii thut cua h iu hanh

  • 8 B nh oDuy Phan

    Phn trang theo yu cu

    Demand paging: cac trang cua qua trinh chi cnap vao b nh chinh khi c yu cu.

    Khi co mt tham chiu n mt trang ma khng cotrong b nh chinh (valid bit) thi phn cng se gyra mt ngt (goi la page-fault trap) kich khi page-fault service routine (PFSR) cua h iu hanh.

    PFSR:

    Chuyn process v trang thai blocked

    Phat ra mt yu cu oc ia nap trang ctham chiu vao mt frame trng; trong khi iI/O, mt process khac c cp CPU thc thi

    Sau khi I/O hoan tt, ia gy ra mt ngt n hiu hanh; PFSR cp nht page table va chuynprocess v trang thai ready.

  • 9 B nh oDuy Phan

    Li trang v cc bc x l

  • 10 B nh oDuy Phan

    Thay th trang nh

    Bc 2 cua PFSR gi s phi thay trang vi khng timc frame trng, PFSR c b sung nh sau:

    Xac inh vi tri trn ia cua trang ang cn

    Tim mt frame trng:

    Nu co frame trng thi dung no

    Nu khng co frame trng thi dung mt gii thutthay trang chon mt trang hy sinh (victim page)

    Ghi victim page ln ia; cp nht page table vaframe table tng ng

    oc trang ang cn vao frame trng (a co c tbc 2); cp nht page table va frame table tngng.

  • 11 B nh oDuy Phan

    Thay th trang nh (tt)

  • 12 B nh oDuy Phan

    Cc gii thut thay th trang

    Hai vn chu yu:

    Frame-allocation algorithm

    Cp phat cho process baonhiu frame cua b nhthc?

    Page-replacement algorithm

    Chon frame cua process sec thay th trang nh

    Mc tiu: s lng page-faultnho nht

    c anh gia bng cachthc thi gii thut i vi mtchui tham chiu b nh(memory reference string) vaxac inh s ln xy ra pagefault

    Vi d

    Th t tham chiu cac ia chinh, 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 thamchiu ln lt = chui tham chiub nh (trang nh)

    1, 4, 1, 6, 1,

    1, 1, 1, 6, 1,

    1, 1, 1, 6, 1,

    1, 1, 1, 6, 1,

    1

  • 13 B nh oDuy Phan

    Gii thut thay trang FIFO

    Cac d liu cn bit ban u:

    S khung trang

    Tinh trang ban u

    Chui tham chiu

  • 14 B nh oDuy Phan

    Nghch l Belady

  • 15 B nh oDuy Phan

    Nghch l Belady

    Bt thng (anomaly) Belady: s page fault tng

    mc du qua trinh a c cp nhiu frame hn.

  • 16 B nh oDuy Phan

    Gii thut thay trang OPT

    Gii thut thay trang OPT

    Thay th trang nh se c tham chiu tr nhttrong tng lai

    Vi d: mt process co 7 trang, va c cp 3 frame

  • 17 B nh oDuy Phan

    Gii thut thay trang LRU

    Mi trang c ghi nhn (trong bng phn trang) thi imc tham chiu trang LRU la trang nh co thi im thamchiu nho nht (OS tn chi phi tim kim trang nh LRU nay mikhi co page fault)

    Do vy, LRU cn s h tr cua phn cng va chi phi cho victim kim. It CPU cung cp u s h tr phn cng cho gii thutLRU.

  • 18 B nh oDuy Phan

    LRU v FIFO

    So sanh cac gii thut thay trang LRU va FIFO

  • 19 B nh oDuy Phan

    S lng frame cp cho process

    OS phi quyt inh cp cho mi process bao nhiu frame.

    Cp it frame nhiu page fault

    Cp nhiu frame gim mc multiprogramming

    Chin lc cp phat tinh (fixed-allocation)

    S frame cp cho mi process khng i, c xacinh vao thi im loading va co th tuy thuc vao tngng dng (kich thc cua no,)

    Chin lc cp phat ng (variable-allocation)

    S frame cp cho mi process co th thay i trong khino chay

    Nu ty l page-fault cao cp thm frame

    Nu ty l page-fault thp gim bt frame

    OS phi mt chi phi c inh cac process

  • 20 B nh oDuy Phan

    Chin lc cp pht tnh

    Cp phat bng nhau: Vi d, co 100 frame va 5 process mi process c 20 frame

    Cp phat theo ti l: da vao kich thc process

    Cp phat theo u tin

    V d:

  • 21 B nh oDuy Phan

    Tr tr trn ton b h thng

    Nu mt process khng co u s frame cn thit thiti s page faults/sec rt cao.

    Thrashing: hin tng cac trang nh cua mtprocess bi hoan chuyn vao/ra lin tc.

  • 22 B nh oDuy Phan

    M hnh cc b

    han ch thrashing, h iu hanh phi cung cpcho process cang u frame cang tt. Bao nhiuframe thi u cho mt process thc thi hiu qu?

    Nguyn ly locality (locality principle)

    Locality la tp cac trang c tham chiu gnnhau

    Mt process gm nhiu locality, va trong quatrinh thc thi, process se chuyn t locality naysang locality khac

    Vi sao hin tng thrashing xut hin?Khi size of locality > memory size

  • 23 B nh oDuy Phan

    Gii php tp lm vic

    c thit k da trn nguyn ly locality.

    Xac inh xem process thc s s dng bao nhiuframe.

    inh nghia:

    WS(t) - s lng cac tham chiu trang nh cuaprocess gn y nht cn c quan sat.

    - khong thi gian tham chiu

    Vi d:

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

    thi im t1

    = 4

    chui tham khaotrang nh

  • 24 B nh oDuy Phan

    Gii php tp lm vic (tt)

    inh nghia: working set cua process Pi , ky hiu WSi , la tpgm cac trang c s dng gn y nht.

    Nhn xet:

    qua nho khng u bao phu toan b locality.

    qua ln bao phu nhiu locality khac nhau.

    = bao gm tt c cac trang c s dng.

    Dung working set cua mt process xp xi locality cua no.

    chui tham khao trang

    V d: = 10 v

  • 25 B nh oDuy Phan

    Gii php tp lm vic (tt)

    inh nghia: WSSi l kch thc cua working ser cuaPi:

    WSSi = s lng cc trang trong WSi

    chui tham khao trang

    V d: = 10 v

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

  • 26 B nh oDuy Phan

    Gii php tp lm vic (tt)

    t D = WSSi = tng cac working-set size cuamoi process trong h thng.

    Nhn xet: Nu D > m (s frame cua h thng) se xy ra thrashing.

    Gii phap working set:

    Khi khi tao mt qua trinh: cung cp cho quatrinh s lng frame thoa mn working-set sizecua no.

    Nu D > m tam dng mt trong cac process.

    Cac trang cua qua trinh c chuyn ra iacng va cac frame cua no c thu hi.

  • 27 B nh oDuy Phan

    Gii php tp lm vic (tt)

    WS loai tr c tinh trang tri tr ma vnm bo mc a chng

    Theo vt cac WS? => WS xp xi (oc thmtrong sach)

    oc thm:

    H thng tp tin

    H thng nhp xut

    H thng phn tn

  • 28 B nh oDuy Phan

    n tp

    C

  • 29 B nh oDuy Phan

    Bi tp

    C ch:

  • 04/2015Duy Phan

    Kt thc chng 8