LOGO Your company slogan เนื้อหาของแฟ้มนี้เป็น ลิขสิทธิ์ โดย John Gatewood Ham
LOGO เอกสารนี้จะมีการนำเสนอทีละขั้นตอน เมื่อ มีข้อผิดพลาดเกิดขึ้น ISR จะรองรับ virtual memory เมื่อมีการย้าย bit จาก page table โดยบุคคลขึ้น คุณควรที่จะเขียน chart ไว้ ( หน้า 3 และ 4) และพยายามแก้ปัญหา แล้วกลับมา และตรวจสอบ และดูว่าคำตอบของคุณตรงกับ เอกสารนี้หรือไม่ Detailed VM Example
LOGO Detailed VM Example Process 3 Logical Pages Process 7 Logical Pages Process 3 Page Table PagenoLoc Process 7 Page Table PagenoLoc
LOGO Detailed VM Example
LOGO Process 7 Address 2100 Process 7 address 2100 มี logical page นี้ ได้ 2100/1024=2 ช่วงที่ 2 การดำเนินการของ process7 มี ค่าเป็น -1 ในส่วนของ page number เราจึงต้องไปทำที่ physical RAM page ก่อน free RAM Page table ไม่ มีที่ว่าง เราจึงต้องไล่ดูเวลาที่นานที่สุด ซึ่งก็คือ physical RAM page 2 ที่เวลา 10:09 ดังนั้นเราจึง ต้องทำที่เวลานี้ จากนั้นจึงกลับไปทำที่ DASD page จาก backing store Free DASD Page table มีรายการของ DASD เป็น 0 ดังนั้นเราจะต้องใส่ 7 ในช่อง Free DASD Page table ที่เป็น 0
LOGO Process 7 Address 2100 ตอนนี้เราจะได้ physical RAM page 2 มีค่า DASD page เป็น 0 เราต้องทำการ ปรับปรุง process 7 page table ที่ 1 มี pageno เป็น 0 และ location เป็น D ตอนนี้เราปรับปรุง process 7 page table slot 2 ที่ 2 ที่มี RAM page เป็น 2 และ location เป็น R สุดท้าย เราจะทำการปรับปรุง index ที่ 2 ของ Free RAM page table รวมถึงการปรับปรุง timestamp ตั้งแต่การเข้าทำงานของ page นี้ ซึ่ง ได้ผลลัพธ์ดังต่อไปนี้
LOGO Process 7 Address 2100 Process 3 Logical Pages Process 7 Logical Pages Process 3 Page Table Process 7 Page Table Page no LocPage noLoc
LOGO Process 7 Address 2100
LOGO Process 3 Address 100 Process 3 address 100 มี logical page นี้ ได้ 100/1024=0 ที่ index 0 ของ process 3 page table มี location เป็น D จากนั้นจึงไปที่ physical RAM page free RAM page table ไม่มีที่ว่าง เราจึงต้องทำการไล่ดู เวลาที่นานที่สุด ซึ่งก็คือ physical RAM page 5 ที่เวลา 10:12 ดังนั้นเราจึงต้องทำที่เวลานี้ จากนั้นจึงกลับไปทำที่ DASD page จาก backing store DASD Page table มีพื้นที่ว่างอยู่ที่ page 2 ดังนั้น เราจะใช้ ตัวนี้โดยเราต้องใส่เลข 3 ใน Free DASD Page table ที่ 2
LOGO Process 3 Address 100 ตอนนี้เราจะได้ physical RAM page 5 มีค่า DASD page เป็น 2 เราต้องทำการปรับปรุง process 3 page table ที่ 10 ที่มี page no เป็น 2 และ location เป็น D ตอนนี้เราทำการปรับปรุง process 3 page table ที่ 0 ที่มี RAM page เป็น 5 และ location เป็น R แล้ว ตอนนี้เรามี DASD page table ที่ 3 ซึ่งว่างอยู่ ที่มีค่าเป็น -1 ตั้งแต่ page ที่มีให้เลือก สุดท้าย เราจะทำการปรับปรุง index ที่ 5 ของ Free RAM page table รวมถึงการปรับปรุง timestamp ตั้งแต่การเข้า ทำงานของ page นี้
LOGO Process 3 Address 100 Process 3 Logical Pages Process 7 Logical Pages Process 3 Page Table Process 7 Page Table Page noLocPage noLoc
LOGO Process 3 Address 100
LOGO Process 7 Address 4097 Process 7 address 4097 มี logical page นี้ ได้ 4097/1024 = 4 ที่ index 4 ของ process7 มี page table เป็น -1 ต้อง ไปที่ physical RAM page free RAM page table ไม่มีที่ว่าง เราจึงต้องทำการไล่ดู เวลาที่นานที่สุด ซึ่งก็คือ physical RAM page 3 ที่เวลา 10:14 ดังนั้นเราจึงต้องทำที่เวลานี้ จากนั้นจึงกลับไปทำ ที่ DASD page จาก backing store DASD Page table มีพื้นที่ว่างอยู่ที่ page 3 ดังนั้น เราจะ ใช้ตัวนี้โดยเราต้องใส่เลข 3 ใน Free DASD Page table ที่ 3
LOGO Process 7 Address 4097 ตอนนี้เราจะได้ physical RAM page 3 มีค่า DASD page เป็น 3 เราต้องทำการปรับปรุง process 3 page table ที่ 4 ที่ มี page no เป็น 3 และ location เป็น D ตอนนี้เราทำการปรับปรุง process 7 page table ที่ 4 ที่มี RAM page เป็น 3 และ location เป็น R แล้ว สุดท้าย เราจะทำการปรับปรุง index ที่ 3 ของ Free RAM page table รวมถึงการปรับปรุง timestamp ตั้งแต่ การเข้าทำงานของ page นี้ และเปลี่ยนค่าของ PID ที่เป็น 7
LOGO Process 7 Address 4097 Process 3 Logical Pages Process 7 Logical Pages Process 3 Page Table Process 7 Page Table Page noLocPage noLoc
LOGO Process 7 Address 4097
LOGO Process 3 Address 4100 Process 3 address 4100 มี logical page นี้ ได้ 4097/1024 = 4 ที่ index 4 ของ process 3 page table ซึ่งแสดง page บน DASD ต้องไปที่ physical RAM page free RAM page table ไม่มีที่ว่าง เราจึงต้องทำการไล่ดู เวลาที่นานที่สุด ซึ่งก็คือ physical RAM page 0 ที่เวลา 10:15 ดังนั้นเราจึงต้องทำที่เวลานี้ จากนั้นจึงกลับไปทำ ที่ DASD page จาก backing store DASD Page table มีพื้นที่ว่างอยู่ที่ page 5 ดังนั้น เรา จะใช้ตัวนี้โดยเราต้องใส่เลข 7 ใน Free DASD Page table ที่ 5
LOGO Process 3 Address 4100 ตอนนี้เราจะได้ physical RAM page 0 มีค่า DASD page เป็น 5 เราต้องทำการปรับปรุง process 7 page table ที่ 0 ที่มี page no เป็น 5 และ location เป็น D ตอนนี้เราทำการปรับปรุง process 3 page table ที่ 4 ที่ มี RAM page เป็น 0 และ location เป็น R แล้ว สุดท้าย เราจะทำการปรับปรุง index ที่ 0 ของ Free RAM page table รวมถึงการปรับปรุง timestamp ตั้งแต่การเข้า ทำงานของ page นี้ และเปลี่ยนค่าของ PID ที่เป็น 3
LOGO Process 3 Address 4100 Process 3 Logical Pages Process 7 Logical Pages Process 3 Page Table Process 7 Page Table Page noLocPage noLoc
LOGO Process 3 Address 4100
LOGO Process 7 Address 200 200/1024 = 0 มี logical page นี้ ได้ 200/1024 = 0 ที่ index 4 ของ process 7 page table ซึ่งแสดง page บน DASD ต้องไปที่ physical RAM page free RAM page table ไม่มีที่ว่าง เราจึงต้องทำการไล่ดู เวลาที่นานที่สุด ซึ่งก็คือ physical RAM page 4 ที่เวลา 10:16 ดังนั้นเราจึงต้องทำที่เวลานี้ จากนั้นจึงกลับไปทำที่ DASD page จาก backing store DASD Page table มีพื้นที่ว่างอยู่ที่ page 3 ดังนั้น เราจะ ใช้ตัวนี้โดยเราต้องใส่เลข 7 ใน Free DASD Page table ที่ 3 Process 7 address 200
LOGO Process 7 Address 200 ตอนนี้เราจะได้ physical RAM page 4 มีค่า DASD page เป็น 3 เราต้องทำการปรับปรุง process 7 page table ที่ 9 ที่มี page no เป็น 3 และ location เป็น D ตอนนี้เราทำการปรับปรุง process 7 page table ที่ 0 ที่มี RAM page เป็น 4 และ location เป็น R แล้ว ทำการ อ่านข้อมูลจาก DASD ที่ page 5 จาก physical RAM page 4 ทำการปรับปรุง Free RAM ที่ index 5 ที่มีค่าเป็น -1 สุดท้าย เราจะทำการปรับปรุง index ที่ 4 ของ Free RAM page table รวมถึงการปรับปรุง timestamp ตั้งแต่การเข้า ทำงานของ page นี้
LOGO Process 7 Address 200 Process 3 Logical Pages Process 7 Logical Pages Process 3 Page Table Process 7 Page Table Page noLocPage noLoc
LOGO Process 7 Address 200
LOGO Process 3 Address 200 Process 3 address 200 มี logical page นี้ ได้ 200/1024 = 0 ที่ index 0 ของ process 3 page table ซึ่งแสดง page เป็น RAM ดังนั้นเราจึงสามารถนำมันมาใช้ได้ เลย