แอปพลิเคชันได้รับช่วงของหน่วยความจำโดยระบบปฏิบัติการ โดยทั่วไปแอปพลิเคชันจะต้องร้องขอหน่วยความจำ แต่ฟังก์ชันการทำงานนั้นอาจถูกบดบังไปยังโปรแกรมเมอร์เนื่องจากภาษา
ภาษาเช่น C อนุญาตให้มีการบล็อกการร้องขอสำหรับขนาดที่เฉพาะเจาะจงในขณะที่ภาษาอื่น ๆ เช่น C ++, C #, Java new
และอนุญาตให้มีการร้องขอผ่านการใช้คำหลักเช่น แต่ละภาษามีหลายวิธีในการจัดสรรหน่วยความจำดังนั้นนี่เป็นเพียงภาพรวมโดยย่อ การปล่อยหน่วยความจำกลับไปที่ OS อาจทำได้อย่างชัดเจนหรือผ่านตัวรวบรวมขยะ
การเข้าถึงหน่วยความจำภายในแอปพลิเคชันขึ้นอยู่กับวิธีการจัดสรร C และ C ++ เป็นที่รู้จักกันดีที่สุดในการใช้แนวคิดของพอยน์เตอร์เพื่อระบุ / ติดตามตำแหน่งของหน่วยความจำ มิฉะนั้นการเข้าถึงหน่วยความจำจะถูกจัดการผ่านคลาสหรือตัวแปรที่สร้างขึ้น
ส่วนใหญ่คุณไม่ต้องกังวลเกี่ยวกับการเข้าถึงหน่วยความจำเฉพาะภายในโปรแกรมของคุณ โครงสร้างภาษาและระบบปฏิบัติการปิดบังอย่างมีประสิทธิภาพซึ่งเกี่ยวข้องกับคุณ
ตัวอย่างตัวจับเวลาในเกมเป็นตัวอย่างที่ยอดเยี่ยมที่คุณไม่ต้องกังวลเกี่ยวกับการจัดสรรหน่วยความจำพื้นฐาน คุณจะมีตัวแปรที่เป็นตัวจับเวลาและคุณเพิ่งอ่านจากตัวแปร
คำตอบของฉันเกี่ยวข้องเมื่อคุณกำลังเขียนแอปพลิเคชันในขณะที่คำตอบของ zxcdw เกี่ยวข้องกับการเข้าถึงหน่วยความจำที่เป็นของแอปพลิเคชันอื่น ข้อกำหนด LMGTFY ของคุณจะเป็น "การแก้ไขข้อบกพร่อง" และ "วิศวกรรมย้อนกลับ" เพื่อเจาะลึกหัวข้อเพิ่มเติม
อ่านเพิ่มเติมบางส่วน:
- บทความ Wikipedia เกี่ยวกับหน่วยความจำคอมพิวเตอร์จะให้ภาพรวมที่ดีเกี่ยวกับสิ่งต่าง ๆ
- จากนั้นดูในบทความ Wikipedia เกี่ยวกับI / O ที่จับคู่หน่วยความจำเพื่อทำความเข้าใจกลไกที่ต่อเนื่อง
- สุดท้ายให้ดูที่บทความเกี่ยวกับหน่วยความจำเสมือนเพื่อรับคำตอบที่ดีกว่าว่าแต่ละระบบปฏิบัติการจะจัดการการแมปหน่วยความจำแตกต่างจากที่อื่นเล็กน้อยอย่างไร