SISTEM PAGING
PENDAHULUAN
Program yang dijalankan harus dimuat di
memori utama
Masalah : ukuran program lebih besar
dibanding memori utama yang tersedia
Terdapat dua solusi :
Overlay
Memori maya (virtual memory)
OVERLAY
Program dipecah menjadi bagianbagian yang
dapat dimuat memori
Overlay yang belum diperlukan disimpan
dalam disk, dan dimuat di memori begitu
diperlukan
Menghabiskan banyak waktu & menurunkan
kinerja
MEMORI MAYA
Memori virtual adalah teknik yang memisahkan antara alamat
memori logis dengan alamat memori fisik.
Alamat nyata (physical address)
Alamat yang tersedia di memori utama fisik
Page
Adalah unit terkecil virtual address space
ISTILAH PADA SISTEM PAGING
Page frame
Adalah unit terkecil memori fisik.
Page fault
Adalah exception untuk permintaan alokasi ‘page’ ke memori
MMU (Memory Management Unit)
Chip/kumpulan chip yang memetakan alamat maya ke alamat
fisik
REFERENCE STRING
Reference string adalah string berisi kumpulan
alamatalamat halaman yang
merepresentasikan halamanhalaman yang
ingin digunakan/diload.
Kegunaannya adalah untuk
menyederhanakan alamat dan mempermudah
melihat page fault rate
ALGORITMA PENGGANTIAN PAGE
(PAGE REPLACEMENT ALGORITHM)
Penggantian page Acak
Algoritma penggantian page NRU (not recently
used)
Penggantian page FIFO
Penggantian page Optimal
Penggantian page LRU
Penggantian page CLOCK
ALGORITMA PENGGANTIAN PAGE
ACAK
Mekanisme algoritma
Setiap terjadi page fault, page yang diganti
dipilih secara acak.
Teknik ini tidak memakai informasi apapun
dalam menentukan page yang diganti. Semua
page di memori utama mempunyai bobot sama
untuk dipilih. Teknik ini dapat memilih
sembarang page, termasuk page yang sedang
diacu (page yang seharusnya tidak diganti,
pilihan terburuk).
Teknik ini sangat buruk, percobaan
menunjukkan algoritma acak menimbulkan rate
terjadinya page fault yang sangat tinggi.
ALGORITMA PENGGANTIAN
Algoritma penggantian page NRU (not recently
used): Setiap page diberi status bit R (referenced)
dan M (modified).
Bit bernilai 0 jika page belum direferensi/dimodifikasi,
dan 1 jika sebaliknya. Dari nilai desimalnya didapat 4
kelas:
FIFO PAGE REPLACEMENT
Prinsip dari algoritma ini adalah seperti
prinsip antrian (antrian tak berprioritas),
halaman yang masuk lebih dulu maka
akan keluar lebih dulu juga.
Algoritma ini mengganti halaman yang paling
lama berada di memori (tumpukan teratas).
CONTOH :
Diketahui6 virtual page dan 3 page frame dengan
reference string sbb:
2 3 2 1 5 2 4 5 3 2 5 2
Hitung
berapa kali terjadi page fault (page fault rate) jika
menggunakan algoritma:
A. FIFO
B. LRU
C. Optimal
D. CLOCK
a. FIFO
String Reference 2 3 2 1 5 2 4 5 3 2 5 2
Page frame 1
Page frame 2
Page frame 3
ANOMALY BELADY
Anomali yang terjadi : PFR naik saat jumlah
frame ditingkatkan
Contoh, jika reference string :
1,2,3,4,1,2,5,1,2,3,4,5
Jumlah frame = 3, PFR = 9 page fault
Jumlah frame = 4, PFR = 10 page fault
LRU PAGE REPLACEMENT
(LEAST RECENTLY USED )
Page yang baru saja diakses,berpeluang untuk
diakses dalam waktu dekat.
Page yg sudah lama tidak diakses, berpeluang
utk tidak diakses dalam waktu yg lama
Asumsinya, halaman yang sudah lama
tidak digunakan sudah tidak dibutuhkan
lagi dan kemungkinan besar, halaman yang
baru diload akan digunakan kembali.
b. LRU
String Reference 2 3 2 1 5 2 4 5 3 2 5 2
Page frame 1 2 2 2 2 2 2 2 2 3 3 3 3
Page frame 2 3 3 3 5 5 5 5 5 5 5 5
Page frame 3 1 1 1 4 4 4 2 2 2
F F F F F F F =7
PF
OPTIMAL PAGE REPLACEMENT
Algoritma ini adalah algoritma yang paling
optimal sesuai namanya. Prinsip dari algoritma
ini adalah mengganti halaman yang tidak
akan terpakai lagi dalam waktu terdekat.
Algoritma ini memiliki page fault rate paling
rendah di antara semua algoritma.
c. Optimal
String Reference 2 3 2 1 5 2 4 5 3 2 5 2
Page frame 1 2 2 2 2 2 2 4 4 4 2 2 2
Page frame 2 3 3 3 3 3 3 3 3 3 3 3
Page frame 3 1 5 5 5 5 5 5 5 5
F F F F F F =6PF
CLOCK PAGE REPLACEMENT
Algoritma penggantian page yang
memperhatikan posisi petunjuk
(current) page yang akan diganti dgn
page baru
d. Clock
String Reference 2 3 2 1 5 2 4 5 3 2 5 2
Page frame 1 *2 2 2 *2 5 5 *5 5 5 *5 5 5
Page frame 2 *3 3 3 *3 2 2 *2 3 3 *3 3
Page frame 3 * 1 1 *1 4 4 *4 2 2 *2
F F F F F F F F =8PF
LATIHAN :
Diketahui6 virtual page dan 3 page frame dengan
reference string sbb:
7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1
Hitung
berapa kali terjadi page fault (page fault rate) jika
menggunakan algoritma:
A. FIFO
B. LRU
C. Optimal
D. CLOCK