Inilah Pengertian, Fungsi, dan Tujuan dari Virtual Memory pada Sistem Operasi
Assalamu‘alaikum wr. wb.
Hello gais! Jika kita sebelumnya sudah membahas tentang Manajemen Memori dan Manajemen File pada Sistem Operasi, sekarang giliran membahas tentang Virtual Memory pada Sistem Operasi.
Sumber Materi : Tutorialspoint.com, Impiangadget.com, Nesabamedia.com, Sistemoperasikaadit.blogspot.com
Secara dasar memory adalah tempat untuk menyimpan data di komputer maupun Ponsel (HP). Dari jenis-jenis memory, ada salah satunya yang sering disebut dengan nama virtual memory. Lalu apa sih pengertian Virtual Memory itu? Mungkin selama ini kalian hanya mengetahui memory di komputer hanya sebatas RAM saja. Padahal pada kenyataannya ada yang jenis memory lainnya yakni Virtual Memory.
Saat Anda menggunakan komputer atau laptop tentu saja yang menjadi salah satu tolak ukur dari spesifikasi laptop maupun komputer itu adalah besaran dari RAM atau memory yang dimiliki. Hal ini karena semakin besar kapasitas RAM tentu saja semakin lancar juga proses yang bisa dilakukan oleh komputer.
Namun yang menjadi masalah adalah untuk bisa mendapatkan komputer atau laptop dengan spesifikasi kapasitas RAM yang besar tersebut dibutuhkan biaya yang tidak sedikit. Oleh sebab itu solusinya adalah dengan memanfaatkan virtual memori.
A. Pengertian Virtual Memory
Virtual Memory merupakan teknik yang digunakan untuk memisahkan antara memori fisik dan memori logisnya. Memori logis adalah kumpulan halaman yang ada di dalam sebuah program. Tanpa adanya virtual memory, memori logis akan langsung dibawa menuju ke memori fisiknya atau memori utama. Di sinilah memori virtual ini kemudian memisahkan dengan cara meletakkan memori logis ke bagian secondary storage atau disk sekunder.
Selain itu, virtual memory juga hanya akan membawa halaman yang selanjutnya dibutuhkan ke memori fisik atau memori utama. Memori virtual juga bisa diartikan sebagai memori tambahan yang merupakan sebuah fitur dari masing-masing sistem operasi. Misalnya pada Sistem Operasi Linux, maka Anda akan menemukan virtual memory berupa Swap.
Memori Virtual tersebut selanjutnya akan digunakan oleh sistem operasi pada saat komputer menjalankan program yang memiliki kapasitas melebihi dari memori yang tersedia.
Dengan adanya virtual memory ini, maka pekerjaan seorang Programmer menjadi lebih mudah pada saat kapasitas data dan juga programnya melebihi dari kapasitas yang utama. Sebuah multiprogramming juga bisa menerapkan teknik ini. Hal ini membuat multiprogramming tersebut menjadi lebih efisien.
B. Hal lainnya tentang Virtual Memory
1. Terminologi dalam Virtual Memory
- Virtual Address : Sebuah alamat yang ditujukan / di-assign ke lokasi dalam virtual memory untuk memungkinkan lokasi yang dapat diakses seolah-olah itu adalah bagian dari memori utama
- Virtual Address Space : Penyimpanan virtual yang ditempatkan untuk suatu proses
- Address Space : Rentang alamat memory yang tersedia untuk ditempati oleh proses
- Real Address : Lokasi Alamat penyimpanan di main memory
2. Kriteria Virtual Memory
Hardware harus mendukung paging dan segmentasi
Sistem operasi harus terdapat software untuk mengatur perpindahan page atau segment antara memory sekunder dan memori utama
C. Fungsi dan Tujuan Virtual Memory
Setelah mengetahui Pengertian dari Virtual Memory, informasi berikutnya adalah seputar fungsi yang dimiliki oleh Virtual Memory.
- Virtual memory berperan dalam menangani beban yang berlebihan yang terjadi pada RAM.
- Memori virtual juga berfungsi sebagai cadangan RAM, namun tidak sampai menggantikan fungsi dari RAM.
- Fungsi lainnya adalah virtual memory untuk menyimpan data yang berasal dari RAM, namun tidak meneruskan data tersebut ke prosesor.
- Untuk data yang disimpan di dalam virtual memory hanya bersifat sementara.
Sedangkan, Tujuan dari Virtual Memory adalah untuk menciptakan sebuah file khusus yang dinamakan sebagai Swapfile.
Memori virtual akan dipakai ketika sistem operasi dalam kondisi kehabisan memori, di mana sistem operasi tersebut akan memindahkan data yang paling akhir diakses ke dalam Swapfile yang ada di dalam hard disk. Hal tersebut kemudian memberikan beberapa ruang kosong pada memori agar bisa digunakan untuk aplikasi selanjutnya.
Sistem operasi akan terus melakukan hal tersebut pada saat data baru dimasukkan ke dalam RAM. Ketika data yang ada di Swapfile dibutuhkan, data tersebut akan ditukar atau di-swap dengan data terakhir yang sudah digunakan di dalam RAM. Hal ini membuat swap file memiliki karakteristik seperti RAM meskipun memang programnya tidak bisa langsung dijalankan dari Swapfile tersebut.
Perlu Anda ingat bahwa karena program tersebut tidak bisa langsung dijalankan di Swapfile, mungkin ada beberapa program yang tidak akan berjalan meskipun ukuran Swapfile cukup besar sementara Anda memiliki perangkat dengan RAM yang berukuran kecil.
D. Jenis-jenis dari Virtual Memory
Virtual Memory biasanya diimplementasikan oleh paging permintaan. Hal ini juga dapat diimplementasikan dalam sistem segmentasi. Segmentasi permintaan juga dapat digunakan untuk menyediakan Virtual Memory.
Sistem Demand Paging sangat mirip dengan sistem halaman dengan swapping di mana proses berada di memori sekunder dan halaman dimuat hanya pada permintaan, tidak di muka. Ketika terjadi peralihan konteks, sistem operasi tidak menyalin halaman program lama ke disk atau halaman program baru ke memori utama. Sebaliknya, sistem hanya mulai menjalankan program baru setelah memuat halaman pertama dan mengambilnya. halaman program seperti yang dirujuk.
Saat menjalankan program, jika program mereferensikan halaman yang tidak tersedia di memori utama karena telah ditukar beberapa waktu lalu, prosesor akan memperlakukan referensi memori yang tidak valid ini sebagai kesalahan halaman dan mentransfer kontrol dari program ke sistem operasi ke meminta halaman kembali ke memori.
2. Algoritma Penggantian Halaman (Paging)
Algoritma penggantian halaman adalah teknik yang digunakan Sistem Operasi untuk memutuskan halaman memori mana yang akan ditukar, ditulis ke disk ketika halaman memori perlu dialokasikan. Paging terjadi setiap kali terjadi kesalahan halaman dan halaman gratis tidak dapat digunakan untuk tujuan alokasi dengan alasan halaman tidak tersedia atau jumlah halaman gratis lebih rendah dari halaman yang diperlukan.
Ketika halaman yang dipilih untuk penggantian dan dikeluarkan, 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 masuk halaman, semakin baik algoritmenya.
Algoritma 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 hilang, sambil menyeimbangkannya dengan biaya penyimpanan utama dan waktu prosesor dari Algoritma diri. Ada banyak algoritma penggantian halaman yang berbeda. Kami mengevaluasi algoritma dengan menjalankannya pada rangkaian referensi memori tertentu dan menghitung jumlah kesalahan halaman
3. Reference String
String referensi memori disebut string referensi. String referensi dihasilkan secara artifisial atau dengan menelusuri sistem yang diberikan dan mencatat alamat 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 seluruh alamat.
- Jika kita memiliki referensi ke halaman p, maka referensi apa pun yang langsung mengikuti ke halaman p tidak akan pernah menyebabkan kesalahan halaman. Halaman p akan berada di memori setelah referensi pertama; referensi segera berikut tidak akan kesalahan.
- Sebagai contoh, perhatikan urutan Alamat berikut 123.215.600.1234,76,96
- Jika ukuran halaman 100, maka string referensi adalah 1,2,6,12,0,0
Terima Kasih šššš :)
Wassalamu‘alaikum wr. wb.