Sistem Operasi - Memori Virtual
Komputer dapat menangani lebih banyak memori daripada jumlah yang terpasang secara fisik pada sistem. Memori ekstra ini sebenarnya disebutvirtual memory dan ini adalah bagian dari hard disk yang diatur untuk meniru RAM komputer.
Keuntungan utama yang terlihat dari skema ini adalah bahwa program bisa lebih besar dari memori fisik. Memori virtual memiliki dua tujuan. Pertama, ini memungkinkan kita untuk memperluas penggunaan memori fisik dengan menggunakan disk. Kedua, ini memungkinkan kita memiliki perlindungan memori, karena setiap alamat virtual diterjemahkan ke alamat fisik.
Berikut adalah situasinya, ketika seluruh program tidak perlu dimuat sepenuhnya di memori utama.
Rutinitas penanganan kesalahan tertulis pengguna hanya digunakan ketika terjadi kesalahan dalam data atau komputasi.
Opsi dan fitur tertentu dari suatu program mungkin jarang digunakan.
Banyak tabel diberi jumlah ruang alamat tetap meskipun hanya sejumlah kecil tabel yang benar-benar digunakan.
Kemampuan untuk mengeksekusi program yang hanya sebagian di memori akan memberikan banyak keuntungan.
Lebih sedikit jumlah I / O yang dibutuhkan untuk memuat atau menukar setiap program pengguna ke dalam memori.
Program tidak lagi dibatasi oleh jumlah memori fisik yang tersedia.
Setiap program pengguna dapat menggunakan lebih sedikit memori fisik, lebih banyak program dapat dijalankan pada waktu yang sama, dengan peningkatan yang sesuai dalam penggunaan dan throughput CPU.
Mikroprosesor modern yang ditujukan untuk penggunaan tujuan umum, unit manajemen memori, atau MMU, dibangun ke dalam perangkat keras. Tugas MMU adalah menerjemahkan alamat virtual menjadi alamat fisik. Contoh dasar diberikan di bawah ini -
Memori virtual biasanya diimplementasikan oleh permintaan paging. Ini juga dapat diimplementasikan dalam sistem segmentasi. Segmentasi permintaan juga dapat digunakan untuk menyediakan memori virtual.
Demand Paging
Sistem halaman permintaan sangat mirip dengan sistem halaman dengan pertukaran di mana proses berada di memori sekunder dan halaman dimuat hanya berdasarkan permintaan, bukan sebelumnya. Ketika sakelar konteks terjadi, sistem operasi tidak menyalin halaman program lama ke disk atau halaman program baru mana pun ke dalam memori utama. Sebaliknya, ia hanya mulai menjalankan program baru setelah memuat halaman pertama dan mengambilnya. halaman program sebagaimana mereka direferensikan.
Saat menjalankan program, jika program mereferensikan halaman yang tidak tersedia di memori utama karena ditukar beberapa saat yang lalu, prosesor memperlakukan referensi memori yang tidak valid ini sebagai page fault dan mentransfer kontrol dari program ke sistem operasi untuk meminta halaman tersebut kembali ke memori.
Keuntungan
Berikut adalah keuntungan dari Demand Paging -
- Memori virtual yang besar.
- Penggunaan memori lebih efisien.
- Tidak ada batasan pada tingkat multiprogramming.
Kekurangan
Jumlah tabel dan jumlah overhead prosesor untuk menangani interupsi halaman lebih besar daripada kasus teknik manajemen halaman sederhana.
Algoritma Penggantian Halaman
Algoritme penggantian halaman adalah teknik yang digunakan Sistem Operasi untuk memutuskan halaman memori mana yang akan ditukar, menulis ke disk ketika halaman memori perlu dialokasikan. Paging terjadi setiap kali terjadi kesalahan halaman dan halaman gratis tidak dapat digunakan untuk penghitungan tujuan alokasi karena halaman tidak tersedia atau jumlah halaman gratis lebih rendah dari halaman yang diperlukan.
Saat halaman yang dipilih untuk diganti dan dihalaman keluar, direferensikan lagi, halaman tersebut harus dibaca dari disk, dan ini memerlukan penyelesaian I / O. Proses ini menentukan kualitas algoritme penggantian halaman: semakin sedikit waktu menunggu untuk halaman-in, semakin baik algoritme tersebut.
Algoritme penggantian halaman melihat informasi terbatas tentang mengakses halaman yang disediakan oleh perangkat keras, dan mencoba memilih halaman mana yang harus diganti untuk meminimalkan jumlah halaman yang terlewat, sambil menyeimbangkannya dengan biaya penyimpanan utama dan waktu prosesor dari algoritme diri. Ada banyak algoritme penggantian halaman yang berbeda. Kami mengevaluasi algoritma dengan menjalankannya pada string referensi memori tertentu dan menghitung jumlah kesalahan halaman,
String Referensi
String referensi memori disebut string referensi. String referensi dibuat secara artifisial atau dengan menelusuri sistem tertentu dan mencatat alamat dari setiap referensi memori. Pilihan terakhir menghasilkan sejumlah besar data, di mana kami mencatat dua hal.
Untuk ukuran halaman tertentu, kita hanya perlu mempertimbangkan nomor halaman, bukan alamat keseluruhan.
Jika kita memiliki referensi ke halaman p, lalu referensi langsung berikut ke halaman ptidak akan pernah menyebabkan kesalahan halaman. Halaman p akan ada dalam memori setelah referensi pertama; referensi segera berikut ini tidak akan salah.
Misalnya, pertimbangkan urutan alamat berikut - 123,215,600,1234,76,96
Jika ukuran halaman 100, maka string referensi adalah 1,2,6,12,0,0
Algoritme First In First Out (FIFO)
Halaman terlama di memori utama adalah halaman yang akan dipilih untuk diganti.
Mudah diimplementasikan, simpan daftar, ganti halaman dari ekor dan tambahkan halaman baru di head.
Algoritma Halaman Optimal
Algoritme penggantian halaman yang optimal memiliki tingkat kesalahan halaman terendah dari semua algoritme. Algoritme penggantian halaman yang optimal ada, dan disebut OPT atau MIN.
Ganti halaman yang tidak akan digunakan untuk jangka waktu yang lama. Gunakan waktu saat halaman akan digunakan.
Algoritme Least Terakhir Digunakan (LRU)
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.
Algoritme Buffer Halaman
- Untuk memulai proses dengan cepat, pertahankan kumpulan bingkai gratis.
- Pada halaman kesalahan, pilih halaman yang akan diganti.
- Tulis halaman baru dalam bingkai kumpulan gratis, tandai tabel halaman dan mulai ulang prosesnya.
- Sekarang tulis halaman kotor dari disk dan letakkan bingkai yang menahan halaman yang diganti di kolam bebas.
Algoritme Paling Sedikit Digunakan (LFU)
Halaman dengan jumlah terkecil adalah halaman yang akan dipilih untuk diganti.
Algoritme ini mengalami situasi di mana halaman sangat banyak digunakan selama fase awal proses, tetapi kemudian tidak pernah digunakan lagi.
Algoritme Paling Sering Digunakan (MFU)
Algoritme ini didasarkan pada argumen bahwa halaman dengan jumlah terkecil mungkin baru saja dibawa masuk dan belum digunakan.