You are on page 1of 26

Chương 7 Virtual Memory

(bӝ nhӟ ҧo)

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 1
Mөc đích và yêu cҫu

Mөc đích:
‡ Nҳm đưӧc khái niӋm phân trang và phân đӑan.
HiӇu đưӧc cơ chӃ quҧn lý bӝ nhӟ ҧo
Yêu cҫu:
‡ Nҳm đưӧc các chiӃn lưӧc quҧn lý và thӇ hiӋn
đưӧc các giҧi thuұt cung cҩp frame.

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 2
Nӝi dung

¬ Thông tin cơ bҧn - Background


¬ Phân trang theo yêu cҫu ± Demand Paging
¬ Thay trang ± Page Replacement
¬ Phân phӕi các Frames ± Allocation of Frames
¬ Thrashing
¬ Phân đoҥn theo yêu cҫu ± Demand Segmentation

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 3
Thông tin cơ bҧn
¬ Virtual memory ± sӵ tách riêng cӫa bӝ nhӟ logic (cӫa
user) khӓi bӝ nhӟ vұt lý
‡ Kích thưӟc bӝ nhӟ vұt lý có hҥn => nó giӟi hҥn kích thưӟc
chương trình.
‡ Thӵc tӃ, chӍ cҫn 1 phҫn cӫa chương trình cҫn phҧi đưa vào
bӝ nhӟ (vұt lý) đӇ thӵc hiӋn => có thӇ chӭa chương trình ӣ
đâu ?- virtual memory.
‡ Do đó ko gian đӏa chӍ logic có thӇ lӟn hơn ko gian đӏa chӍ
vұt lý rҩt nhiӅu => cung cҩp bӝ nhӟ rҩt lӟn cho ngưӡi lұp
trình.
‡ Cho phép 1 sӕ process chia sҿ ko gian đӏa chӍ.
‡ Cho phép tҥo process hiӋu quҧ hơn.
¬ Bӝ nhӟ ҧo có thӇ đưӧc thӵc hiӋn thông qua:
‡ Demand paging (windows, linux)
‡ Demand segmentation (IBM. OS/2)

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 4
Bӝ nhӟ ҧo lӟn hơn bӝ nhӟ vұt lý

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 5
Phân trang theo yêu cҫu

¬ Đưa mӝt trang vào bӝ nhӟ chӍ khi nó đưӧc cҫn


đӃn:
‡ Cҫn ít thao tác vào ra hơn
‡ Cҫn ít bӝ nhӟ hơn
‡ Đáp ӭng nhanh hơn: process bҳt đҫu ngay sau khi sӕ
trang tӕi thiӇu đưӧc nҥp vào bӝ nhӟ.
‡ NhiӅu user/process hơn do mӛi process dùng ít bӝ
nhӟ hơn
¬ Khi trang đưӧc cҫn đӃn (khi process tham
chiӃu đӃn nó)
‡ Tham chiӃu ko hӧp lӋ => hӫy bӓ
‡ Ko trong bӝ nhӟ => đưa vào bӝ nhӟ
‡ Có trong bӝ nhӟ => truy nhұp

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 6
ChuyӇn mӝt vùng nhӟ
phân trang tӟi không gian ә đĩa

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 7
Valid-invalid Bit

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 8
Bҧng phân trang khi 1 sӕ trang
ko ӣ trong bӝ nhӟ chính

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 9
Page Fault

