Anda di halaman 1dari 6

ALGORITM PAGING

Sistem Paging Adalah sistem manajemen pada sistem operasi dalam mengatur program yang sedang
berjalan. Program yang dijalankan harus dimuat di memori utama. Masalah muncul ketika program lebih
besar dibanding di memori utama yang tersedia. Terdapat dua solusi masalah ini,yaitu :

1. Overlay
Overlay adalah program dipecah menjadi bagian-bagian yang dapat dimuat di memori. Overlay
yang belum diperlukan (tidak sedang dieksekusi) disimpan di disk, overlay ini dimuatkan ke memori
begitu diperlukan (kode overlay akan dieksekusi).
2. Memori Maya (Virtual Memory)
Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang
tersedia. Memori maya dapat dilakukan pada sistem multiprogramming.
Keuntungan :
• Lalu lintas I/O menjadi rendah.
• Berkurangnya memori yang dibutuhkan.
• Meningkatnya respon.
• Bertambahnya jumlah user yang dapat dilayani.
• Memori virtual melebihi daya tampung dari memori utama yang tersedia.
Untuk mengimplementasikan memori maya tersebut dapat dilakukan dengan tiga cara yaitu system
paging, system segmentasi, system kombinasi paging dan segemntasi.

Istilah – istilah pada system paging :

A. Alamat Maya (Virtual Address)


Adalah alamat yang dihasilkan perhitungan menggunakan index register, base register,segment
regoster dan sebagainya.
B. Alamat nyata (real Address)
Alamat maya adalah alamat utama di memori fisik.
C. Page
Page adalah unit terkecil virtual address space
D. page frame
Page frame adalah unit terkecil memori fiisk. Memori fisik secara konseptual dibagi menjadi
sejumlah unit berukuran tetap disebut page frame. Page frame sering juga disingkat frame.
E. Page fault
Page fault adalah exception untuk permintaan alokasi page ke memori. Dalam konteks memori
maya, page fault sering juga disingkat fault.
F. MMU (Memory Management Unit)
MMU berfungsi :
• Pemetaan memori maya ke memori fisik
• Bila alamat memori yang diminta tidak tersedia di memori fisik, MMU menerbitkan exception
adanya page fault yang melewatkan ke sistem operasi untuk menanganinya.
G. Untuk menginplementasikan addres maya yang besar ke dalam memori yang kecil diperlukan index
register, base register, segment register dan MMU ( Memory Menegement Unit ).
Masalah utama system paging
1. Working Set Model
• Prinsip Lokalitas
Prinsip Lokalitas adalah proses-proses cenderung mengacu penyimpan secara tak seragam,
mempunyai pola-pola sangat setempat.
• Working set of Program Behavior
Himpunan kerja secara informal didefinisikan sebagai kumpulan page proses yang secara aktif diacu.
Denning menyatakan bahwa agar suatu program berjalan secara efisien, himpunan kerja harus
dijaga berada di memori utama. Selain itu akan terjadi aktivitas page fault yang berlebihan. Peristiwa
page fault yang sangat berlebihan disebut trashing, yaitu setelah hanay beberapa intruksi terjadi
page fault.
Prinsip yang digunakan oleh Working Set Model ini adalah dengan melacak dan menjamin himpunan
kerja terdapat di memori sebelum proses dijalankan. Cara ini mengurangi terjadinya page fault.
2. Kebijaksanaan penggantian lokal vs global
Terdapat dua pendekatan untuk mengganti page, yaitu :
• Penggantian lokal adalah page yang dipilih untuk diganti hanya pada partisi dimana proses
diletakkan.
• Penggantian global adalah page yang dipilih untuk diganti adalah tempat kosong dengan tidak
memperdulikan partisi proses.
3. Frekuensi page fault
Frekuensi terjadinya page fault dapat dikendalikan dengan algoritma PFF (Pafe Fault Frequency
Algorithm).
4. Ukuran page
Ukuran page ditentukan perancang sistem operasi. Ukuran page harus ditentukan agar sistem
berperilaku opimal. Penentuan ukuran page memerlukan penilaian dan pemahaman mendalam
perangkat keras, perangkat lunak dan aplikasi sistem.
5. Paging Daemon
Paging bekerja bagus saat terdapat banyak page frame bebas yang dapat diklaim begitu page fault
terjadi. Jika setiap page frame penuh dan telah dimodifikasi, sebelum page baru dimasukkan, pag
eharus ditulis terlebih dahulu ke disk.
Untuk menjamin pasokan (supply) page frame yang banyak, sistem paging biasanya mempunyai
proses background, disebut Paging Daemon.
6. Penanganan Page Fault (Page Fault Handling)
Implementasi sistem paging harus mengatasi rincian aksi yang harus dilakukan saat terjadi page
fault.

