Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่ 7 การจัดการหน่วยความจำ - Coggle Diagram
บทที่ 7
การจัดการหน่วยความจำ
7.1 ประเภทของหน่วยความจำ
หน่วยความจำภายใน (Internal memory)
หน่วยความจำหลัก (Main memory)
7.2 แนวคิดพื้นฐานการจัดการหน่วยความจำหลัก
หน้าที่ของระบบปฏิบัติการในการจัดการกับหน่วยความจำหลักมี4 ประการคือ
ตัดสินว่าควรจัดสรรหน่วยความจำหลักขนาดเท่าไร ให้กับงานใด
จัดสรรหน่วยความจำหลักให้งานที่ได้เลือกแล้ว
ปลดปล่อยหน่วยความจำหลักให้ว่างเมื่อทำงานเสร็จแล้ว
ควบคุมดูแลสถานะของแต่ละตำแหน่งของหน่วยความจำหลัก
(Instruction-execution cycle) จะมีขั้นตอนการทำงาน ดังนี้
1 ไปนำมา (Fetch)
2 ถอดรหัส (Decode)
3 กระทำการ (Execution)
4 จัดเก็บ (Store)
7.3 หน่วยความจำหลัก
7.3.1 การเชื่อมโยงตำแหน่ง (Address Binding)
เวลาแปลโปรแกรม (Compile time)
เวลาโหลดโปรแกรม (Load time)
เวลากระทำการ (Execution time)
7.3.2 Dynamic Loading
7.3.3 Dynamic Linking and Shared Libraries
7.4 ตำแหน่งที่ว่างทางกายภาพกับตำแหน่งที่ว่างทางตรรกะ
Logical address
Physical address
7.5 การจัดการหน่วยความจำหลัก
7.5.1 วิธีการซ้อนทับ (Overlays)
7.5.2 วิธีการสับเปลี่ยน (Swapping)
7.6 การจัดสรรหน่วยความจำแบบต่อเนื่อง
7.6.1 การจัดสรรพื้นที่แบบขนาดคงที่ (Fixed-Size Partition)
7.6.2 การแบ่งหน่วยความจำออกเป็นพาร์ติชั่น
การกำหนดขนาดพาร์ติชั่นคงที่ (Static Partition)
การกำหนดขนาดของพาร์ติชั่นให้เปลี่ยนแปลงได้(Dynamic Partition)
7.6.3 การจัดการหน่วยความจำหลักแบบพาร์ติชั่นและย้ายที่อยู่
7.7 ปัญหาการจัดสรรหน่วยเก็บแบบพลวัต
First-Fit
Best-Fit
Worst-Fit
7.8 ปัญหาของการจัดการหน่วยความจำ
7.8.1 การสูญเปล่าของพื้นที่ย่อยภายนอก (External Fragmentation)
7.8.2 การแก้ปัญหาการสูญเปล่าของพื้นที่ย่อยภายนอก
7.8.3 การสูญเปล่าของพื้นที่ย่อยภายใน
(Internal Fragmentation)
7.9 การแบ่งพื้นที่เป็นหน้า
การจัดสรรหน่วยความจำทางกายภาพ (paging model of physical memory)
2). การจัดสรรหน่วยความจำทางตรรกะ (paging model of logical memory)
การทำงานของ Paging
สามารถใช้จำนวนหน้าที่ไม่ติดกันได้และในการจองพื้นที่ก็จะไม่เหลือพื้นที่ว่างคั่นไว้
ฮาร์ดแวร์กับการสนับสนุนการแบ่งหน้า (Hardware Support)
อ่านและจัดเก็บข้อมูลสูง(Fast-lookup)
ชนิดTranslation Look-aside Buffer
(TLB)
วิธีที่ใช้แก้ปัญหาจำเป็นต้องใช้ฮาร์ดแวร์ขนาดเล็กที่มีความเร็ว(Hardware cache)
7.10 การป้องกันหน่วยความจำ
บิตใช้งานได้
(Valid bit)
บิตใช้งานไม่ได้ (Invalid bit)
7.11 การใช้เพจร่วมกัน
โครงสร้างของตารางเพจ (Memory Protection)
โครงสร้างแบบลำดับชั้น (Hierarchical paging)
โครงสร้างแบบตารางเฮช (Hash page table)
โครงสร้างเพจแบบผกผัน (Inverted page table)
Paging และการแก้ไขปัญหา External Fragmentation
7.12 การแก้ปัญหา Internal Fragmentation
ต้องเลือกขนาดหน้าให้เล็กที่สุดเพื่อลดการสูญเสียพื้นที่เปล่า แต่ไม่ควรเลือกเล็กจนเกินไป
7.13 การแบ่งส่วน
1 Basic Method
2 ฮาร์ดแวร์(Hardware)
3 การสร้างตารางเลขตอน
(Implementation of Segmentation Tables)
4 การป้องกันและการใช้ตอนร่วมกัน (Protection and Sharing)