Anda di halaman 1dari 6

A.

Pendahuluan

Selama bertahun-tahun, inti dari pelaksanaan manajemen memori adalah menempatkansemua


bagian proses yang akan dijalankan ke dalam memori sebelum proses dapat
mulaidieksekusi. Dengan demikian semua bagian proses tersebut harus memiliki alokasi
sendiridi dalam memori fisik. Pada kenyataannya tidak semua bagian dari program
tersebut akandiproses, misalnya: Ada pernyataan-pernyataan atau pilihan yang hanya
akan dieksekusi jika kondisi tertentu dipenuhi, terdapat fungsi-fungsi yang jarang
digunakan, pengalokasianmemori yang lebih besar dari yang sebenarnya dibutuhkan.
Pada memori berkapasitas besar, hal-hal ini tidak akan menjadi masalah.
Namunpadamemori dengan kapasitas yang sangat terbatas, hal ini akan menuru
nkan optimalisasiutilitas dari ruang memori fisik (memori utama). Setiap program
yang dijalankan harus berada di memori. Memori merupakan suatu tempat penyimpanan
utama ( primary
storage)yangbersifat sementara (volatile). Ukuran memori yang terbatas dapat m
enimbulkanmasalah bagaimana menempatkan program yang berukuran yang lebih besar
dari
ukuranm e m o r i f i s i k ( m e m o r i u t a m a ) d a n m a s a l a h p e n e r a p a n multip
rogramming yangmembutuhkan tempat yang lebih besar di memori. Oleh karena
itu dibutuhkan suatumemori tambahan atau memori virtual yang dikenal dengan sebutan virtual
memori.
B. Pembahasan
1. Pengertian Virtual Memori
Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memorifisiknya.
Memori logis merupakan kumpulan keseluruhan halaman dari suatu program.Tanpa memori virtual,
memori logis akan langsung dibawa ke memori fisik (memoriutama). Disinilah memori virtual
melakukan pemisahan dengan menaruh memori logiske
secondary storage
(disk sekunder) dan hanya membawa halaman yang diperlukan kememori utama (memori fisik). Teknik
ini menempatkan keseluruhan program di disk sekunder dan membawa halaman-halaman yang
diperlukan ke memori fisik sehinggamemori utama hanya akan menyimpan sebagian alamat proses yang
sering digunakandan sebagian lainnya akan disimpan dalam disk sekunder dan dapat diambil
sesuaidengan kebutuhan. Jadi jika proses yang sedang berjalan membutuhkan instruksi ataudata yang
terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari dimemori utama. Jika halaman
yang diinginkan tidak ada maka akan dicari ke disk sekunder

Gambar 1. Virtual Memory

Pada gambar diatas ditunjukkan ruang sebuah memori virtual yang dibagimenjadi
bagian-bagian yang sama dan diidentifikasikan dengan nomor virtual pages .Memori fisik
dibagi menjadi page frames yang berukuran sama dan diidentifikasikandengan nomor
page frames. Bingkai ( frame) menyimpan data dari halaman. Ataumemori virtual
memetakan nomor virtual pages ke nomor page frame Mapping (pemetaan)
menyebabkan halaman virtual hanya dapat mempunyai satu lokasi alamatfisik.

Dalam sistem paging, jika sebuah ruang diperlukan untuk proses dan
halamanyang bersangkutan tidak sedang digunakan, maka halaman dari proses akan
mengalami paged out (disimpan ke dalam disk) atau swap out , memori akan kosong
untuk halamanaktif yang lain. Halaman yang dipindah dari disk ke memori ketika
diperlukandinamakan paged in (dikembalikan ke memori) atau swap in. Ketika sebuah
item dapat mengalami paging , maka item tersebut termasuk dalam item yang menempati
ruangvirtual, yang diakses dengan alamat virtual dan ruangan yang ada dialokasikan
untuk informasi pemetaan. Sistem operasi mengalokasikan alamat dari item tersebut
hanyaketika item tersebut mengalami paging in. Keuntungan dari penyimpanan sebagian
program pada memori fisik adalah:
 Berkurangnya proses M/K yang dibutuhkan (lalu lintas M/K menjadi rendah)
 Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan
 Meningkatnya respon karena menurunnya beban M/K dan memor
 Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang
masihtersedia luas memungkinkan komputer untuk menerima lebih banyak
permintaandari pengguna

Teknik memori virtual akan memudahkan pekerjaan seorang programmer ketika besar
data dan programnya melampaui kapasitas memori utama. Sebuah multiprogramming
dapat mengimplementasikan teknik memori virtual sehingga sistem multiprogramming
menjadi lebih efisien. Contohnya: 10 program dengan ukuran 2 MBdapat berjalan di
memori berkapasitas 4 MB. Tiap program dialokasikan 256 Kbyte dan bagian - bagian
proses (swap in) masuk ke dalam memori fisik begitu diperlukan danakan keluar ( swap
out ) jika sedang tidak diperlukan.

Prinsip dari memori virtual adalah bahwa "Kecepatan maksimum ekseskusi prosesdi
memori virtual dapat sama, tetapi tidak akan pernah melampaui kecepatan eksekusi
proses yang sama di sistem yang tidak menggunakan memori virtual".Memori virtual
dapat diimplementasikan dengan dua cara:

 Demand Paging yaitu dengan menerapkan konsep pemberian halaman pada


proses
 Demand segmentation, lebih kompleks diterapkan ukuran segmen yang
