Sistem Paging
Sistem
paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan
index register, base register, dan segment register dan lain-lain.
Istilah pada sistem paging:
·
Alamat Maya
·
Alamat Nyata
·
Page
·
Page Frame
·
Page Fault
·
MMU
Pengertian dari istilah Paging
·
Alamat Maya :
Alamat
yang dihasilkan perhitungan menggunakan index register, base register, segment
register dan sebagainya.
·
Alamat Nyata :
Alamat
di memori fisik.
·
Page
: Unit
terkecil virtual address space.
·
Page Frame :
Unit
terkecil memori fisik.
·
Page Fault :
Exception
untuk permintaan alokasi page ke memori.
·
Memory Management Unit (MMU) : chip
atau kumpulan chip yang memetakan alamat maya ke alamat fisik.
Konsep Dasar
Memori fisik dibagi menjadi blok-blok dengan ukuran tertentu disebut frame. Sedangkan memori logika dibagi
menjadi blok-blok yang disebut page. Setiap alamat yang diberikan oleh CPU
dibagi menjadi 2 bagian, yaitu nomor page dan offset.
·
Page number digunakan sebagai indeks ke dalam table page (page table). Page table berisi
alamat basis dari setiap page pada memori fisik.
·
Page offset mengkombinasikan alamat basis dengan page offset untuk mendefinisikan
alamat memori fisik yang dikirim ke unit memori.
Pemetaan Page Menjadi Page Frame
Penggantian Page
Saat
terjadi page fault berarti harus diputuskan page frame di memori fisik yang
harus diganti.
Banyaknya page fault menghasilkan banyak overhead.
·
Algoritma Penggantian Page
·
Algoritma penggantian page acak
Setiap terjadi page
fault, page yang diganti dipilih secara acak. ini terdapat kemungkinan proses yang baru berjalan bisa digantikan oleh proses lain
jadi sangat merugikan
dan
percobaan menunjukkan rate page fault yang sangat tinggi ketika menggunakan teknik ini.
·
Algoritma penggantian page optimal
·
Memilih page yang baru terpakai untuk
digantikan oleh string acuan terbaru
·
Algoritma penggantian page LRU (Least Recently Used)
Berdasarkan observasi, page page yang digunakan pada beberapa instruksi terakhir berkemungkinan besar akan dipakai kembali nantinya. Page-page yang lama tidak digunakan akan tetap tak digunakan dalam waktu lama. Pada algoritma ini ketika terjadi page fault maka memindahkan page yang tak digunakan paling lama.
·
Algoritma penggantian page FIFO
Memilih memindahkan page yang sering digunakan yang telah berada dimemori untuk waktu yang lama.
·
Algoritma penggantian page NRU (Not Recently Used)
·
Algoritma penggantian page modifikasi dari FIFO
·
Algoritma penggantian page kesempatan kedua
·
Algoritma penggantian clock page
Masalah pada Paging
·
Working set model
·
Penggantian lokal vs global
·
Frekuensi page fault
·
Ukuran page
Kerugian dan Keuntungan Paging
1.
Jika kita
membuat ukuran dari masing-masing pages menjadi besar:
·
Keuntungan: akses memori akan relatif lebih cepat.
·
Kerugian: kemungkinan terjadinya fragmentasi internal
yang sangat besar.
2.
Jika kita membuat ukuran dari masing-masing pages
menjadi kecil:
·
Keuntungan: akses memori akan relatif lebih lambat.
·
Kerugian: kemungkinan terjadinya fragmentasi internal
akan menjadi lebih kecil.
Segmentasi
Deskripsi Segmentasi
·
Segmentasi
memungkinkan pemrogram memandang memori sebagai berisi banyak ruang alamat atau
segmen.
·
Dengan
segmentasi, pemrogram tidak berurusan dengan batasan memori yang disebabkan
kapasistas memori utama.
Keunggulan Teknik
Segmentasi
·
Menyederhanakan
penanganan struktur data yang berkembang
·
Kompilasi
ulang independen
·
Memudahkan
pemakaian memori bersama diantara proses-proses
·
Memudahkan
untuk proteksi
Perbandingan antara Paging dan Segmentasi
Ada beberapa perbedaan antara
Segmentasi dan Paging diantaranya adalah :
·
Pada segmentasi kompilasi dilakukan secara
terpisah sedangkan padapaging, kompilasinya tidak terpisah.
·
Pada segmentasi ada shared code sedangkan pada paging tidak
ada shared code.
·
Pada segmentasi terdapat banyak ruang alamat
linier sedangkan pada paginghanya terdapat satu ruang alamat linier.
·
Pada segmentasi pengubahan ukuran tabel dapat
dilakukan dengan mudah sedangkan pada Paging pengubahan ukuran tabel tidak dapat
dilakukan dengan mudah.
·
Segmentasi digunakan untuk mengizinkan program
dan data dapat dipecahkan jadi ruang alamat mandiri dan juga untuk mendukung
sharing dan proteksi sedangkan paging digunakan untuk mendapatkan ruang alamat
linier yang besar tanpa perlu membeli memori fisik lebih.
Kombinasi Paging dan
Segmentasi
·
Ruang
alamat pemakai dibagi menjadi sejumlah segmen sesuai kehendak pemrogram.
·
Setiap
segmen dibagi menjadi sejumlah page berukuran tetap, berukuran sama dengan page
frame memori utama.


