Please enable JavaScript.
Coggle requires JavaScript to display documents.
การจัดการหน่วยความจำ - Coggle Diagram
การจัดการหน่วยความจำ
-
การแบ่งส่วน
วิธีพื้นฐาน (Basic Method) นี้เป็นการจัดสรรพื้นที่ในหน่วยความจำหลักออกเป็นส่วน ๆ ตามขนาดของโปรแกรมหรือโมดูลย่อย
ฮาร์ดแวร์ (Hardware) หน่วยความจำจริงยังคงเป็นแบบมิติเดียว จึงต้องมีวิธีการจับคู่ตำแหน่งทางตรรกะแบบสองมิติ ให้เป็นตำแหน่งจริงมิติเดียว
การสร้างตารางเลขตอน (Implementation of Segmentation Tables) เป็นการแบ่งหน่วยความจำหลักออกเป็นส่วน ๆ แต่จะมีความซับซ้อน
การป้องกัน และ การใช้ตอนร่วมกัน (Protection and Sharing) ส่วนต่าง ๆ ของโปรแกรมที่มีลักษณะต่าง ๆ กันข้อมูลในตอนเดียวกันมักจะมีการใช้งานเหมือน ๆ กัน
การสูญเปล่าพื้นที่ย่อย (Fragmentation) การแบ่งเป็นตอนมักทำให้เกิดการสูญเปล่าพื้นที่ย่อยภายนอก ซึ่งเกิดจากพื้นที่ว่างอยู่กระจัดกระจายกัน และ แต่ละพื้นที่มีขนาดเล็กไป
หน่วยความจำหลัก
-
-
Dynamic Loading คือ Routine จะไม่ถูกโหลดจนกระทั่งถูกเรียกใช้งานเป็นการใช้หน่วยความจำเป็นประโยชน์มากกว่าโปรแกรมย่อย
Dynamic Linking and Shared Libraries คือ Linking จะเลื่อนออกไปจนกระทั่งอยู่ในช่วง Execution time มีชุดคำสั่งเล็ก ๆ เรียกว่า Stub ใช้ สำหรับ Locate
ประเภทของหน่วยความจำ
หน่วยความจำภายใน (Internal memory) ประกอบด้วยรีจีสเตอร์ความเร็วสูง โดยหน่วยความจำส่วนนี้ถูกใช้สำหรับเก็บคำสั่ง และ ข้อมูลที่ต้องการทำงานด้วยความเร็วสูงมาก
หน่วยความจำหลัก (Main memory) หน่วยความจำหลักเป็นหน่วยความจำความเร็วสูงใช้สำหรับเก็บคำสั่ง และ ข้อมูลระหว่างการทำงาน
หน่วยความจำสำรอง (Secondary memory) เป็นหน่วยความจำที่มีความเร็วน้อยกว่าหน่วยความจำสองประเภทแรกใช้สำหรับเก็บข้อมูลที่มีขนาดใหญ่ และ เป็นข้อมูลที่ยังไม่ต้องการนำมาประมวลผล
-
-
-
-
การแบ่งพื้นที่เป็นหน้า
-
การทำงานของ Paging
Paging สามารถใช้จำนวนหน้าที่ไม่ติดกันได้ และ ในการจองพื้นที่ก็จะไม่เหลือพื้นที่ว่างคั่นไว้จึงทำให้ไม่เกิดปัญหา External fragmentation
-
การจัดการหน่วยความจำหลัก
วิธีการซ้อนทับ (Overlays) โพรเซสจะต้องถูกแบ่งออกเป็นส่วนย่อยที่อิสระต่อกัน ระบบจะนำเฉพาะส่วนของโพรเซสที่ต้องการใช้เข้ามาบรรจุในหน่วยความจำ
วิธีการสับเปลี่ยน (Swapping) ระบบจะนำโพรเซสที่มีความจุมากออกเพื่อให้มีที่ว่างมากพอที่จะบรรจุโพรเซสอื่น เพื่อให้โพรเซสอื่นได้ทำงาน
การป้องกันหน่วยความจำ
บิตใช้งานได้ (Valid bit) เป็นบิตสถานะที่บอกว่าข้อมูลในเพจถูกอ่านเข้าสู่หน่วยความจำทางกายภาพแล้ว และ สามารถนำไปใช้งานได้ทันที
บิตใช้งานไม่ได้ (Invalid bit) เป็นบิตสถานะที่บอกว่าข้อมูลในเพจนั้นไม่มีอยู่ในหน่วยความจำทางกายภาพแล้ว และ ไม่สามารถนำไปใช้งานได้
-
-