Memori Virtual di OS: Apa itu, Permintaan Paging, Keuntungan

Apa itu Memori Virtual?

Memori Virtual adalah mekanisme penyimpanan yang menawarkan ilusi kepada pengguna memiliki memori utama yang sangat besar. Hal ini dilakukan dengan memperlakukan sebagian memori sekunder sebagai memori utama. Pada Virtual memory, pengguna dapat menyimpan proses dengan ukuran lebih besar dari 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 alasan penggunaan memori virtual:

  • Setiap kali komputer Anda tidak memiliki ruang di memori fisik, komputer akan menulis apa yang perlu diingat ke hard disk dalam file swap sebagai memori virtual.
  • Jika komputer sedang berjalan Windows membutuhkan lebih banyak memori/RAM, kemudian dipasang di sistem, ia menggunakan sebagian kecil hard drive untuk tujuan ini.

Bagaimana Memori Virtual Bekerja?

Di dunia modern, memori virtual sudah menjadi hal yang umum saat ini. Ini digunakan setiap kali beberapa halaman perlu dimuat di memori utama untuk eksekusi, dan memori tidak tersedia untuk banyak halaman tersebut.

Jadi, dalam hal ini, alih-alih mencegah halaman masuk ke memori utama, OS akan mencari ruang RAM yang paling sedikit digunakan belakangan ini atau yang tidak direferensikan ke memori sekunder untuk memberi ruang bagi halaman baru di memori utama. memori utama.

Mari mengerti manajemen memori virtual dengan bantuan satu contoh.

Misalnya

Mari kita asumsikan bahwa sebuah OS memerlukan memori 300 MB untuk menyimpan semua program yang sedang berjalan. Namun, saat ini hanya tersedia 50 MB memori fisik yang tersimpan di RAM.

  • OS kemudian akan menyiapkan 250 MB memori virtual dan menggunakan program yang disebut Virtual Memory Manager (VMM) untuk mengelola 250 MB tersebut.
  • Jadi, dalam hal ini VMM akan membuat file di hard disk berukuran 250 MB untuk menyimpan memori tambahan yang diperlukan.
  • OS sekarang akan melanjutkan ke alamat memori karena mempertimbangkan 300 MB memori sebenarnya yang disimpan dalam RAM, meskipun hanya tersedia ruang 50 MB.
  • Tugas VMM adalah mengelola memori 300 MB meskipun hanya tersedia 50 MB ruang memori sebenarnya.

Apa itu Paging Permintaan?

Permintaan Paging

Mekanisme paging permintaan sangat mirip dengan a sistem paging dengan pertukaran dimana proses disimpan dalam memori sekunder dan halaman dimuat hanya berdasarkan permintaan, bukan terlebih dahulu.

Jadi, ketika peralihan konteks terjadi, OS tidak pernah menyalin halaman program lama mana pun dari disk atau halaman program baru mana pun ke dalam memori utama. Sebaliknya, ia akan mulai menjalankan program baru setelah memuat halaman pertama dan mengambil halaman program yang direferensikan.

Selama eksekusi program, jika program mereferensikan halaman yang mungkin tidak tersedia di memori utama karena ditukar, maka prosesor menganggapnya sebagai referensi memori yang tidak valid. Itu karena kesalahan halaman dan transfer mengirimkan kendali kembali dari program ke OS, yang menuntut untuk menyimpan halaman kembali ke dalam memori.

Jenis Metode Penggantian Halaman

Berikut adalah 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 baru saja muncul di memori akan dihapus. Jadi, mudah untuk memutuskan halaman mana yang perlu dihapus karena nomor identifikasinya selalu ada di tumpukan FIFO.
  • Halaman terlama di memori utama adalah halaman yang harus dipilih untuk penggantinya terlebih dahulu.

Algoritma Optimal

Metode penggantian halaman yang optimal memilih halaman pengganti yang waktu untuk referensi berikutnya paling lama.

Fitur

  • Algoritma optimal menghasilkan jumlah kesalahan halaman paling sedikit. Algoritma ini sulit untuk diimplementasikan.
  • Metode algoritma penggantian halaman yang optimal memiliki rasio kesalahan halaman terendah dari semua algoritma. Algoritma ini ada dan seharusnya disebut MIN atau OPT.
  • Ganti halaman yang tidak ingin digunakan untuk jangka waktu yang lebih lama. Ini hanya menggunakan waktu ketika suatu halaman perlu digunakan.

