VIRTUAL MEMORI fix presentasi

VIRTUAL
MEMORI



Akbar Giffary



Ananda Putri Syaviri



Jeanyca Venty Sepdiyah



Muhammad Irfan Hafidh




Novian Dwi Syahrizal

Konsep dasar memori virtual
 Teknik

yang memisahkan memori logika user dari memori fisik.

 Juga

merupakan teknik pemetaan memori yang melibatkan memori
sekunder, umumnya disk.

 Secara

sistem logika, ukuran memori lebih besar daripada ukuran
memori utama secara fisik.

 Programmer

tidak perlu khawatir jumlah memori fisik yang

tersedia, sehingga dapat berkonsentrasi pada permasalahan
pemrograman.

 Melibatkan

mekanisme swapping

 Implemetasi

menggunakan demand pagging.

Gambar 8-1 : Memori virtual lebih besar daripada memori fisik

Lanjutan …
 Image

proses akan diinisialisasi di area swap space, yaitu
suatu lokasi di media penyimpan sebagai ekstensi memori
utama.


 Swap

space dapat berupa suatu berkas atau partisi khusus,
dan unit terkecilnya disebut page.

 Pengalihan

page dari swap space ke memori utama
menggunakan teknik lazy swapper, yaitu hanya page
proses yang dibutuhkan yang akan dialihkan ke memori
utama.

Keuntungan
 Lebih

sedikit memori yang diperlukan per proses.

 Manual

folding (overlay) dieleminasi untuk menjalankan

program-program besar

 System

response menjadi lebih cepat, karena tidak semua bagian
image proses perlu dialokasikan ke memori utama,
 proses dapat dieksekusi lebih cepat.

 Lebih

banyak proses yang dapat dijalankan

 multiprogramming

Ada 2 metode yang populer dalam implementasi
memori virtual :
1. Paging
2. Segmentation

Demand Pagging

 Demand
 Page

paging adalah sistem paging dengan swapping.

diletakkan di memori hanya jika diperlukan. Hal ini menyebabkan kebutuhan

 I/O

lebih rendah, kebutuhan memori lebih rendah, respon lebih cepat dan lebih
banyak

 user

yang menggunakan.

 Jumlah

frame di memori utama tergantung tingkat multiprogramming .


semakin tinggi tingkat multiprogramming, semakin sedikit jatah frame untuk tiap
proses
 Menggunakan

bit valid/invalid di page table

misal: bit 1 berada di memori utama
bit 0 berada di swap space



proses disimpan di memori sekunder (disk).



- Jika akan dieksekusi dipindahkan (swap)
ke memori.




- Lazy Swapper --> swapping bila page
tersebut akan digunakan yang artinya
sebuah page tidak pernah ditukar ke memori
kecuali page diperlukan.



- Backing store --> page yang sedang tidak
berada di memori, lalu dibawa ke memori.



- Valid-invalid bit --> membedakan antara
page pada memori dengan page pada disk.



- Valid --> jika tabel page untuk page berada
di memori.




- Invalid --> jika tabel page untuk page yang
tidak sedang di memori (ada pada disk).

Lanjutan…
 Perangkat

keras yang dibutuhkan untuk mendukung demand paging sama
dengan perangkat keras untuk sistem paging dengan swapping yaitu



Tabel page : tabel mempunyai kemampuan untuk memberi entry bit validinvalid atau nilai khusus untuk bit proteksi .



Memori sekunder : digunakan untuk membawa page yang tidak di memori
dan biasanya adalah disk kecepatan tinggi yang disebut swap device.


Unjuk Kerja Demand Paging
(mekanisme)


Jumlah frame di memori utama tergantung tingkat multiprogramming .
semakin tinggi tingkat multiprogramming, semakin sedikit jatah frame untuk
tiap proses



Menggunakan bit valid/invalid di page table
misal: bit 1 berada di memori utama
bit 0 berada di swap space



