Ada beberapa lapisan yang terlibat di sini yang mempengaruhi jawabannya.
Jika Anda menggunakan sistem operasi memori virtual modern, Anda tidak akan dapat melihat sisa-sisa data proses lain di halaman yang Anda alokasikan.
Saat proses pertama kali dimuat, tabel halaman dimuat, dan berpotensi frame memori nyata dialokasikan ke halaman-halaman tersebut. Minimal, tabel halaman atau tabel tambahannya, akan berisi peta semua memori yang dapat dialokasikan proses. Ini juga di mana proses awal istirahat, yang disebutkan di atas, akan ditetapkan.
Sementara malloc () dapat, jika proses diizinkan, menyebabkan proses istirahat berubah, menambahkan lebih banyak halaman ke tabel proses (halaman tambahan) untuk memenuhi permintaan, tempat di mana satu proses dapat "mendapatkan yang lain" memproses data di lapisan memori nyata yang lebih rendah.
Dalam kedua skenario ini, sistem operasi modern yang menggunakan paging permintaan, atau alokasi malas, belum mengalokasikan memori fisik (frame). Sistem operasi hanya "membuat catatan" tentang memori virtual mana yang dianggap sah. Memori aktual hanya akan diberikan bila diperlukan.
Memori fisik atau frame dialokasikan ke proses ketika halaman virtual direalisasikan dan dipetakan ke dalam tabel halaman proses Di sinilah potensi eksposur data ada. Ini terjadi selama kesalahan halaman. Eksposur adalah karena proses sebelumnya mungkin telah menggunakan frame yang sama dan datanya baik ditinggalkan atau ditukar, untuk memberikan ruang bagi permintaan memori fisik saat ini. Sistem operasi harus berhati-hati untuk memastikan bahwa data proses yang diminta ditukar dengan benar atau bingkai dibersihkan (memusatkan perhatian) sebelum melanjutkan proses. Ini juga disebutkan di atas sebagai masalah "lama tapi terpecahkan".
Ini membuatnya agak tidak relevan jika memori proses lain "dirilis" atau tidak. Memori lain yang "dilepaskan" proses masih berada di halaman yang ditugaskan untuk proses itu dan biasanya tidak dipetakan sampai proses berakhir karena mereka hanya akan ditukar ketika memori menjadi rendah atau mereka diusir. malloc () dan free () mengelola memori virtual yang ditugaskan untuk proses di tingkat (pengguna).
Dalam pertanyaan Anda, proses Anda, terus-menerus meminta semakin banyak memori, secara teori, mendorong semua proses lain keluar dari memori. Pada kenyataannya, ada strategi alokasi bingkai - global dan lokal - yang dapat mempengaruhi jawaban juga. Sangat mungkin bahwa proses akan memaksa halaman sendiri kehabisan memori sebelum diizinkan untuk membanjiri sistem operasi dan semua proses lainnya. Meskipun ini melampaui pertanyaan awal Anda.
Semua ini diperdebatkan dalam sistem seperti MS-DOS. MS-DOS (dan lainnya, sistem yang lebih sederhana) tidak menggunakan memori virtual (sendiri) dan Anda dapat dengan mudah menyodok dan mendorong data "proses" lainnya.
Beberapa referensi yang bagus, yang mungkin lebih mudah dipahami daripada kode sumber Linux adalah buku teks sistem operasi yang baik, Konsep Sistem Operasi oleh Silberscatz, Gavin, dan Gange, atau Desain Sistem Operasi oleh Andrew Tanenbaum. Juga sesuatu seperti Nachos dari Berkeley atau Pintos dari Stanford adalah sistem operasi kecil yang dibangun untuk belajar dan memiliki ide-ide yang sama di dalamnya.