มีหลายเลเยอร์ที่เกี่ยวข้องที่นี่ซึ่งส่งผลต่อคำตอบ
หากคุณถือว่าระบบปฏิบัติการหน่วยความจำเสมือนที่ทันสมัยคุณจะไม่สามารถเห็นส่วนที่เหลือของข้อมูลกระบวนการอื่นในหน้าเว็บที่คุณจัดสรร
เมื่อกระบวนการถูกโหลดครั้งแรกตารางหน้าจะถูกโหลดและอาจมีการจัดสรรเฟรมของหน่วยความจำจริงไปยังหน้าเหล่านั้น อย่างน้อยที่สุดตารางหน้าหรือตารางเสริมจะมีแผนที่ของหน่วยความจำทั้งหมดที่กระบวนการสามารถจัดสรรได้ นี่ก็เป็นจุดเริ่มต้นของการแบ่งกระบวนการเริ่มต้นตามที่กล่าวไว้ข้างต้น
ในขณะที่ malloc () อาจหากอนุญาตให้กระบวนการทำให้ตัวแบ่งกระบวนการเปลี่ยนแปลงเพิ่มหน้าเพิ่มเติมให้กับหน้ากระบวนการ (หน้าเพิ่มเติม) ตารางเพื่อตอบสนองคำขอสถานที่ที่กระบวนการหนึ่งอาจ "รับอีก" กระบวนการข้อมูลอยู่ที่ เลเยอร์หน่วยความจำจริงที่ต่ำกว่า
ในทั้งสองกรณีนี้ระบบปฏิบัติการที่ทันสมัยที่ใช้การเพจจิ้งตามความต้องการหรือการจัดสรรแบบไม่ได้จัดสรรนั้นยังไม่ได้จัดสรรหน่วยความจำฟิสิคัล (เฟรม) ระบบปฏิบัติการเป็นเพียง "การจดบันทึก" เกี่ยวกับหน่วยความจำเสมือนสำหรับกระบวนการนั้นว่าถูกต้อง หน่วยความจำจริงได้รับมอบหมายเมื่อจำเป็นเท่านั้น
หน่วยความจำฟิสิคัลหรือเฟรมได้รับการจัดสรรให้กับกระบวนการเมื่อเพจเสมือนถูกรับรู้และแมปเข้ากับตารางเพจกระบวนการนี่คือที่ที่มีโอกาสเกิดการเปิดเผยข้อมูล สิ่งนี้เกิดขึ้นระหว่างข้อบกพร่องของหน้า การเปิดรับแสงเป็นเพราะกระบวนการก่อนหน้านี้อาจใช้เฟรมเดียวกันนั้นและข้อมูลของมันถูกทอดทิ้งหรือสลับเพื่อให้มีที่ว่างสำหรับการร้องขอหน่วยความจำกายภาพปัจจุบัน ระบบปฏิบัติการจะต้องใช้ความระมัดระวังเพื่อให้แน่ใจว่าข้อมูลกระบวนการที่ร้องขอนั้นถูกสับเปลี่ยนอย่างเหมาะสมหรือเฟรมถูกลบ (ศูนย์) ก่อนที่จะดำเนินการต่อ สิ่งนี้ถูกกล่าวถึงข้างต้นว่าเป็นปัญหา "เก่า แต่แก้ไขแล้ว"
สิ่งนี้ทำให้มันค่อนข้างไม่เกี่ยวข้องเลยหากหน่วยความจำกระบวนการอื่น ๆ นั้น "ปล่อย" หรือไม่ กระบวนการอื่น ๆ หน่วยความจำ "ปล่อย" ยังคงอยู่ในหน้าที่ได้รับมอบหมายให้กระบวนการนั้นและมักจะไม่ได้รับการแมปจนกว่ากระบวนการจะจบลงเพราะพวกเขาจะได้รับการสลับออกเมื่อหน่วยความจำเหลือน้อยหรือถูกขับไล่ malloc () และ free () จัดการหน่วยความจำเสมือนที่กำหนดให้กับกระบวนการในระดับ (ผู้ใช้)
ในคำถามของคุณกระบวนการของคุณยังคงร้องขอหน่วยความจำมากขึ้นเรื่อย ๆ ในทางทฤษฎีผลักกระบวนการอื่น ๆ ออกจากหน่วยความจำ ในความเป็นจริงมีกลยุทธ์การจัดสรรเฟรม - ระดับโลกและระดับท้องถิ่น - ที่อาจส่งผลกระทบต่อคำตอบเช่นกัน เป็นไปได้ว่ากระบวนการจะบังคับให้เพจของตัวเองออกจากหน่วยความจำก่อนที่จะได้รับอนุญาตให้ใช้งานเกินระบบปฏิบัติการและกระบวนการอื่น ๆ ทั้งหมด แม้ว่านี่จะเกินกว่าคำถามเริ่มต้นของคุณ
ทั้งหมดนี้เป็น moot ในระบบเช่น MS-DOS MS-DOS (และระบบอื่น ๆ ที่ง่ายกว่า) ไม่ใช้หน่วยความจำเสมือน (ด้วยตนเอง) และคุณสามารถกระตุ้นและแย่งข้อมูล "กระบวนการ" อื่นได้อย่างง่ายดาย
การอ้างอิงที่ดีบางอย่างที่อาจเข้าใจได้ง่ายกว่าซอร์สโค้ด Linux อาจเป็นหนังสือระบบปฏิบัติการที่ดีแนวคิดระบบปฏิบัติการโดย Silberscatz, Gavin และ Gange หรือการออกแบบระบบปฏิบัติการโดย Andrew Tanenbaum บางสิ่งเช่น Nachos จาก Berkeley หรือ Pintos จาก Stanford เป็นระบบปฏิบัติการขนาดเล็กที่สร้างขึ้นเพื่อการเรียนรู้และมีความคิดเดียวกันนี้อยู่ภายใน