Nama : Juni Elfrida
Fakultas : Fakultas Teknologi dan Ilmu Komputer
Universitas : Universitas Prima Indonesia
Paging
1. Pengertian sistem paging
Sistem paging adalah suatu sistem
manajemen pada sistem operasi yang mengatur program yang sedang berjalan. Metode
dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang
berukuran tertentu yang disebut dengan frame dan memecah memori logika menjadi
bok-blok yang berukuran sama dengan frame yang disebut page.
2.
Fungsi sistem paging
Untuk mengatasi apabila suatu
program lebih besar dibandingkan dengan memori utama adalah dengan konsep
overlay dan konsep memori maya(virtual memori).
Dalam virtual memory ada yang
namanya penggantian halaman, yaitu merupakan sebuah algoritma yang menentukan
atau menukar halaman dari memori utama ke disk jika halaman pada memori utama
perlu dialokasikan. Penggantian memori terjadi ketika page fault yang
berarti page frame pada memori fisik harus diputuskan dan segera
diganti.
a. Page fault : exception untuk permintaan
alokasi halaman ke memori.
b. Page frame : unit terkecil yang ada pada
memori fisik.
Ada beberapa jenis algoritma penggantian halaman,
yaitu sbb :
a. Algoritma penggantian page NRU
b. Algoritma penggantian page acak
c. Algoritma penggantian page LRU
d. Algoritma penggantian page FIFO
e. Algoritma penggantian page optimal
f. Algoritma penggantian page modifikasi
FIFO
Berikut beberapa algoritma penggantian halaman (page)
:
a. Algoritma
penggantian page NRU ( Not-Recently Used )
Mekanisme
algoritma dimana page atau halaman di beri dua bit untuk mencatat status page,
bit R dan M, yaitu :
a) Bit R : referenced (menyatakan page
sedang di acu)
i.
Bit R = 1
berarti sedang diacu
ii.
Bit R = 0
berarti sedang tidak diacu
b) Bit M : modified (menyatakan page
telah dimodifikasi)
i.
Bit M = 1
berarti telah di modifikasi
ii.
Bit M = 0
berarti belum dimodifikasi
c) Dengan dua bit, maka page atau
halaman-halaman dikelompokkan menjadi 4 kelas page, yaitu :
i.
Kelas 0 :
tidak sedang diacu, belum di modifikasi (R = 0, M = 0)
ii.
Kelas 1 :
tidak sedang diacu, telah dimodifikasi (R = 0, M = 1)
iii.
Kelas 2 :
sedang diacu, belum di modifikasi (R = 1, M = 0)
iv.
Kelas 3 :
sedang diacu, telah dimodifikasi (R = 1, M = 1)
d) Memilih mengganti page kelas
bernomor terendah (bila terdapat page atau halaman yang ada pada kelas itu)
secara acak.
e) Bila kelas tersebut kosong maka
dipilih lah page atau halaman di kelas lebih tinggi dan seterusnya.
f) Dengan kata lain algoritma ini
mengasumsikan kelas-kelas bernomor lebih rendah baru akan digunakan kembali
dalam jangka waktu yang relatif lama.
b. Algoritma
penggantian page acak M
Merupakan mekanisame algoritma setiap
terjadi page fault pada page atau halaman yang diganti dipilih secara
acak. Teknik ini tidak memakai informasi apapun dalam menentukan page atau
halaman yang akan diganti. Semua page di memori utama mempunyai bobot yang sama
untukk di pilih. Teknik ini dapat memilih sembarang page, termasuk page yang
sedang diacu (page yang seharusnya tidak di ganti).
c. Algoritma
penggantian page LRU ( Least Recently Used )
Mekanisme
algoritma ketika terjadi page fault maka memindahkan page yang tidak digunakan
paling lama, namun masalah utamanya algoritma ini sangat mahal.
d. Algortima
penggantian page FIFO ( First In First Out )
Mekanisme
algortima yang memerlukan pengolahan senarai
page di memori, dimana elemen terdepan senarai adalah page tertua dan ujung
belakang adalah page paling akhir datang. Algortima ini sangat simpel
implementasinya yaitu ketika page atau halaman masuk terlebih dahulu page
tersebut akan keluar terlebih dahulu. Intinya pada algortima ini konsep
dasarnya page yang paling lama tersimpan pada memori maka page tersebut yang
paling sering digunakan dapat dipindahkan pada memori.
e. Algortima
penggantian page optimal
Merupakam
mekanisme algoritma yang memilih page atau halaman yang berpeluang
dipakai kembali di masa datang yang paling kecil. Strategi ini akan menghasilkan
jumlah page fault paling sedikit. Algoritma ini bisa di bilang utopia (
ideal tanpa dapat dijadikan kenyataan) karena tak mungkin di buat prosedur yang
dapat mengetahui peluang pemakaian suatu page di masa datang ( meode ini
mungkin tidak diterapkan).
f. Algoritma
penggantian modifikasi page FIFO
Algortima
yang merupakan modifikasi dari algoritma penggantian page FIFO karena murni
algortima tersebut jarang digunakan. Namun
kemungkinan kelemahan page FIFO
dapat dihindari dengan hanya memindahkan page tidak diacu. Page ditambah bit R
mencatat apakah page diacu atau tidak, bit R bernilai 1 maka apabila page diacu
dan bernilai 0 apabila tidak diacu.
Variasi dari FIFO antara lain
sebagai berikut :
i.
Algortima
penggantian page kesempatan kedua (Second chance page replacement algorithm)
: mekanisme algoritma pada saat terjadi page fault, maka algoritma
memilih page atau halaman elemen terdepan diganti bila bit R bernilai 0.
Jika bit R bernilai 1 maka bit page terdepan senarai direset menjadi 0 dan
diletakkan ke ujung belakang senarai, sehingga mekanisme ini kembali diterapkan
ke elemen berikutnya.
ii.
Algoritma
penggantian clock page (clock page replacement algorithm) : mekanisme algoritma ketika semua
page merupakan senarai melingkar membentuk pola jam, terdapat penunjuk
(pointer) ke page tertua. Ketika terjadi page fault page yang ditunjuk
diperiksa. Jika bit R = 0 maka page diganti, page baru ditempatkan ditempat
page diganti, dan penunjuk dimajukan satu posisi ke page berikutnya. Namun jika
bit R = 1 maka bit R direset menjadi 0, dan penunjuk dimajukan satu posisi
hingga seterusnya sampai menemui page dengan bit R = 0.