Skip to main content

การจัดสรรหน่วยความจำแบบไดนามิกคืออะไร?

การจัดสรรหน่วยความจำแบบไดนามิกหรือที่เรียกว่าการจัดสรรหน่วยความจำที่ใช้ฮีปเป็นประเภทของการจัดการหน่วยความจำที่แตกต่างอย่างรวดเร็วโดยการจัดสรรหน่วยความจำแบบคงที่ในการจัดสรรหน่วยความจำแบบไดนามิกโปรแกรมเมอร์จะบอกคอมพิวเตอร์ว่าหน่วยความจำในการจัดสรรสำหรับแต่ละโปรแกรมและระยะเวลาที่จะอยู่ในหน่วยความจำสิ่งนี้จะแก้ปัญหามากมายที่เกิดขึ้นในการจัดสรรหน่วยความจำแบบคงที่เช่นการใช้หน่วยความจำมากเกินไปและโปรแกรมที่หยุดชะงักในขณะที่มันแก้ปัญหามากมายหากโปรแกรมเมอร์ลืมบอกหน่วยความจำให้ทิ้งหน่วยความจำแบบไดนามิกอาจกลายเป็นปัญหา

คอมพิวเตอร์โดยค่าเริ่มต้นใช้การจัดสรรหน่วยความจำแบบคงที่ซึ่งหมายความว่าหน่วยความจำจะอยู่ในโปรแกรมเมื่อใช้งานแม้ว่าโปรแกรมจะไม่ถูกใช้อีกต่อไปหรือหากหน่วยความจำที่จัดขึ้นกลายเป็นอันตรายหรือเป็นอุปสรรคต่อประสิทธิภาพตัวอย่างเช่นหากผู้ใช้หยุดเรียกใช้โปรแกรมที่ใช้เวลา 2 เมกะไบต์ (MB) บนเครื่อง 3 MB และโปรแกรมที่สองต้องการอีก 2 MB โปรแกรมที่สองจะไม่ทำงานนี่เป็นเพราะมีหน่วยความจำไม่เพียงพอในคอมพิวเตอร์สำหรับโปรแกรมอื่น ๆ

ด้วยการจัดสรรหน่วยความจำแบบคงที่ผู้ใช้หรือโปรแกรมเมอร์ไม่สามารถระบุจำนวนหน่วยความจำที่เขาหรือเธอต้องการเก็บไว้หน่วยความจำเพื่อเพิ่มทรัพยากรนี่คือเหตุผลที่ผู้ใช้ขั้นสูงมักใช้การจัดสรรหน่วยความจำแบบไดนามิกโปรแกรมเมอร์สามารถควบคุมทุกอย่างเกี่ยวกับหน่วยความจำรวมถึงระยะเวลาที่จะยึดไว้กับทรัพยากร

ตัวอย่างเช่นโปรแกรมเมอร์สามารถตั้งค่าการจัดสรรหน่วยความจำแบบไดนามิกให้อยู่กับเพียง 1 MB หรือน้อยกว่าซึ่งจะช่วยให้หน่วยความจำระบบเพียงพอที่จะอนุญาตให้อื่น ๆโปรแกรมที่จะเปิดสิ่งนี้สามารถทำได้เนื่องจากหน่วยความจำคงที่มักจะเก็บทุกอย่างเกี่ยวกับโปรแกรมในขณะที่หน่วยความจำแบบไดนามิกช่วยให้โปรแกรมเมอร์ตั้งค่าที่ค่าต่ำกว่าที่เก็บข้อมูลบางส่วน แต่ไม่ใช่ทุกอย่างในเวลาเดียวกันหน่วยความจำคงที่จะยังคงต้องใช้และสามารถตั้งค่าในสคีมาการจัดสรรนี้

ปัญหาที่อาจเกิดขึ้นกับการจัดสรรหน่วยความจำแบบไดนามิก mdash;หนึ่งที่ไม่ค่อยเข้ามาเล่น mdash;คือหน่วยความจำแบบไดนามิกอาจเติมเต็มหากโปรแกรมเมอร์ลืมที่จะตั้งค่าเวลาหากไม่มีการตั้งค่าเวลาเวลาซึ่งแตกต่างจากหน่วยความจำสแตติกที่จะปล่อยหน่วยความจำในที่สุดหน่วยความจำแบบไดนามิกจะเก็บข้อมูลไว้บนข้อมูลหากโปรแกรมมีแอปพลิเคชันการถ่ายโอนข้อมูลขยะและส่วนใหญ่ทำมันจะเปิดใช้งานหลังจากระยะเวลาหนึ่งเพื่อล้างหน่วยความจำยังคงเป็นแนวปฏิบัติที่ดีที่สุดในการกำหนดค่าเวลาสำหรับการจัดสรรหน่วยความจำ