detailed vm example

23
โโโ โโโโโโโโโโโ โโโโ โโโโโโ โโโโโโโโโ 50036153 โโโโโ 2 Detailed VM Example

Upload: thor-blake

Post on 01-Jan-2016

39 views

Category:

Documents


2 download

DESCRIPTION

Detailed VM Example. โดย นางสาวกนกอร ศิ ริอำนาจ รหัสนิสิต 50036153 กลุ่ม 2. Detailed VM Example. ตัวอย่างการทำงานของ page fault ISR อย่างเป็นลำดับที่สนับสนุนหน่วยความจำเสมือน เราจะเคลื่อนย้าย dirty bit จาก page table Process 3 Process 7. Detailed VM Example. - PowerPoint PPT Presentation

TRANSCRIPT

โ ด ย น า ง ส า ว ก น ก อ ร ศิ ร อ�า น า จ ร หั� ส น ส ต 50036153 ก ลุ่�� ม 2

Detailed VM Example

Detailed VM Example

ตั�วอย่�างการทำ�างานของ page fault ISR อย่�างเป็�น ลำ�าดั�บทำ��สน�บสน�นหน�วย่ความจำ�าเสม�อน เราจำะเคลำ��อนย่�าย่

dirty bit จำาก page tableProcess 3 Process 7

Detailed VM Example

RAM DASD ขั้��นตอน ที่�� 1 ขั้��นตอนที่�� 2

Process 7 Address 2100

Process 7 Address 2100logical page ค�อ 2100/1024=2slot 2 ของ process 7 ทำ��ตัาราง page table ม� -1 ส�าหร�บ page

number ดั�งน�!นแสดังว�าม�นย่�งไม�ไดั�ถู%กโหลำดั เราตั�องการ physical RAM page

free RAM Page table ไม�ม�ทำ��ว�าง ดั�งน�!นเราตั�องก�าจำ�ดัโป็รเซสทำ��อย่%�นานทำ��ส�ดัออกไป็

น��นค�อ page 2 ทำ��เวลำา 10:09 แลำะเราตั�องการ DASD page จำากหน�วย่ความจำ�าส�ารอง

Free DASD Page table ม�พื้�!นทำ��ทำ��ว�างในลำ�าดั�บแรก ค�อ DASD page 0 ดั�งน�!นเราจำะใส�ค�าลำงไป็ เราตั�องใส� 7 ใน Free DASD Page table ทำ�� slot 0

Process 7 Address 2100

ขณะน�!เราไดั�ทำ�าการ page out ทำ�� physical RAM page 2 ไป็ย่�ง DASD page 0

เราตั�องทำ�าการ update โป็รเซส 7 page table ทำ�� slot 1 แลำะ location เป็�น D

เราทำ�าการ update โป็รเซส 7 page table ทำ�� slot 2 ทำ�� RAM page 2 แลำะ location เป็�น R

ส�ดัทำ�าย่เรา update ทำ�� slot 2 ของ Free RAM page table ค�อ update timestamp ตั�!งแตั�เราไดั�ทำ�าการเข�าถู+งเพื้จำน�! น��นค�อ timestamp จำะเป็�น 10:18

ร�ปที่��ได คื"อ

Process 3 Address 100

Process 3 Address 100logical page ค�อ 100/1024=0Slot 0 ของ process 3 page table แสดังให�เห,นถู+ง

location เป็�น D ค�ออย่%�ใน DASD ดั�งน�!นเราตั�องทำ�า page in เราตั�องการ physical RAM page

free RAM page table ไม�ม�ทำ��ว�าง ดั�งน�!นเราตั�องก�าจำ�ดัโป็รเซสทำ��อย่%�นานทำ��ส�ดัออกไป็

น� �นค�อ page 5 ทำ��เวลำา 10:12 แลำะเราตั�องการ DASD page จำากหน�วย่ความจำ�าส�ารอง

Free DASD page table ม� DASD page 2 ทำ��สามารถูใช้�ไดั� เราตั�องใส� 3 ใน Free DASD page table ทำ�� slot 2

Process 3 Address 100

ขณะน�!เรา page out physical RAM page 5 ไป็ย่�ง DASD page 2

เราทำ�าการ update โป็รเซส 3 page table ทำ�� slot 10 ทำ�� page 2 แลำะ location เป็�น D

เราทำ�าการ update โป็รเซส 3 page table ทำ�� slot 0 ทำ�� RAM page 5 แลำะ location เป็�น R

เราทำ�าการ update ทำ�� Free DASD page table ทำ�� slot 3 เป็�น -1

ส�ดัทำ�าย่เรา update ทำ�� slot 5 ของ Free RAM page table ค�อ update timestamp ตั�!งแตั�เราไดั�ทำ�าการเข�าถู+งเพื้จำน�! น��นค�อ timestamp จำะเป็�น 10:19

ร�ปที่��ได คื"อ

Process 7 Address 4097

Process 7 Address 4097logical page ค�อ 4097/1024=4slot 4 ของ process 7 ทำ��ตัาราง page table ม� -1 ส�าหร�บ