Permodelan Algoritma Paging


Belady menemukan pada algoritma FIFO, bahwa pada pola-pola pengacuan tertentu menyebabkan lebih
banyak page fault bila alokasi page untuk proses ditambah. Fenomenanya disebut Anomali Belady.
Fenomena dapat diilustrasikan yaitu :
• Program dengan lima page
• Urutan page yang diacu adalah 0 1 2 3 4 0 1 4 0 1 2 3 4

MESIN ABSTRAKSI EKSEKUSI PROGRAM


Setiap proses dimemori maya menghasilkan barisan pengacuan memori saat berjalan. Pengacuan
memori berkorespondensi dengan satu page.
Sistem Oaging dicirikan 3 hal :
 String pengacuan proses yang sedang dieksekusi
 Algoritma penggantian page yang digunakan.
 Jumlah page frame yang tersedia (pada memori)

Terdapat mesin abstrak interpreter dengan properti berikut:


Terdapat array internal, M, menyimpan status memori. Array mempunyai n elemen seperti proses
mempunyai npage memori maya.
Array M terbagi dua, yaitu:
▪ Bagian atas/puncak, yaitu m isian, page di memori utama.
▪ Bagian bawah/dasar berisi n-m isian, yaitu semua page yang pernah diacu sekali tapi telah
dipindahkan dan tidak di memori utama.
Mulanya array M berupa himpunan kosong karena belum ada page yang telah diacu dan tak ada
page yang berada di memori.
Begitu eksekusi dimulai, proses mulai mengeluarkan page sesuai string pengacuan, satu page pada satu
saat. Terhadap page itu, interpreter memeriksa apakah page berada di memori (yaitu merupakan isian
bagian puncak array M). Jika page tidak ada di memori, dan jika terdapat slot kosong di memori (yaitu
bagian puncak kurang dari m), maka page dimuat dan dimasukkan ke puncak M. Situasi ini hanya
muncul di awal eksekusi. Jika memori telah penuh (yaitu bagian array M telah terisi m), algoritma
penggantian dijalankan untuk mengganti page dari memori utama. Pada model ini, maka satu page
pindah dari bagian puncak ke bagian dasar, serta page yang diperlukan dimasukkan ke puncak.
Masalah-masalah Utama pada Sistem Paging
Masalah-masalah Utama pada Sistem Paging adalah working set model, kebijaksanaan penggantian lokal
vs global, dan frekuensi page fault, serta ukuran page.

ALGORITMA SISTEM PAGING

1. Algortima Pengganti Page Acak


Dari segi mekanisme algoritma tersebut, setiap akan timbul page fault, page yang diganti dengan pilihan
secara acak. Untuk segi tekniknya sendiri pun algoritma ini tidak usah perlu menggunakan informasi
dalam menentukan page yang diganti, didalam memory utama itu sendiri sudah mempunyai bobot yang
sama untuk dipilih, karena teknik ini dapat dipakai untuk memilih page sembarang. Termasuk page yang
sudah dipilih dengan benar-benar / page yang tidak seharusnya diganti.

2. Algoritma Pengganti Page Optimal


Pengertian dari algoritma ini sendiri yaitu algoritma yang page nya paling optimal. Untuk prinsip dari
algoritma ini sangat efisien sekali karena hanya mengganti halaman yang sudah tidak terpakai lagi dalam
jangka waktu lama sehingga page fault yang terjadi akan berkurang dan terbebas dari anomali Belady
Selain itu juga page fault dari algoritma ini memiliki rate paling tinggi dari algoritma lainnya dari semua
kasus, akan tetapi tidak belum bias disebut sempurna karena sulit untuk di mengerti dan dari segi
system pun belum tentu bisa mengetahui page untuk berikutnya tetapi dapat di simulasikan hanya
untuk suatu program. Untuk intinya gunakanlah hingga mendekati page optimal agar bisa
memanfaatkannya.

3. Algoritma Page NRU (Not-Recently Used)


Untuk mekanisme dari algoritma ini diberi dua bit untuk mencatat status page, diantaranya bit M
dan R yaitu :

Bit M : Page yang telah dimodifikasi


