Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่ 8 หน่วยความจำเสมือน, เลขที่ 25 หมู่ 800 นางสาวขนิษฐา ศรีพิน…
บทที่ 8 หน่วยความจำเสมือน
8.2 การจัดสรรหน้าตามคำร้องขอ
2.1 หลักการขั้นพื้นฐาน (Basic Concepts)
มีอุปกรณ์ทางฮาร์ดแวร์ คือ เพิ่มบิตสถานะ (Valid-invalid bit)
(Valid) แสดงว่าหน้านั้นอยู่ในหน่วยความจำหลัก
(Invalid) แสดงว่าหน้านั้นอยู่ในจานบันทึก
จัดการ (Page fault)
PCB ที่อ้างอิงถูกต้อง?
ผิดพลาดก็ให้ยกเลิกโพรเซส
หาที่ว่างในหน่วยความจำจริง (Frame) 1 หน้า
จัดคำร้องขอไปยังจานบันทึก
ระบบก็จะแก้ไขบิตสถานะในตารางเลขหน้าเป็นใช้ได้
ทำงานต่อจากจุดที่เกิด “การผิดหน้า”
2.2 ประสิทธิภาพของระบบจัดสรรหน้าตามคำร้องขอ (Performance of Demand Paging)
ทำให้เกิดการผิดหน้า (Page fault) น้อยครั้งที่สุด
หาเวลาเฉลี่ยในการอ้างอิง
Effective Access Time (EAT) = (1 − p) × ma + p × page fault time.
ขั้นตอน
1) จัดการสัญญาณขัดจังหวะ (Interrupt)
2) อ่านหน้าที่ต้องการเข้ามา
3) ให้โพรเซสทำงานต่อ
8.1 แนวคิดหน่วยความจำเสมือน
การได้รับประโยชน์
ระบบ Libraries สามารถใช้พื้นที่ร่วมกัน โดยรวมหลาย ๆ
หน่วยวามจำเสมือนอย่างง่าย ต้องทำให้โพรเซสสามารถแชร์
หน่วยความจำเสมือนสามารถยอมให้พื้นที่ที่ต้องการแชร์
หน้าที่
เก็บบางส่วนของโปรแกรมที่กำลังทำงานไว้ในหน่วยความจำหลัก
เก็บส่วนที่เหลือไว้ในฮาร์ดดิสก
ข้อดี
มีขนาดใหญ่กว่าหน่วยความจำจริงได้
หน่วยความจำร่วมกันได้จากหลาย ๆ โพรเซส
สร้างขึ้นมาได้โดยสะดวก
8.3 เทคนิคการบันทึกข้อมูลด้วยการคัดลอกข้อมูล
แบบรวดเร็วและเล็ก
พิจารณาจากฟังก์ชั่น exec() (เรียกผ่าน System call) หลังการสร้าง
การคัดลอกตำแหน่งพื้นที่ว่างของโพรเซสแม่
เป็นการท า Copy-on-Write
ใช้ร่วมกัน (Share page) การ Share page
เพื่อจัดการกับเวลารอคอยที่มากกว่า 1 รูปแบบ
8.5 อัลกอริทึ่มการสับเปลี่ยนหน้า
การเลือกหน้าเก่าออก เพื่อหน้าใหม่ที่จะนำเข้ามา
มีจำนวนเฟรมเท่าไหร่ที่สามารถให้กับ P แต่ละตัวได้
กลุ่มของหน้าที่ควรจะถูกจำกัด?
จำนวนเฟรม
น้อย) ก็จะทำให้เกิดอัตราการเกิดการผิดหน้าสูงมากขึ้น
5.1 วิธีสับเปลี่ยนแบบมาก่อน-ออกก่อน (FIFO: First-In-First-Out Algorithms)
5.2 วิธีสับเปลี่ยนแบบให้โอกาสครั้งที่สอง (Second Chance Page Replacement Algorithms)
5.3 วิธีสับเปลี่ยนแบบวงรอบนาฬิกา (Clock Page Replacement Algorithms)
5.4 วิธีสับเปลี่ยนแบบที่ดีที่สุด (Optimal Page Replacement Algorithms : OPT หรือ MIN)
5.5 วิธีสับเปลี่ยนแบบที่ไม่ได้ใช้งานออกก่อน (Not Recently Used : NRU)
5.6 การสับเปลี่ยนแบบใช้งานน้อยที่สุด-ออกก่อน (Least Recently Used : LRU)
5.7 เปรียบเทียบวิธีการสับเปลี่ยนหน้าแบบต่าง ๆ
8.4 การเชื่อมโยงแฟ้มข้อมูลกับหน่วยความจำ
อินพุตและเอาท์พุตถูกใช้งานเหมือนรูทีน
เชื่อมโยงดิกส์บล็อก (Mapping a disk block)
อ่านโดย Demand paging สัดส่วนของ Page sized
ใช้เพจร่วมกัน
8.6 สรุป
ซับซ้อนของการออกแบบ
การจัดการกับหน่วยความจำ
ดูแลหน่วยความจำหลักเสมือน
ใช้งานหน่วยความจำมากที่สุดเท่าที่จะทำได้
มีขนาดเท่าใดก็ได้
เลขที่ 25 หมู่ 800
นางสาวขนิษฐา ศรีพิน 6221659434