Penggantian Halaman LRU

Bentuk lengkap LRU adalah halaman yang Paling Terakhir Digunakan. Metode ini membantu OS menemukan penggunaan halaman dalam jangka waktu singkat. Algoritma ini harus diimplementasikan dengan mengasosiasikan counter dengan halaman genap.

Bagaimana cara kerjanya?

  • Halaman yang sudah lama tidak digunakan di memori utama akan dipilih untuk penggantinya.
  • Mudah diterapkan, simpan daftar, ganti halaman dengan melihat kembali ke masa lalu.

Fitur

  • Metode penggantian LRU mempunyai jumlah tertinggi. Penghitung ini juga disebut register penuaan, yang menentukan usianya dan seberapa banyak halaman terkaitnya juga harus direferensikan.
  • Halaman yang sudah lama tidak digunakan di memori utama adalah halaman yang harus dipilih untuk penggantinya.
  • Itu juga menyimpan daftar dan mengganti halaman dengan melihat kembali ke masa lalu.

Tingkat kesalahan

Tingkat kesalahan adalah frekuensi kegagalan sistem atau komponen yang dirancang. Hal ini dinyatakan dalam kegagalan per satuan waktu. Dilambangkan dengan huruf Yunani ? (lambda).

Keuntungan dari Memori Virtual

Berikut kelebihan/keuntungan menggunakan Virtual Memory:

  • 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.
  • Proses mungkin menjadi lebih besar dari seluruh memori fisik.
  • Data/kode harus dibaca dari disk kapan pun 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 sampai diperlukan, setelah itu akan dihapus.
  • Ini memungkinkan lebih banyak aplikasi dijalankan secara bersamaan.
  • Tidak ada batasan khusus pada derajat multiprogramming.
  • Program berukuran besar harus ditulis, karena ruang alamat virtual yang tersedia lebih banyak dibandingkan dengan memori fisik.

Kekurangan Memori Virtual

Berikut kekurangan/kekurangan penggunaan memori virtual:

  • Aplikasi dapat berjalan lebih lambat jika sistem menggunakan memori virtual.
  • Mungkin membutuhkan lebih banyak waktu untuk beralih antar aplikasi.
  • Menawarkan ruang hard drive yang lebih kecil untuk Anda gunakan.
  • Ini mengurangi stabilitas sistem.
  • Hal ini memungkinkan aplikasi yang lebih besar untuk berjalan di sistem yang tidak menawarkan cukup RAM fisik saja untuk menjalankannya.
  • Itu tidak menawarkan kinerja yang sama dengan RAM.
  • Ini berdampak negatif terhadap kinerja sistem secara keseluruhan.
  • Menempati ruang penyimpanan, yang mungkin digunakan untuk penyimpanan data jangka panjang.

Ringkasan

  • Memori Virtual adalah mekanisme penyimpanan yang menawarkan ilusi kepada pengguna memiliki memori utama yang sangat besar.
  • Memori virtual diperlukan setiap kali komputer Anda tidak memiliki ruang di memori fisik
  • Mekanisme paging permintaan sangat mirip dengan sistem paging dengan swapping dimana proses disimpan dalam memori sekunder dan halaman dimuat hanya berdasarkan permintaan, bukan terlebih dahulu.
  • Metode penggantian Halaman yang penting adalah 1) FIFO 2) Algoritma Optimal 3) Penggantian Halaman LRU.
  • Dalam metode FIFO (Masuk pertama keluar pertama), memori memilih halaman pengganti yang telah lama berada di alamat virtual memori.
  • Metode penggantian halaman yang optimal memilih halaman pengganti yang waktu untuk referensi berikutnya paling lama.
  • Metode LRU membantu OS menemukan penggunaan halaman dalam waktu singkat.
  • Memori virtual membantu menambah kecepatan ketika hanya segmen tertentu dari program yang diperlukan untuk menjalankan program.
  • Aplikasi dapat berjalan lebih lambat jika sistem menggunakan memori virtual.