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
…….
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
…….