Jika berstatus invalid, maka trap page fault akan dibangkitkan agar ditangani
lebih lanjut oleh rutin SO yaitu: page fault handler.




Rutin page fault handler akan menangani operasi swap-in terhadap page yang
diperlukan.

1. Sistem operasi melihat tabel untuk
menentukan jika acuan invalid maka
proses dihentikan dan page sedang tidak
berada di memori.
2. Jika acuan invalid dilakukan trap ke
sistem operasi.
3. Sistem mencari frame kosong
4. Sistem melakukan proses swapping
ke frame bebas.
5. Tabel page di-reset, bit valid-invalid
diset 1 atau valid
6. instruksi di-restart.

Page Replacement
Secara umum, algoritma dapat dibagi dua:
 Global


Replacement

 Victim
 Local

frame dapat dipilih dari semua frame yang ada

Replacement

 Victim

frame dapat dipilih dari frame-frame yang
sedang ditempati oleh image proses bersangkutan

Algoritma Page Replacement
 Algoritma

FIFO (First In First Out)

 Algoritma

Optimal

 Algoritma

LRU (Least Recently Used)

Algoritma Page Replacement
 Algoritma

LRU

Page yang diganti adalah page yang paling lama
sudah tidak diakses.

Algoritma Page Replacement
 Algoritma

FIFO
Page yang diganti adalah page yang paling lama
berada di memori atau yang pertama kali masuk.

Algoritma Page Replacement
 Algoritma

Optimal
 page yang diganti adalah page yang baru akan
dipanggil lagi pada waktu yang masih lama.
 Diasumsikan sistem mampu memprediksi pagepage yang akan diakses

Pengalokasian Frame
 Pengalokasian

tiap-tiap proses bervariasi tergantung pada
tingkat multiprogramming

 Jika

tingkat multiprogramming nya semakin tinggi, maka
proses akan kehilangan beberapa frame

 Sebaliknya

jika tingkat multiprogramming berkurang,
maka proses akan mendapat frame melebihi dari yang
dibutuhkan.

Pengalokasian Frame
 Alokasi
 Tiap
 Alokasi

sama rata (equal allocation)
proses mendapat jumlah frame sama banyak
proporsional (proporsional allocation)

 Tiap

proses mendapat jumlah frame sesuai dengan
besarnya image proses itu.

 Alokasi

berprioritas (priority allocation)

 Jumlah

frame yang dialokasikan untuk tiap proses
berdasarkan prioritas.

Thrashing
Thrashing --> kegiatan aktifitas paging yang tinggi.
- jika menghabiskan lebih banyak waktu untuk paging dari
pada eksekusi.
- efek thrashing dapat dibatasi dengan algoritma local
(priority) replacement.

SEGMENTASI
Selektor pada register segmen menyediakan indeks untuk
memory resident table yang berisi segment descriptor
untu semua segmen. Segment descriptor menjaga alamat
dasar (start) segmen untuk semua segmen yang ada dalam
memori utama.

Contoh segmentasi :

Lanjutan....
Sebagai contoh kita mempunyai nomor segmen dari 0 sampai dengan 4. Segmensegmen ini disimpan dalam suatu memori fisik. Tabel segmen berisi data untuk
masing-masing segmen, yang memberikan informasi tentang awal alamat dari
segmen di fisik memori (atau base) dan panjang dari segmen (atau limit). Misalkan,
segmen 2 mempunyai panjang 400 dan dimulai pada lokasi 4300. Jadi, referensi di
byte 53 dari segmen 2 dipetakan ke lokasi 4300 + 53 = 4353. Suatu referensi ke
segmen 3, byte 852, dipetakan ke 3200 (sebagai base dari segmen) + 852 = 4052.
Referensi ke byte 1222 dari segmen 0 akan menghasilkan suatu trap ke sistem
operasi, karena segmen ini hanya mempunyai panjang 1000 byte.

Thankyou For Watching
…….