1. Khi có tham chiӃu tӟi trang, đҫu tiên tham chiӃu sӁ lұp
bүy vӟi Os => phát hiӋn page fault
2. Os tìm trong bҧng khác đӇ quyӃt đӏnh:
‡ Tham chiӃu ko hӧp lӋ => hӫy bӓ
‡ Không có trong bӝ nhӟ => đưa vào bӝ nhӟ
3. Nhұn Frame rӛi
4. Copy/Hoán đәi trang vào frame
5. Cұp nhұt lҥi bҧng phân trang (thiӃt lұp v-inv bit =1), cұp
nhұt danh sách frame rӛi.
6. Khӣi đӝng lҥi lӋnh.

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 10
Các bưӟc xӱ lý Page Fault

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 11
ĐiӅu gì xҭy ra khi ko
có frame rӛi
¬ Thay trang ± tìm mӝt sӕ trang trong bӝ nhӟ nhưng đang
ko đưӧc sӱ dөng đӇ đưa ra ngoài.
‡ Giҧi thuұt?
‡ HiӋu năng? ± muӕn có 1 giҧi thuұt tác đӝng đӃn sӕ lưӧng
tӕi thiӇu page faults.
¬ Mӝt trang có thӇ đưӧc đưa vào bӝ nhӟ nhiӅu lҫn.

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 12
HiӋu năng cӫa phân trang
theo yêu cҫu
¬ Tӹ lӋ Page Fault ± p : 0” p ” 1
‡ P=0 ; ko có page fault
‡ P=1 ; mӑi tham chiӃu đӅu là fault
¬ Thӡi gian truy nhұp hiӋu quҧ -Effective Access Time (EAT)
EAT = (1-p)x ma + px(thӡi gian xӱ lý page fault)
Trong đó:
+ ma: memory access ± thӡi gian truy nhұp bӝ nhӟ (10-200 ns)
+ Thӡi gian xӱ lý page-fault: gӗm 3 vҩn đӅ chính
ņ Phөc vө ngҳt page fault (1-100 ȝs, có thӇ giҧm bҵng coding)
ņ Đӑc trang vào bӝ nhӟ (khoҧng 25 ms)
ņ Khӣi đӝng lҥi process (1 ± 100 ȝs, có thӇ giҧm bҵgn coing)

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 13
Ví dө

¬ Thӡi gian xӱ lý page-fault 25ms


¬ Thӡi gian truy nhұp bӝ nhӟ (ma): 100 ns
¬ EAT =(1-p) x 100 + p x 25,000.000 ns.
= 100 + 24,999.990 x p ns
¬ EAT tӹ lӋ thuұt vӟi page fault, nӃu p càng lӟn thì EAT
càng lӟn máy càng chұm
¬ Muӕn hiӋu năng giҧm dưӟi 10% ta cҫn có
110 > 100 + 25.000.000 x p
p < 0.0000004

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 14
Page Replacement (thay trang)
Các bưӟc thay trang:
1. Tìm vӏ trí cӫa trang đưӧc yêu cҫu trên đĩa.
2. Tìm 1 frame rӛi:
‡ NӃu có frame rӛi thì sӱ dөng nó
‡ NӃu ko có, sӱ dөng giҧi thuұt thay trang đӇ chӑn 1 frame
nҥn nhân.
3. Đӑc trang đưӧc yêu cҫu vào frame rӛi. Cұp nhұt bҧng
phân trang và bҧng quҧn lý frame rӛi
4. Khӣi đӝng lҥi process

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 15
Quá trình thay thӃ trang nhӟ

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 16
Các giҧi thuұt thay trang

¬ Mөc tiêu: giҧm thiӇu tӹ lӋ page fault thҩp nhҩt


¬ Đánh giá giҧi thuұt bҵng cách chҥy nó trên mӝt
chuӛi riêng biӋt các tham chiӃu bӝ nhӟ và tính
sӕ page fault trên chuӛi đó.
¬ Các giҧi thuұt thay thӃ trang phө thuӝc vào
resident set (sӕ frame cҩp cho mӛi process)
¬ Trong tҩt cҧ các ví dө. Chuӛi tham chiӃu là
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 17
Least Recently Used (LRU)

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 18
Giҧi thuұt FIFO

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 19
Giҧi thuұt Clock
(second±chance)

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 20
Vì dө vӅ giҧi thuұt clock

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 21
So sánh Clock, FIFO và LRU

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 22
Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 23
Mô hình tҫn suҩt Page-Fault

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 24
Ưu điӇm cӫa bӝ nhӟ ҧo

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 25
Câu hӓi và bài tұp

1. Miêu tҧ cơ chӃ phân trang và phân đӑan?


2. Mөc đích cӫa phân trang. Phân đӑan là gi?
3. Ưu điӇm cӫa bӝ nhӟ ҧo?
4. Dưӟi tình huӕng nào các ³fault´ trang xuҩt
hiӋn? Miêu tҧ các hành đӝng cӫa hӋ điӅu
hành khi mӝt lӛi trang xuҩt hiӋn.

Làm các bt 10.11 và 10.16 trong sgk, làm các bt


theo các giҧi thuұt thay thӃ trang LRU,
FIFO,OTP

Khoa Công NghӋ Thông Tin ± Đҥi Hӑc Công NghiӋp TP Hӗ Chí Minh 26

You might also like