Virtual Memori
VIRTUAL MEMORY
Virtual memory merupakan memory logis yang digunakan oleh program agar suatu program tersebut tidak sepenuhnya digunakan pada suatu memory tersebut supaya lebih efisien
Virtual memory digunakan dalam komputer untuk membuat suatu program yang dijalankan dalam sistem komputer dapat berjalan dengan leluasa. Virtual memori dapat menjadikan suatu memori bertambah dengan cara menyediakan ruang hampir 2x ukuran memori aslinya.
Virtual memori bekerja dengan cara mengambil suatu memori pada penyimpanan interneal untuk menjalankan suatu program dikarenakan jika suatu memori hanya dengan cara menambahkan memori pada hardisk dan ditampung dengan cara meneruskan kepada prosesor komputer.
Fungsi Virtual Memori
Membuat suatu program berjalan dengan baik dengan memanfaatkan suatu memori yang memiliki kelebihan ruang untuk menutupii suatu kekurangan memori, sehingga pada konsep virtual memori akan menjadikan suatu memori berfungsi dalam menjalankan berlangsungnya program.
Memori virtual tidak dapat dilihat atau tidak berwujud karena memori virtual tersebut digunakan dengan cara membuat ruang di dalam memori tersebut.
- Memori virtual dapat digunakan untuk multiprosesing
- Dengan menggunakan memori virtual maka proses yang dijalankan akan lebih efisien
- Multiprigraming akan dimudahkan dengan cara konsep virtual memori -Virtual memori memudahkan untuk penukaran proses pada suatu program yang berjalan.
- Memori virtual bisa diartikan dengan pikiran suatu memori karena memori tersebut tidak ada wujudnya. Virtual memory digunakan dengan cara menjalankan logika dari suatu memori
Ruang adress virtual yaitu tampilan proses yang tersimpan di dalam suatu memori.
Ruang adress digunakan untuk menjadikan suatu program bekerja secara naik dan turun untuk membuat ruang alamat lebih maksimal. Ruang alamat yang tidak digunakan menjadi suatu lubang. Jika memori fisik tidak diperlukan maka akan membuat page baru.
Seluruh proses dibawa ke dalam memori pada waktu memori itu terbukann dan kemudian menjalankan dengan cara membawa suatu page ke memori berikutnya. dengan permintaan pada virtual memori
- Proses I/O yang digunakan lebih sedikit sehingga sangat efisian untuk digunakan.
- Memori yang digunakan akan lebih sedikit dan respon yang ditampilkan akan menjadi lebih cepat.
Suatu page diperlukan untuk membuat suatu referensi, jika suatu referensi tidak valid maka proses tersebut tidak akan berhasil. Suatu page akan selalu mengalami penukaran dalam suatu memori.
• KONSEP DASAR
Dengan proses swapping suatu page akan mengacak suatu page yang digunakan sebelum melakukan penukaran berikutnya.
Page hanya membawa halaman itu ke dalam memori
• CARA MENGUMPULKAN PAGE
Untuk melakukan proses tersebut dibutuhkan MMU supaya demand paging dapat diimplementasikan jika page yang dibutuhkan menjadu memori resident tidak ada perbedaannya dengan proses dari non demand paging.
Jika page diperlukan dan bukan menjadi yang menempati memori perlu dideteksi dan suatu memori akan dimuat dalam suatu page. Tanpa mengubah program yang dijalankan, kode tidak perlu dilakukan perngubahan.
• BIT VALID – INVALID
Tabel entri page valid dan invalid dikaitkan dengan v menuju sebuah memori hingga i tidak terdpat di dalam memori.
Selama terjadinya proses penerjemahan pada alamat MMU jika suatu bit dinyatakan invalid dalam suatu page yang memuat tabel maka akan terjadi kesalahan.
• INVALID PAGE
Jika ada referensi yang menuju ke page, pada referensi awal menuju suatu page itu akan berhenti ked ala sistem operasi, sehingga sistem operasi akan melihat tabel lain untuk memutuskanapakah reverensi invalid atau tidak ada di memory.
Penemuan bingkai yang bebas Operasi disk yang terjadwal akan melakukan penukaran page ke dalam suatu bingkai. Pengaturan ulang tabel menunjukan page yang sedang berada di validasi bit = v Proses mulai ulang instruksi mengakibatkan terjadinya kesalahan page.
• ASPEK DEMAND PAGING
Proses ekstrim akan diawali dengan tidak adanya page kosong di dalam memori. OS menetapkan petunjuk instruksi ke instruksi awal dari proses non memori residen menuju residen kemudian akan terjadi kesalahan pada page. Untuk setiap page proses lainnya akan mendapatkan akses awal. Jika suatu instruksi diberikan seharusnya akses dari multi page akan terjadi multi kesalahan page.
Hardware dibutuhkan dalam suatu permintaan paging Tabel page dengan bit yang valid/invalid. Memori sekunder melakukan swap dengan ruang swap.
• INSTRUKSI MELAKUKAN RESTART
Pertimbangan instruksi yang dapat mengakses beberapa lokasi yang berbeda kemudian blok bergerak dengan lokasi yang akan mengalami kenaikan atau penurunan secara otomatis.
• KINERJA PADA DEMAND PAGING
Tahapan dalam melakukan demand paging
- Melakukan trap ke sistem operasi
- Status proses dan register pengguna akan disimpan
- Menentukan interupsi dengan invalid page
- Memeriksa referensi page legal dan menentukann page pada suatu disk
- Melakukan pembacaan dari disk ke bingkai bebas.
Dengan menunggu ke dalam antrian untuk perangkat hingga permintaan untuk scan akan diproses, tunggu pencarian perangkat atau waktu latensi. Transfer page dimulai ke free page . Simpan register dan status proses untuk pengguna lain dan tentukan bahwa interupsi berasal dari disk.
Perbaiki tabel page dan tabel lain untuk menunjukkan page sekarang ada di memori. Tunggu CPU dialokasikan untuk proses ini lagi . Pulihkan register pengguna, status proses, dan tabel page baru, lalu lanjutkan kembali langkahnya.
• OPTIMASI PADA PAGE PERMINTAAN
Penukaran ruang I/O akan lebih cepat daripada I/O yang menggunakan sister file meskipun perangkat yang digunakan sama. Proses swap akan dialokasikan dalam potongan yang lebih besar, dengan menggunakan sedikit manajemen yang dibuthkan dari beberapa file sistem.
Penyalinan pada seluruh image proses digunakan untuk menukar ruang pada pemuatan waktu proses. Kemudian page masuk dan keluar dari ruang swap, dan digunakan pada UNIX BSD dalam waktu yang lebih lama.
Meminta page masuk dari program biner pada disk, namun ini lebih membuang waktu daripada saat membuka page dan digunakan pada Solaris BSD yang sedang digunakan, sehingga masuh memerlukan waktu penulisan untuk melakukan penukaraan ruang.
Page tidak terkait dengan file seperti tumpukan-tumpukan yang tidak diketahui penyimpannya. Page dimodifikasi dalam memori tetapi belum dilakukan penulisan kembali ke sistem file Pada sistem seluler biasanya tidak mendukung proses swaping sehingga proses tersebut akan meminta page dari suatu sistem file dan dapatkan kembali page yang dapat dibaca seperti sebuah kode untuk membantu melakukan suatu proes yang dibutuhkan untuk menjalankan suatu program tersebut sebagai penggantu proses swaping yang tidak dapat dilakukan dala sistem selular