Memori Virtual di OS: Apa itu, Permintaan Paging, Keuntungan
⚡ Ringkasan Cerdas
Memori virtual adalah mekanisme penyimpanan yang memberikan ilusi memori utama yang besar kepada pengguna dengan memperlakukan sebagian penyimpanan sekunder sebagai RAM. Hal ini memungkinkan proses yang lebih besar dari memori fisik untuk berjalan, dan diimplementasikan dengan paging sesuai permintaan (demand paging).

Apa itu Memori Virtual?
Memori Virtual Memori virtual adalah mekanisme penyimpanan yang memberikan ilusi kepada pengguna seolah-olah memiliki memori utama yang sangat besar. Hal ini dilakukan dengan memperlakukan sebagian memori sekunder sebagai memori utama. Dalam memori virtual, pengguna dapat menyimpan proses dengan ukuran yang lebih besar daripada memori utama yang tersedia.
Oleh karena itu, alih-alih memuat satu proses panjang di memori utama, OS memuat berbagai bagian dari lebih dari satu proses di memori utama. Memori virtual sebagian besar diimplementasikan dengan paging permintaan dan segmentasi permintaan.
Mengapa Perlu Memori Virtual?
Berikut adalah alasan mengapa memori virtual digunakan:
- Setiap kali komputer Anda tidak memiliki ruang di memori fisik, komputer akan menuliskan apa yang perlu diingat ke hard disk dalam file swap sebagai memori virtual.
- Jika komputer sedang berjalan Windows Karena membutuhkan memori/RAM lebih banyak daripada yang terpasang di sistem, ia menggunakan sebagian kecil dari hard drive untuk tujuan ini.
Bagaimana Memori Virtual Bekerja?
Di dunia modern, memori virtual telah menjadi cukup umum saat ini. Memori virtual digunakan setiap kali beberapa halaman perlu dimuat ke memori utama untuk dieksekusi, dan memori tidak tersedia untuk memuat halaman-halaman tersebut.
Jadi, dalam kasus tersebut, alih-alih mencegah halaman masuk ke memori utama, sistem operasi mencari ruang RAM yang paling sedikit digunakan dalam beberapa waktu terakhir, atau yang tidak diakses, dan memindahkannya ke memori sekunder untuk memberi ruang bagi halaman baru di memori utama.
Mari kita mengerti manajemen memori virtual dengan bantuan satu contoh.
Misalnya
Mari kita asumsikan bahwa sebuah sistem operasi membutuhkan memori sebesar 300 MB untuk menyimpan semua program yang sedang berjalan. Namun, saat ini hanya tersedia 50 MB memori fisik yang tersimpan di RAM.
- Sistem operasi kemudian akan menyiapkan memori virtual sebesar 250 MB dan menggunakan program yang disebut Virtual Memory Manager (VMM) untuk mengelola memori virtual 250 MB tersebut.
- Jadi, dalam hal ini, VMM akan membuat file di hard disk berukuran 250 MB untuk menyimpan memori tambahan yang dibutuhkan.
- Sistem operasi sekarang akan mengakses memori seolah-olah menganggap ada 300 MB memori nyata yang tersimpan di RAM, meskipun hanya tersedia ruang sebesar 50 MB.
- Tugas VMM adalah mengelola memori sebesar 300 MB meskipun hanya tersedia ruang memori aktual sebesar 50 MB.
Apa itu Paging Permintaan?
Mekanisme paging permintaan sangat mirip dengan a sistem paging dengan pertukaranping, di mana proses disimpan di memori sekunder dan halaman dimuat hanya saat dibutuhkan, bukan sebelumnya.
Jadi, ketika terjadi peralihan konteks, sistem operasi tidak pernah menyalin halaman program lama dari disk atau halaman program baru ke memori utama. Sebaliknya, sistem akan mulai mengeksekusi program baru setelah memuat halaman pertama dan mengambil halaman program yang dirujuk.
Selama eksekusi program, jika program merujuk ke halaman yang mungkin tidak tersedia di memori utama karena telah ditukar (swapped out), maka prosesor menganggapnya sebagai referensi memori yang tidak valid. Hal ini karena page fault mengembalikan kendali dari program ke sistem operasi, yang menuntut untuk menyimpan halaman tersebut kembali ke memori.
Jenis Metode Penggantian Halaman
Berikut beberapa metode penggantian halaman yang penting:
- FIFO
- Algoritma Optimal
- Penggantian Halaman LRU
Penggantian Halaman FIFO
FIFO (First-in-first-out) adalah metode implementasi yang sederhana. Dalam metode ini, memori memilih halaman pengganti yang telah lama berada di alamat virtual memori.
Fitur
- Setiap kali halaman baru dimuat, halaman yang paling lama berada di memori akan dihapus. Jadi, mudah untuk memutuskan halaman mana yang akan dihapus, karena nomor identifikasinya selalu berada di bagian depan tumpukan FIFO.
- Halaman tertua di memori utama adalah halaman yang harus dipilih untuk diganti terlebih dahulu.
Algoritma Optimal
Metode penggantian halaman yang optimal memilih halaman pengganti yang waktu untuk referensi berikutnya paling lama.
Fitur
- Algoritma Optimal menghasilkan jumlah page fault paling sedikit. Algoritma ini sulit diimplementasikan.
- Algoritma penggantian halaman optimal memiliki tingkat kesalahan halaman terendah di antara semua algoritma. Algoritma ini ada dan seharusnya disebut MIN atau OPT.
- Ganti halaman yang kemungkinan besar tidak akan digunakan dalam jangka waktu lama. Halaman tersebut hanya digunakan saat memang perlu digunakan.
Penggantian Halaman LRU
Singkatan LRU adalah Least Recently Used page (Halaman yang Paling Jarang Digunakan). Metode ini membantu sistem operasi untuk menemukan penggunaan halaman dalam jangka waktu singkat. Algoritma ini harus diimplementasikan dengan mengaitkan penghitung dengan setiap halaman.
Bagaimana cara kerjanya?
- Halaman yang paling lama tidak digunakan di memori utama adalah halaman yang akan dipilih untuk diganti.
- Mudah diterapkan, simpan daftar, ganti halaman dengan melihat kembali ke masa lalu.
Fitur
- Metode penggantian LRU memiliki jumlah tertinggi. Penghitung ini juga disebut register penuaan, yang menentukan usia dan seberapa sering halaman terkaitnya juga harus dirujuk.
- Halaman yang paling lama tidak digunakan di memori utama adalah halaman yang harus dipilih untuk diganti.
- Itu juga menyimpan daftar dan mengganti halaman dengan melihat kembali ke masa lalu.
Tingkat kesalahan
Tingkat kegagalan adalah frekuensi terjadinya kegagalan pada sistem atau komponen yang dirancang. Angka ini dinyatakan dalam jumlah kegagalan per satuan waktu. Angka ini dilambangkan dengan huruf Yunani λ (lambda).
Keuntungan dari Memori Virtual
Berikut adalah kelebihan/manfaat menggunakan Memori Virtual:
- Memori virtual membantu menambah kecepatan ketika hanya segmen tertentu dari program yang diperlukan untuk menjalankan program.
- Ini sangat membantu dalam mengimplementasikan lingkungan multiprogramming.
- Ini memungkinkan Anda menjalankan lebih banyak aplikasi sekaligus.
- Ini membantu Anda memasukkan banyak program besar ke dalam program yang lebih kecil.
- Data atau kode umum dapat dibagikan antar memori.
- Suatu proses bahkan dapat menjadi lebih besar daripada seluruh memori fisik.
- Data/kode harus dibaca dari disk setiap kali diperlukan.
- Kode dapat ditempatkan dimana saja di memori fisik tanpa memerlukan relokasi.
- Lebih banyak proses harus dipertahankan di memori utama, yang meningkatkan penggunaan CPU secara efektif.
- Setiap halaman disimpan di disk hingga dibutuhkan, setelah itu akan dihapus.
- Ini memungkinkan lebih banyak aplikasi dijalankan secara bersamaan.
- Tidak ada batasan khusus pada derajat multiprogramming.
- Program-program besar sebaiknya ditulis, karena ruang alamat virtual yang tersedia lebih besar dibandingkan dengan memori fisik.
Kekurangan Memori Virtual
Berikut adalah kekurangan/kelemahan penggunaan memori virtual:
- Aplikasi dapat berjalan lebih lambat jika sistem menggunakan memori virtual.
- Kemungkinan dibutuhkan lebih banyak waktu untuk beralih antar aplikasi.
- Ini menawarkan ruang penyimpanan hard drive yang lebih sedikit untuk penggunaan Anda.
- Ini mengurangi stabilitas sistem.
- Hal ini memungkinkan aplikasi yang lebih besar untuk berjalan di sistem yang tidak menyediakan RAM fisik yang cukup untuk menjalankannya.
- Ini tidak menawarkan kinerja yang sama seperti RAM.
- Ini berdampak negatif terhadap kinerja sistem secara keseluruhan.
- Hal ini memakan ruang penyimpanan, yang seharusnya dapat digunakan untuk penyimpanan data jangka panjang.

