1 / 23

Detailed VM Example

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

thor-blake
Download Presentation

Detailed VM Example

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Detailed VM Example โดย นางสาวกนกอร ศิริอำนาจ รหัสนิสิต 50036153 กลุ่ม 2

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

  3. Detailed VM Example RAMDASDขั้นตอนที่ 1ขั้นตอนที่ 2

  4. Process 7 Address 2100 • Process 7 Address 2100 • logical page คือ 2100/1024=2 • slot 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

  5. 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

  6. รูปที่ได้คือ

  7. Process 3 Address 100 • Process 3 Address 100 • logical page คือ 100/1024=0 • Slot 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

  8. 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

  9. รูปที่ได้คือ

  10. Process 7 Address 4097 • Process 7 Address 4097 • logical page คือ 4097/1024=4 • slot 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

  11. 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

  12. รูปที่ได้คือ

  13. Process 3 Address 4100 • Process 3 address 4100  • logical page คือ 4100/1024=4 • Slot 4 ของ process 3 page table แสดงให้เห็นถึงว่าอยู่ใน DASD ดังนั้นเราต้องการ physical RAM page • free RAM page table ไม่มีที่ว่าง ดังนั้นเราต้องกำจัดโปรเซสที่อยู่นานที่สุดออกไป • นั่นคือ page 0 ที่เวลา 10:15 และเราต้องการ DASD page จากหน่วยความจำสำรอง • Free DASD page table มี DASD page 5 ที่สามารถใช้ได้ เราต้องใส่ 7 ใน Free DASD page table ที่ slot 5

  14. 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

  15. รูปที่ได้คือ

  16. Process 7 Address 200 • Process 7 address 200  • logical page คือ 200/1024=0 • Slot 0 ของ process 7 page table แสดงให้เห็นถึงว่าอยู่ใน DASD ดังนั้นเราต้องการ physical RAM page • free RAM page table ไม่มีที่ว่าง ดังนั้นเราต้องกำจัดโปรเซสที่อยู่นานที่สุดออกไป • นั่นคือ page 4 ที่เวลา 10:16 และเราต้องการ DASD page จากหน่วยความจำสำรอง • Free DASD page table มี DASD page 3 ที่สามารถใช้ได้ เราต้องใส่ 7 ใน Free DASD page table ที่ slot 3

  17. 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

  18. รูปที่ได้คือ

More Related