Bit M = 0 berarti tidak dimodif
Bit M = 1 berarti sudah dimodif
Bit R : Page yang sedang dipacu / referenced
Bit R = 1 berarti sedang di acu
Bit R = 0 berarti tidak sedang di acu
Adanya dua bit di atas maka akan dapat dikelompokkan menjadi 4 kelas page, yaitu :
Kelas 0 => Tidak sedang di acu / belum di modif (R=0, M=0)
Kelas 1 => Tidak sedang di acu / telah di modif (R=0, M=1)
Kelas 2 => Sedang di acu / belum di modif (R=1, M=0)
Kelas 3 => Sedang di acu / telah di modif (R=1, M=1)
Jadi apabali algoritma ini diasumsikan kelas-kelas bernomor lebih rendah baru akan di gunakan
kembali dalam relatif jangka waktu lama.
Intinya algoritma ini mudah dipahami dan dikembangkan karena sangat efisien walaupun tak banyak
langkah dalam pemilihan page dan kelemahannya juga tidak optimal tapi dalam kondisi normal yang
memadai.

4. Algoritma page FIFO (First In First Out)


Inti dari algoritma ini adalah simple / paling sederhana karena prinsipnya sama seperti prinsip antrian
tak berprioritas. Page yang masuk terlebih dahulu maka yaitu yang akan keluar duluan juga. Untuk
algoritma ini menggunakan structure data stack. Jadi kerjanya yaitu dimana kalau tidak ada frame yang
kosong saat terjadi page fault maka korban yang dipilih adalah frame dengan stack paling bawah seperti
hal nya halaman yang sudah lama tersimpan didalam memory maka dari itu algoritma ini juga bisa
memindahkan page yang sering digunakan.
Utamanya algoritma ini di anggap cukup mengatasi pergantian page sampai pada tahun 70-an, pada
saat itu juga Belady menemukan keganjalan pada algoritma ini dan dikenal dengan anomali Belady.
Anomali Belady itu sendiri ialah keadaan dimana page fault rate meningkat seiring dengan
pertambahannya jumlah frame.

5. Algoritma page Modifikasi FIFO


Algoritma FIFO murni jarang digunakan, tetapi dikombinasikan (modifikasi).
Kelemahan FIFO yang jelas adalah algoritma dapat memilih memindahkan page yang sering digunakan
yang lama berada di memori. Kemungkinan ini dapat dihindari dengan hanya memindahkan page tidak
diacu Page ditambah bit R mencatat apakah page diacu atau tidak. Bit R bernilai 1 bila diacu dan bernilai
0 bila tidak diacu.
Variasi dari FIFO antara lain:
– Algoritma penggantian page kesempatan kedua (second chance page replacement algorithm)
-Algoritma penggantian clock page (clock page replacement algorithm)
Algoritma yang pertama adalah algoritma second chance. Algoritma second chance berdasarkan pada
algoritma FIFO yang disempurnakan. Algoritma ini menggunakan tambahan berupa reference bit yang
nilainya 0 atau 1. Jika dalam FIFO menggunakan stack , maka second chance menggunakan circular
queue . Halaman yang baru di-load atau baru digunakan akan diberikan nilai 1 pada reference bit-nya.
Halaman yang reference bit-nya bernilai 1 tidak akan langsung diganti walaupun dia berada di antrian
paling bawah (berbeda dengan FIFO).
Urutan langkah kerja algoritma second chance adalah sebagai berikut:
– Apabila terjadi page fault dan tidak ada frame yang kosong, maka akan dilakukan razia (pencarian
korban) halaman yang reference bit-nya bernilai 0 dimulai dari bawah antrian (seperti FIFO).
– Setiap halaman yang tidak di- swap (karena reference bit-nya bernilai 1), setiap dilewati saat razia
reference bit-nya akan diset menjadi 0.

6. Algoritma page LRU (Least Recently Used)


Dikarenakan algoritma optimal sangat sulit dalam pengimplementasiannya, maka dibuatlah
algoritma lain yang performance-nya mendekati algoritma optimal dengan sedikit cost yang lebih
besar. ama seperti algoritma optimal, algoritma LRU tidak mengalami anomali Belady. Algoritma ini
memakai linked list untuk mendata halaman mana yang paling lama tidak terpakai. Linked list inilah
yang membuat cost membesar, karena harus meng-update linked list tiap saat ada halaman yang di
akses.

Anda mungkin juga menyukai