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

Daftar Isi:

Anonim

Apa itu Memori Virtual?

Memori Virtual adalah mekanisme penyimpanan yang menawarkan ilusi pengguna memiliki memori utama yang sangat besar. Ini dilakukan dengan memperlakukan bagian dari memori sekunder sebagai memori utama. Dalam memori virtual, pengguna dapat menyimpan proses dengan ukuran yang 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 permintaan paging dan segmentasi permintaan.

Dalam tutorial Sistem Operasi ini, Anda akan mempelajari:

  • Apa itu Memori Virtual?
  • Bagaimana Memori Virtual Bekerja?
  • Apa itu Demand Paging?
  • Jenis metode penggantian Halaman
  • Penggantian Halaman FIFO
  • Algoritma Optimal
  • Penggantian Halaman LRU
  • Keuntungan Memori Virtual
  • Kekurangan Memori Virtual

Mengapa Perlu Memori Virtual?

Berikut ini alasan penggunaan memori virtual:

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

Bagaimana Memori Virtual Bekerja?

Di dunia modern, memori virtual telah menjadi hal yang umum akhir-akhir 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 mencari ruang RAM yang minimum digunakan belakangan ini atau yang tidak dirujuk ke memori sekunder untuk membuat ruang bagi halaman baru di memori utama.

Mari kita pahami manajemen memori virtual dengan bantuan satu contoh.

Sebagai contoh:

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

  • OS kemudian akan menyiapkan 250 MB memori virtual dan menggunakan program yang disebut Manajer Memori Virtual (VMM) untuk mengelola 250 MB itu.
  • Jadi, dalam hal ini, VMM akan membuat file pada hard disk yang berukuran 250 MB untuk menyimpan memori tambahan yang dibutuhkan.
  • OS sekarang akan melanjutkan ke alamat memori karena memperhitungkan 300 MB memori nyata yang disimpan dalam RAM, bahkan jika hanya tersedia ruang 50 MB.
  • Ini adalah tugas VMM untuk mengelola memori 300 MB meskipun hanya tersedia ruang memori nyata sebesar 50 MB.

Apa itu Demand Paging?

Mekanisme paging permintaan sangat mirip dengan sistem paging dengan swapping di mana proses disimpan dalam memori sekunder dan halaman dimuat hanya atas permintaan, bukan sebelumnya.

Jadi, ketika sakelar konteks terjadi, OS tidak pernah menyalin halaman program lama apa pun dari disk atau halaman program baru apa 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 mengirim kontrol kembali dari program ke OS, yang menuntut untuk menyimpan halaman kembali ke dalam 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 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-baru ini masuk ke memori 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 diganti terlebih dahulu.

Algoritma Optimal

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

Fitur:

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

Penggantian Halaman LRU

Bentuk lengkap LRU adalah halaman Paling Sedikit Digunakan Baru-Baru Ini. Metode ini membantu OS menemukan penggunaan halaman dalam waktu singkat. Algoritma ini harus diimplementasikan dengan mengasosiasikan penghitung dengan halaman genap.

Bagaimana cara kerjanya?

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

Fitur:

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

Tingkat kesalahan

Tingkat kesalahan adalah frekuensi kegagalan sistem atau komponen yang dirancang. Ini dinyatakan dalam kegagalan per unit waktu. Ini dilambangkan dengan huruf Yunani λ (lambda).

Keuntungan Memori Virtual

Berikut, keuntungan / keuntungan menggunakan Memori Virtual:

  • Memori virtual membantu mendapatkan kecepatan ketika hanya segmen tertentu dari program yang diperlukan untuk pelaksanaan program.
  • Ini sangat membantu dalam mengimplementasikan lingkungan multiprogramming.
  • Ini memungkinkan Anda menjalankan lebih banyak aplikasi sekaligus.
  • Ini membantu Anda menyesuaikan banyak program besar ke dalam program yang lebih kecil.
  • Data atau kode umum dapat dibagi di antara memori.
  • Proses mungkin menjadi lebih besar dari semua memori fisik.
  • Data / kode harus dibaca dari disk bila diperlukan.
  • Kode dapat ditempatkan di mana saja di memori fisik tanpa memerlukan relokasi.
  • Lebih banyak proses harus dipertahankan di memori utama, yang meningkatkan penggunaan CPU secara efektif.
  • Setiap halaman disimpan pada disk sampai dibutuhkan setelah itu, itu akan dihapus.
  • Ini memungkinkan lebih banyak aplikasi dijalankan pada waktu yang sama.
  • Tidak ada batasan khusus pada tingkat multiprogramming.
  • Program besar harus ditulis, karena ruang alamat virtual yang tersedia lebih banyak dibandingkan dengan memori fisik.

Kekurangan Memori Virtual

Berikut adalah kekurangan / kekurangan dalam menggunakan 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.
  • Ini memungkinkan aplikasi yang lebih besar untuk berjalan dalam sistem yang tidak menawarkan RAM fisik yang cukup untuk menjalankannya.
  • Itu tidak menawarkan kinerja yang sama dengan RAM.
  • Ini berdampak negatif pada kinerja keseluruhan sistem.
  • Menempati ruang penyimpanan, yang dapat digunakan sebaliknya untuk penyimpanan data jangka panjang.

Ringkasan:

  • Memori Virtual adalah mekanisme penyimpanan yang menawarkan ilusi 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 di mana proses disimpan dalam memori sekunder dan halaman dimuat hanya atas permintaan, bukan sebelumnya.
  • Metode penggantian Halaman yang penting adalah 1) FIFO 2) Algoritma Optimal 3) Penggantian Halaman LRU.
  • Dalam metode FIFO (First-in-first-out), memori memilih halaman pengganti yang telah lama berada di alamat virtual memori.
  • Metode penggantian halaman yang optimal memilih halaman tersebut sebagai pengganti yang waktu untuk referensi berikutnya paling lama.
  • Metode LRU membantu OS menemukan penggunaan halaman dalam waktu singkat.
  • Memori virtual membantu mendapatkan kecepatan ketika hanya segmen tertentu dari program yang diperlukan untuk pelaksanaan program.
  • Aplikasi dapat berjalan lebih lambat jika sistem menggunakan memori virtual.