page number ดั�งน�!นแสดังว�าม�นย่�งไม�ไดั�ถู%กโหลำดั เราตั�องการ physical RAM page

free RAM page table ไม�ม�ทำ��ว�าง ดั�งน�!นเราตั�องก�าจำ�ดัโป็รเซสทำ��อย่%�นานทำ��ส�ดัออกไป็

น� �นค�อ page 3 ทำ��เวลำา 10:14 แลำะเราตั�องการ DASD page จำากหน�วย่ความจำ�าส�ารอง

Free DASD page table ม� DASD page 3 ทำ��สามารถูใช้�ไดั� เราตั�องใส� 3 ใน Free DASD page table ทำ�� slot 3

Process 7 Address 4097

ขณะน�!เรา page out physical RAM page 3 ไป็ย่�ง DASD page 3

เราทำ�าการ update โป็รเซส 3 page table ทำ�� slot 4 ทำ�� page 3 แลำะ location เป็�น D

เราทำ�าการ update โป็รเซส 7 page table ทำ�� slot 4 ทำ�� RAM page 3 แลำะ location เป็�น R

ส�ดัทำ�าย่เรา update ทำ�� slot 3 ของ Free RAM page table ค�อ update timestamp ตั�!งแตั�เราไดั�ทำ�าการเข�าถู+งเพื้จำน�! น��นค�อ timestamp จำะเป็�น 10:20 แลำะเป็ลำ��ย่น PID เป็�น 7

ร�ปที่��ได คื"อ

Process 3 Address 4100

Process 3 address 4100 logical page ค�อ 4100/1024=4Slot 4 ของ process 3 page table แสดังให�เห,นถู+งว�า

อย่%�ใน DASD ดั�งน�!นเราตั�องการ physical RAM pagefree RAM page table ไม�ม�ทำ��ว�าง ดั�งน�!นเราตั�องก�าจำ�ดัโป็ร

เซสทำ��อย่%�นานทำ��ส�ดัออกไป็ น��นค�อ page 0 ทำ��เวลำา 10:15 แลำะเราตั�องกา

ร DASD page จำากหน�วย่ความจำ�าส�ารองFree DASD page table ม� DASD page 5 ทำ��สามารถู

ใช้�ไดั� เราตั�องใส� 7 ใน Free DASD page table ทำ�� slot 5

Process 3 Address 4100

ขณะน�!เรา page out physical RAM page 0 ไป็ย่�ง DASD page 5

เราทำ�าการ update โป็รเซส 7 page table ทำ�� slot 0 ทำ�� page 5 แลำะ location เป็�น D

เราทำ�าการ update โป็รเซส 3 page table ทำ�� slot 4 ทำ�� page 0 แลำะ location เป็�น R

เราจำะทำ�าการอ�านข�อม%ลำจำาก DASD page 3 ไป็ย่�ง physical RAM page 0

เราทำ�าการ update Free DASD ทำ�� slot 3 เป็�น -1(free) ส�ดัทำ�าย่เรา update ทำ�� slot 0 ของ Free RAM page table ค�อ

update timestamp ตั�!งแตั�เราไดั�ทำ�าการเข�าถู+งเพื้จำน�! น��นค�อ timestamp จำะเป็�น 10:21 แลำะเป็ลำ��ย่น PID เป็�น 3

ร�ปที่��ได คื"อ

Process 7 Address 200

Process 7 address 200 logical page ค�อ 200/1024=0Slot 0 ของ process 7 page table แสดังให�เห,นถู+งว�า

อย่%�ใน DASD ดั�งน�!นเราตั�องการ physical RAM pagefree RAM page table ไม�ม�ทำ��ว�าง ดั�งน�!นเราตั�องก�าจำ�ดัโป็ร

เซสทำ��อย่%�นานทำ��ส�ดัออกไป็ น��นค�อ page 4 ทำ��เวลำา 10:16 แลำะเราตั�องกา

ร DASD page จำากหน�วย่ความจำ�าส�ารองFree DASD page table ม� DASD page 3 ทำ��สามารถู

ใช้�ไดั� เราตั�องใส� 7 ใน Free DASD page table ทำ�� slot 3

Process 7 Address 200

ขณะน�!เรา page out physical RAM page 4 ไป็ย่�ง DASD page 3

เราทำ�าการ update โป็รเซส 7 page table ทำ�� slot 9 ทำ�� page 3 แลำะ location เป็�น D

เราทำ�าการ update โป็รเซส 7 page table ทำ�� slot 0 ทำ�� RAM page 4 แลำะ location เป็�น R

เราจำะทำ�าการอ�านข�อม%ลำจำาก DASD page 5 ไป็ย่�ง physical RAM page 4

เราทำ�าการ update Free DASD ทำ�� slot 5 เป็�น -1(free) ส�ดัทำ�าย่เรา update ทำ�� slot 4 ของ Free RAM page table ค�อ

update timestamp ตั�!งแตั�เราไดั�ทำ�าการเข�าถู+งเพื้จำน�! น��นค�อ timestamp จำะเป็�น 10:22

ร�ปที่��ได คื"อ