บทที่ 7
การจัดการหน่วยความจำ
การจัดการหน่วยความจำหลัก
ประเภทของหน่วยความจำ
หน่วยความจำภายใน
หน่วยความจำหลัก
หน่วยความจำสำรอง
เรียกอีกอย่างว่า หน่วยความจำเเคช
เก็บคำสั่งและข้อมูลที่ต้องการทำงาน
เก็บคำสั่งและข้อมูลระหว่างการทำงาน
เก็บข้อมูลที่มีขนาดใหญ่และข้อมูลที่ยังไม่ต้องการนำมาประมวลผล
แนวคิดพื้นฐานการจัดการหน่วยความจำหลัก
หน้าที่ของระบบปฏิบัติการ
ควบคุมดูแลสถานะของแต่ละตำแหน่งของหน่วยความจำหลัก
ตัดสินว่าควรจัดสรรหน่วยความจำหลักขนาดเท่าไหร่ให้กับงานใด ณ ตำแหน่งใด
จัดสรรหน่วยความจำหลักให้งานที่ได้เลือกแล้ว
ปลดปล่อยหน่วยความจำหลักให้ว่างเมื่อทำงานเสร็จเเล้ว
ขั้นตอนการทำงาน
- ไปนำมา (Fetch)
- ถอดรหัส(Decode)
- กระทำการ (Execution)
- จัดเก็บ (Store)
หน่วยความจำหลัก
การเชื่อมโยงตำแหน่ง
เวลาแปลโปรแกรม
เวลาโหลดโปรแกรม
เวลากระทำการ
Dynamic Loading
อาศัยการทำ Implement โดยการออกแบบโปรแกรมเอง
Dynamic Linking and Shared Libraries
ตำแหน่งที่ว่างทางกายภาพกับตำแหน่งที่ว่างทางตรรกะ
ตำแหน่งทางตรรกะ
ตำแหน่งที่สร้างขึ้นโดยซีพียู
ตำแหน่งทางกายภาพ
ตำแหน่งในหน่วยความจำ
วิธีการซ้อนทับ (Overlays)
วิธีการสับเปลี่ยน
(Swapping)
การจัดสรรหน่วยความจำแบบต่อเนื่อง
การจัดสรรพื้นที่แบบขนาดคงที่
การแบ่งหน่วยความจำออกเป็นพาร์ติชั่น
การจัดการหน่วยความจำหลักแบบพาร์ติชั่นและย้ายที่อยู่
การกำหนดขนาดพาร์ติชั่นคงที่
การกำหนดขนาดของพาร์ติชั่นให้เปลี่ยนเเปลงได้
ปัญหาการจัดสรรหน่วยเก็บแบบพลวัติ
First - Fit
เลือกช่องโหว่เเรกที่พบและมีขนาดใหญ่เพียงพอกับพื้นที่ที่ต้องการ
Best - Fit
เลือกช่องโหว่ที่เหมาะสมที่สุด
Worst - Fit
เลือกช่องโหว่ที่ใหญ่ที่สุด
ปัญหาของการจัดการหน่วยความจำ
การสูญเปล่าของพื้นที่ย่อยภายนอก
การแก้ปัญหาการสูญเปล่าของพื้นที่ย่อยภายนอก
การสูญเปล่าของพื้นที่ย่อยภายใน
การเเบ่งพื้นที่เป็นหน้า
การจัดสรรหน่วยความจำทางกายภาพ
การจัดสรรหน่วยความจำทางตรรกะ
แบ่งพื้นที่ให้มีขนาดคงที่
เรียกพื้นที่นี้ว่า Frames
แบ่งพื้นที่แบบล็อก
เรียกพื้นที่นี้ว่า Pages
การป้องกันหน่วยความจำ
กลุ่มบิตป้องกัน
บิตใช้งานได้
บิตใช้งานไม่ได้
Page fault
การใช้เพจร่วมกัน
โครงสร้างของตารางเพจ
โครงสร้างเเบบลำดับชั้น
โครงสร้างเเบบตารางเฮช
โครงสร้างเพจแบบผกผัน
Paging และการแก้ปัญหา External Fragmentation
การแก้ปัญหา
Inter Fragmentation
ปัญหาเกิดจาก การใช้งานพื้นที่ไม่คุ้มค่าจากหลักการของ Paging
การเเบ่งส่วน
วิธีพื้นฐาน
ฮาร์ดแวร์
การสร้างตารางเลขตอน
การป้องกันและการใข้ตอนร่วมกัน
การสูญเปล่าพื้นที่ย่อย
6221601291 สิรภัทร สุขยิ่ง เลขที่ 22