bervariasi.
2. Deman Pagging
Demand Paging atau permintaan pemberian halaman adalah salah satu
implementasidari memori virtual yang paling umum digunakan. Sistem Demand Paging
pada prinsipnya hampir sama dengan sistem permintaan halaman yang menggunakan
swapping, hanya saja pada sistem demand paging , halaman tidak akan dibawa ke
dalammemori fisik sampai ia benar-benar diperlukan. Oleh sebab itu dibutuhkan bantuan
perangkat keras untuk mengetahui lokasi dari halaman saat ia diperlukan. Dari
padamelakukan swapping, keseluruhan proses ke dalam memori utama, digunakanlah
yang disebut lazy swapper yaitu tidak pernah menukar sebuah halaman ke dalam
memoriutama kecuali halaman tersebut diperlukan. Keuntungan yang diperoleh
denganmenggunakan
demand paging sama dengan keuntungan pada memori virtual di atas.Saat melakukan
pengecekan pada halaman yang dibutuhkan oleh suatu proses, terdapattiga kemungkinan
kasus yang dapat terjadi, yaitu
 Halaman ada dan sudah langsung berada di memori utama - statusnya adalahvalid
("v" atau "1").
 Halaman ada tetapi belum berada di memori utama atau dengan kata lain
halamanmasih berada di disk sekunder - statusnya adalah tidak valid/ invalid ("i"
atau "0").
 Halaman benar - benar tidak ada, baik di memori utama maupun di disk sekunder
(invalid reference) - statusnya adalah tidak valid/invalid ("i" atau "0").

Ketika kasus kedua dan ketiga terjadi, maka proses dinyatakan mengalami
kesalahanhalaman ( page fault ). Selanjutnya proses tersebut akan dijebak ke dalam
sistem operasioleh perangkat keras

Skema Bit Valid – Tidak Valid

Dalam menentukan halaman mana yang ada di dalam memori utama dan halaman
manayang tidak ada di dalam memori utama, diperlukan suatu konsep, yaitu skema bit
valid -tidak valid. Kondisi valid berarti bahwa halaman yang dibutuhkan itu legal dan
beradadi dalam memori utama (kasus pertama). Sementara tidak valid/ invalid adalah
kondisidimana halaman tidak ada di memori utama namun ada di disk sekunder (kasus
kedua)atau halaman memang benar-benar tidak ada baik di memori utama maupun disk
sekunder (kasus ketiga). Pengaturan bit dilakukan sebagai berikut.

Bit – 1 berarti halaman berada di memory utama

Bit – 0 Berarti halaman tidak berada di memori utama.

Apabila ternyata hasil dari mengartikan alamat melalui page table menghasilkan
bithalaman yang bernilai 0, maka akan menyebabkan terjadinya page fault.

Gambar 2. Tabel halaman skema bit valid – Invalid

Page fault adalah interupsi yang terjadi ketika halaman yang diminta/dibutuhkan
olehsuatu proses tidak berada di memori utama. Proses yang sedang berjalan
akanmengakses page table (tabel halaman) untuk mendapatkan referensi halaman yang
diinginkan.Page fault dapat diketahui/dideteksi dari penggunaan skema bit valid-tidak
valid ini. Bagian inilah yang menandakan terjadinya suatu permintaan
pemberianhalaman. Jika suatu proses mencoba untuk mengakses suatu halaman dengan
bit yangdi-set tidak valid maka page fault akan terjadi. Proses akan dihentikan
sementarahalaman yang diminta/dibutuhkan dicari didalam disk

3. Penanganan Page Fault


Prosedur untuk menanganipage fault adalah sebagai berikut:
 CPU mengambil (load ) instruksi dari memori untuk dijalankan.
Pengambilaninstruksi dilakukan dari halaman pada memori dengan mengakses
tabel halaman.Ternyata pada tabel halaman bit ter-set tidak valid atauinvalid (i).
 Interupsi page fault terjadi sehingga interupsi tersebut menyebabkan perangkat
kerasmelakukan trap yaitu menjebak proses tersebut ke dalam sistem operasi.
 Jika referensi alamat yang diberikan ke sistem operasi ilegal atau dengan kata
lainhalaman yang ingin diakses tidak ada (tidak berada di disk), maka proses
akandihentikan. Namun jika referensi alamatnya adalah legal maka halaman
yangdiinginkan akan diambil dari disk.
 Halaman yang diinginkan akan dibawa dari disk ke memori utama (memori fisik).
 Tabel halaman akan diatur ulang lagi sesuai dengan kondisi yang baru. Jika tidak
terdapat ruang kosong (ree frame) di memori utama (fisik) untuk menaruh
halamanyang baru maka dilakukan penggantian halaman dengan memilih salah
satu halaman pada memori utama untuk digantikan dengan halaman yang baru
tersebut.Penggantian halaman dilakukan dengan menggunakan algoritma tertentu.
Jikahalaman yang digantikan tersebut sudah dimodifikasi oleh proses maka
halamantersebut harus ditulis kembali ke disk.
 Setelah halaman yang diinginkan sudah dibawa ke memori utama (fisik) maka
proses dapat diulang kembali. Dengan demikian proses sudah bisa
mengakseshalaman karena halaman telah diletakkan ke memori utama (fisik).
 gambar 3. langkah-langkah dalam menangani
 page fault

gambar langkah- langkah dalam menangani page fault.

4. Kinerja Virtual Memori


Dalam proses demand paging , jika terjadi page fault
maka diperlukan waktu yang lebihlambat untuk mengakses memori daripada jika tidak
terjadi page fault . Hal inidikarenakan perlu adanya penanganan page fault itu sendiri.
Kinerja demand paging in

Anda mungkin juga menyukai