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.
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.
- Page fault : exception untuk permintaan alokasi halaman ke memori.
- Page frame : unit terkecil yang ada pada memori fisik.
Ada beberapa jenis algoritma
penggantian halaman, yaitu sbb :
- Algoritma penggantian page acak
- Algoritma penggantian page optimal
- Algoritma penggantian page NRU
- Algoritma penggantian page FIFO
- Algoritma penggantian page modifikasi FIFO
- Algoritma penggantian page LRU
Berikut beberapa algoritma
penggantian halaman (page) :
- Algoritma penggantian page acak : 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).
- 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).
- 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 :
- Bit R : referenced (menyatakan page sedang di acu)
- Bit R = 1 berarti sedang diacu
- Bit R = 0 berarti sedang tidak diacu
- Bit M : modified (menyatakan page telah dimodifikasi)
- Bit M = 1 berarti telah di modifikasi
- Bit M = 0 berarti belum dimodifikasi
- Dengan dua bit, maka page atau halaman-halaman dikelompokkan menjadi 4 kelas page, yaitu :
- Kelas 0 : tidak sedang diacu, belum di modifikasi (R = 0, M = 0)
- Kelas 1 : tidak sedang diacu, telah dimodifikasi (R = 0, M = 1)
- Kelas 2 : sedang diacu, belum di modifikasi (R = 1, M = 0)
- Kelas 3 : sedang diacu, telah dimodifikasi (R = 1, M = 1)
- Memilih mengganti page kelas bernomor terendah (bila terdapat page atau halaman yang ada pada kelas itu) secara acak.
- Bila kelas tersebut kosong maka dipilih lah page atau halaman di kelas lebih tinggi dan seterusnya.
- Dengan kata lain algoritma ini mengasumsikan kelas-kelas bernomor lebih rendah baru akan digunakan kembali dalam jangka waktu yang relatif lama.
- 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.
- 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 sbb :
o 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.
o 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.
- 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.
Sumber :
0 komentar:
Posting Komentar