VIRTUAL MEMORY
Diajukan untuk Memenuhi Tugas Sistem Operasi
DosenPembimbing:
Sutan Faisal, M.Kom
Disusun oleh:
2018
KATA PENGANTAR
Alhamdulillah, puji syukur kami panjatkan kehadirat Allah SWT, atas limpahan
rahmat dan hidayah-Nya, sehingga tugas Makalah ini dapat kami selesaikan tepat pada
waktunya.
Kami selaku penulis menyadari sepenuhnya dalam menyusun Makalah ini tidak akan luput
dari kekhilafan dan kekeliruan, hal ini semata-mata karena ketidak sempurnaan manusia pada
umumnya yaitu keterbatasan pengetahuan yang kami miliki.
Oleh karena itu dengan segala kerendahan hati kami selaku penulis mengharapkan adanya
kritik dan saran yang konstruktif dari dosen pembina mata kuliah Sistem Opersi agar
mencapai kesempurnaan.
Penyusun
DAFTAR ISI
KATA PENGANTAR
DAFTAR ISI
BAB I PENDAHULUAN
A. Latar Belakang
B. Tujuan
BAB II PEMBAHASAN
1. Pengertian Virtual Memory
2. Demand Paging
3. Page Replacement
4. Algoritma Page Replacement
5. Alokasi Frame
7. Thrashing
DAFTAR PUSTAKA
BAB I
PENDAHULUAN
1.1. Latar Belakang
Virtual memory adalah bagian yang terkait erat dengan unit-unit operasional dan interkoneksi
antar komponen penyusunsistem sistem komputer dalam merealisasikan aspek
arsitekturalnya.Komputer sendiri adalah sebuah mesin elektronik yang secara cepat menerima
informasi masukan digital dan mengolah informasitersebut menurut seperangkat instruksi
yang tersimpan dalam komputer dan menghasilkan keluaran informasi yang dihasilkan
setelah diolah.
Terdapat hal-hal yang akan di ketahui pada Virtual memory diantaranya : Pengertian virtual
memory, Page Replacement , Algoritma page replacement, Algoritma fifo, Algoritma
optimal, Algoritma least recently use(LRU), Alokasi frame, Alokasi global, Alokasi lokal,
Trashing. Virtual memory sangat penting dalam sistem operasi, dimana berfungsi sebagai
penghubung antara memory utama dengan penyimpanan piringan atau harddisk.
1.3. Tujuan
a. Mengetahui apa yang dimaksud dengan virtual memory pada sistem komputer
b. Mengetahui apa saja fungsi dari virtual memory pada sebuah sistem komputer
c. Mengetahui hal-hal yang dibahas dan terkait dalam virtual memory pada sistem komputer
BAB II
PEMBAHASAN
2.1. Pengertian Virtual Memory
Virtual Memori adalah sebuah sistem yang digunakan oleh sistem operasi untuk
menggunakan sebagian dari Memori Sekunder yaitu Harddisk seolah-olah ia
menggunakannya sebagai memori internal/utama (RAM) fisik yang terpasang di dalam
sebuah sistem komputer. Sistem ini beroperasi dengan cara memindahkan beberapa kode
yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan page file.
Memori virtual adalah teknik yang memisahkan memori logika user dari memori fisik.
Menyediakan memori virtual yang sangat besar diperuntukkan untuk programmer bila
tersedia memori fisik yang lebih kecil. Programmer tidak perlu khawatir jumlah memori fisik
yang tersedia, sehingga dapat berkonsentrasi pada permasalahan pemrograman.
Teknik ini menyembunyikan aspek-aspek fisik memori dari pengguna dengan menjadikan
memori sebagai lokasi alamat virtual berupa byte yang tidak terbatas dan menaruh beberapa
bagian dari memori virtual yang berada di memori logis. Konsep memori virtual
dikemukakan pertama kali oleh John Fotheringham pada tahun 1961 dengan menggunakan
dynamic storage allocation pada sistem komputer atlas di Universitas Manchester. Sedangkan
istilah memori virtual dipopulerkan oleh Peter J. Denning yang mengambil istilah 'virtual'
dari dunia optik.
Memori virtual melakukan pemisahan dengan menaruh memori logis ke disk sekunder dan
hanya membawa halaman yang diperlukan ke memori utama. Teknik ini menjadikan seolah-
olah ukuran memori fisik yang dimiliki lebih besar dari yang sebenarnya dengan
menempatkan keseluruhan program di disk sekunder dan membawa halaman halaman yang
diperlukan ke memori fisik. Jadi jika proses yang sedang berjalan membutuhkan instruksi
atau data yang terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari di
memori utama. Jika halaman yang diinginkan tidak ada maka akan dicari di disk. Ide ini
seperti menjadikan memori sebagai cache untuk disk.
Beberapa keuntungan penggunaan memori virtual adalah sebagai berikut:
1. Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misalnya untuk
program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
2. Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan. Contoh,
untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik. Pesan-pesan
error hanya dimasukkan jika terjadi error.
3. Meningkatnya respon, karena menurunnya beban I/O dan memori.
4. Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia
luas memungkinkan komputer untuk menerima lebih banyak permintaan dari pengguna.
Gagasan utama dari memori virtual adalah ukuran gabungan program, data dan stack
melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian
proses yang sedang digunakan di memori fisik (memori utama) dan sisanya diletakkan di
disk. Begitu bagian yang berada di disk diperlukan, maka bagian di memori yang tidak
diperlukan akan dikeluarkan dari memori fisik (swap-out) dan diganti (swap-in) oleh bagian
disk yang diperlukan itu. Memori virtual diimplementasikan dalam sistem
multiprogramming. Misalnya: 10 program dengan ukuran 2 Mb dapat berjalan di memori
berkapasitas 4 Mb. Tiap program dialokasikan 256 Kbyte dan bagian-bagian proses swap in)
masuk ke dalam memori fisik begitu diperlukan dan akan keluar (swap out) jika sedang tidak
diperlukan. Dengan demikian, sistem multiprogramming menjadi lebih efisien. Prinsip dari
memori virtual yang perlu diingat adalah bahwa "Kecepatan maksimum eksekusi proses di
memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang
sama di sistem yang tidak menggunakan memori virtual".
Memori virtual biasanya diimplementasikan menggunakan demand paging atau demand
segmentation juga digunakan. Tetapi algoritma segment-replacement lebih kompleks
daripada algoritma page-replacement karena segmen mempunyai ukuran yang bervariasi.
Fungsi Virtual Memory
1. Menangani kelebihan “beban” RAM
jika RAM dengan kapasitas 2GB diharuskan menampung data lebih dari kapasitas
maksilmalnya (sebut saja 2.3GB), maka dapat dipastikan komputer akan mengalami “stress”
dan akibatnya komputer akan hang, lag, atau bahkan tidak merespon sama sekali,
kemungkinan terburuk adalah RAM dipaksa bekerja melebihi kemampuannya dan over-heat
(panas berlebih) sehingga merusak chip pada RAM tersebut, oleh karena itu virtual memory
berperan aktif dalam menangani kelebihan beban tersebut, kapasitas virtual memory diambil
dari kapasitas hard disk drive, bahkan sistem operasi linux (misalnya Ubuntu, Lubuntu, Mint,
dan lain sebagainya) mengharuskan komputer memiliki partisi SWAP untuk virtual memory,
kapasitas partisi SWAP biasanya 2kali lipat dari kapasitas RAM fisik, misalnya jika RAM
yang terpasang berkapasitas 2GB, maka kapasitas partisi SWAP yang harus diatur idealnya
sekitar 4GB.
2. Berperan sebagai RAM cadangan, tapi tidak menggantikan fungsi RAM.
Secara umum RAM berfungsi menyimpan data yang akan diproses oleh processor
atau data dari aktivitas yang sedang berjalan (misalnya data dari aplikasi yang sedang
digunakan), dengan adanya Virtual Memory tidak berarti komputer tidak membutuhkan
RAM dan dapat berjalan dengan tidak adanya RAM terpasang dikomputer. RAM masih
sangat dibutuhkan saat proses booting, tanpa RAM komputer tidak akan dapat masuk ke
mode booting. Hal tersebut masuk akal karena keberadaan RAM lebih dulu diperiksa oleh
ROM (BIOS) saat pertama booting, sedangkan virtual memory terletak di hard disk drive
(atau salah satu partisi hard disk drive), tanpa hard disk drive kompuer tetap bisa beroperasi
(misalnya saja kita menggunakan sistem operasi linux live CD/DVD atau linux live USB,
bahkan versi windows live CD/DVD/USB pun ada).
3. Menyimpan data dari RAM, tapi tidak meneruskannya ke processor
Sebut saja virtual memory ini sebagai memori cadangan (sebenarnya memang seperti
itu) yang hanya membantu mengatasi kekurangan kapasitas memori namun tidak seperti
RAM, virtual memory tidak meneruskan data yang disimpan untuk diproses oleh processor.
Jadi, saat data yang disimpan di virtual memory akan (harus) diproses, virtual memory akan
meneruskannya ke RAM dan RAM yang akan meneruskan ke processor. Begitupun dengan
data yang ada didalamnya, tidak bisa kita akses layaknya data umum (dokumen, gambar, dan
lain sebagainya). Bahkan sistem operasi linux menempatkan virtual memori pada partisi
dengan file system khusus yang bernama “SWAP” (telah kita singgung sebelumnya), jadi
partisi lain selain SWAP (misalnya ext2, ext3, ext4, ntfs, fat, fat32) tidak dapat dijadikan
ruang untuk virtual memori pada sistem operasi linux.
4. Data yang disimpan pada virtual memory (paging file) bersifat sementara
Seperti halnya data didalam RAM yang akan kosong setelah komputer mati, paging
file atau data yang ada di dalam partisi SWAP juga akan dihapus setelah komputer mati,
memang berbeda dengan konsep penyimpanan data di hard disk drive meskipun medianya
sama (virtual memory mengambil kapasitas hard disk drive).
Apabila tidak ditemukan frame bebas maka dilakukan page replacement yaitu mencari
beberapa page di memori yang tidak digunakan kemudian dilakukan swap out ke backing
store. Terdapat beberapa algoritma page replacement dimana performansi algoritma
diharapkan menghasilkan jumlah page fault minimum. Beberapa page kemungkinan dibawa
ke memori beberapa kali.
Perangkat keras yang dibutuhkan untuk mendukung demand paging sama dengan perangkat
keras untuk sistem paging dengan swapping yaitu :
1) Tabel page : tabel mempunyai kemampuan untuk memberi entry bit valid-invalid
atau nilai khusus untuk bit proteksi
2) Memori sekunder : digunakan untuk membawa page yang tidak di memori danbiasanya
adalah disk kecepatan tinggi yang disebut swap device.
2.7. Thrashing
Misalnya sembarang proses tidak mempunyai frame yang cukup. Meskipun secara
teknis dapat mengurangi jumlah frame yang dialokasikan sampai minimum, terdapat
sejumlah page yang sedang aktif digunakan. Jika suatu proses tidak memiliki jumlah frame
yang cukup, maka sering terjadi page fault. Sehingga harus mengganti beberapa page. Tetapi
karena semua page sedang digunakan, harus mengganti page yang tidak digunakan lagi
kemudian. Konsekuensinya, sering terjadi page fault lagi dan lagi. Proses berlanjut page fault,
mengganti page untuk page fault dan seterusnya.
Kegiatan aktifitas paging yang tinggi disebut thrashing. Sebuah proses mengalami thrashing
jika menghabiskan lebih banyak waktu untuk paging daripada eksekusi. Efek thrashing dapat
dibatasi dengan menggunakan algoritma local (priority) replacement. Grafik terjadinya proses
thrashing pada sistem multiprogramming.
BAB III
PENUTUP
3.1 Kesimpulan
Konsep memori virtual dikemukakan pertama kali oleh John Fotheringham pada
tahun 1961 dengan menggunakan dynamic storage allocation pada sistem komputer atlas di
Universitas Manchester.
Memori virtual adalah teknik yang memisahkan memori logika user dari memori fisik.
Menyediakan memori virtual yang sangat besar diperuntukkan untuk programmer bila
tersedia memori fisik yang lebih kecil. Programmer tidak perlu khawatir jumlah memori fisik
yang tersedia, sehingga dapat berkonsentrasi pada permasalahan pemrograman.
Virtual Memory adalah bagian dari suatu hard drive yang diidentifikasi sebagai RAM melalui
sistem operasi atau software lain. Pada setiap sistem komputer, peningkatan beban (jumlah
pengguna, jumlah pekerjaan yang dilakukan) menyebabkan penurunan kinerja (berapa lama
waktu yang dibutuhkan untuk melakukan tugas masing-masing). Setiap peningkatan beban
(demand) melebihi hasil titik tertentu dalam penurunan dramatis dalam kinerja. Ini berarti
bahwa sumber daya beberapa adalah pasokan kritis pendek dan telah menjadi bottleneck.
DAFTAR PUSTAKA