Algoritma Lainnya Algoritma Ganti Halaman

Rujukan [Silberschatz2002] Abraham Silberschatz, Peter Galvin, dan Greg Gagne. 2002. Applied Operating Systems. Sixth Edition. John Wiley Sons. [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley Sons. [Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997. Operating Systems Design and Implementation. Second Edition. Prentice-Hall. [WEBAmirSch2000] YairTheo AmirSchlossnagle. 2000. Operating Systems 00.418: Memory Management – http:www.cs.jhu.edu ~yairamir cs418 os5 . Diakses 29 Mei 2006. [WEBEgui2006] Equi4 Software. 2006. Memory Mapped Files – http:www.equi4.commkmmf.html . Diakses 3 Juli 2006. [WEBFunkhouser2002] Thomas Funkhouser. 2002. Computer Science 217 Introduction to Programming Systems: Memory Paging – http:www.cs.princeton.edu courses archive spring02 cs217 lectures paging.pdf . Diakses 28 Juni 2006. [WEBGottlieb2000] Allan Gottlieb. 2000. Operating Systems: Page tables – http:allan.ultra.nyu.edu ~gottlieb courses 1999-00-spring os lecture-11.html . Diakses 28 Juni 2006. [WEBSolomon2004] Marvin Solomon. 2004. CS 537 Introduction to Operating Systems: Lecture Notes Part 7 – http:www.cs.wisc.edu ~solomon cs537 paging.html . Diakses 28 Juni 2006. [WEBWiki2006c] From Wikipedia, the free encyclopedia. 2006. Memory Management Unit – http:en.wikipedia.org wiki Memory_management_unit . Diakses 30 Juni 2006. [WEBWiki2006d] From Wikipedia, the free encyclopedia. 2006. Page Fault – http:en.wikipedia.org wiki Page_fault . Diakses 30 Juni 2006. [WEBWiki2006e] From Wikipedia, the free encyclopedia. 2006. Copy on Write – http:en.wikipedia.org wiki Copy_on_Write . Diakses 03 Juli 2006. [WEBWiki2007] Wikipedia. 2007. Page Replacement Algortihm http:en.wikipedia.orgwikiPage_replacement_algorithm . Diakses 4 April 2007. 46

Bab 7. Strategi Alokasi Bingkai

7.1. Pendahuluan

Setiap proses perlu mendapat alokasi memori agar proses tersebut dapat dieksekusi dengan baik. Masalah selanjutnya adalah bagaimana caranya untuk mengalokasikan memori bagi setiap proses yang ada. Saat proses akan dieksekusi, terjadi page fault sehingga sistem akan menggantinya dengan halaman di memori. Untuk melakukan penggantian ini diperlukan bingkai yang terdapat di sistem. Proses dapat menggunakan setiap bingkai yang sedang bebas di sistem. Hal ini mengakibatkan perlu adanya pengaturan lebih lanjut agar tiap proses bisa mendapatkan bingkai yang cukup untuk melakukan penggantian ini.

7.2. Jumlah Bingkai

Hal yang perlu diperhatikan dalam strategi alokasi bingkai adalah berapa jumlah bingkai yang harus dialokasikan pada proses tersebut. Jumlah bingkai yang dialokasikan tidak boleh melebihi jumlah bingkai yang tersedia. Hal lain yang perlu diperhatikan adalah jumlah bingkai minimum yang harus dialokasikan agar instruksi dapat dijalankan, karena jika terjadi kesalahan halaman sebelum eksekusi selesai, maka instruksi tersebut harus diulang. Sehingga jumlah bingkai yang cukup harus tersedia untuk menampung semua halaman yang dibutuhkan oleh sebuah instruksi.

7.3. Strategi Alokasi Bingkai

Ada dua jenis algoritma yang biasa digunakan untuk pengalokasian bingkai, yaitu: 1. Algoritma Fixed Allocation . Algoritma fixed allocation dibedakan menjadi dua macam yaitu equal allocation dan proportional allocation. Pada algoritma equal allocation jumlah bingkai yang diberikan pada setiap proses jumlahnya sama mn bingkai, m = jumlah bingkai, n = jumlah proses, misalnya: ada 5 buah proses dan 100 bingkai tersisa, maka tiap proses akan mendapatkan 20 bingkai. Algoritma ini kurang baik digunakan jika proses-proses yang ada besarnya berbeda-beda proses yang besar diberikan bingkai yang sama dengan proses yang kecil, misalnya: ada 2 buah proses sebesar 10 K dan 127 K, ada 64 bingkai bebas. Jika kita memberikan bingkai yang sama yaitu sebesar 32 untuk tiap proses maka misalnya saja proses satu ternyata hanya memerlukan 10 bingkai, dan alhasil 22 bingkai pada proses pertama akan terbuang percuma. Untuk mengatasi masalah tersebut algoritma proportional allocation-lah yang cocok digunakan, yaitu pengalokasian bingkai disesuaikan dengan besarnya suatu proses, contoh: Si = besarnya proses Pi S = Si m = jumlah total bingkai ai = alokasi bingkai untuk Pi SiS x m m = 64 S1 = 10 S2 = 127 a1 = 10137 x 64 = 5 bingkai a2 = 127137 x 64 = 59 bingkai

2. Algoritma Priority Allocation . Algoritma priority allocation merupakan algoritma

pengalokasian dengan memberikan jumlah bingkai sesuai dengan prioritas proses tersebut. Pendekatannya mirip dengan proportional allocation, perbandingan frame-nya tidak tergantung ukuran relatif dari proses, melainkan lebih pada prioritas proses atau kombinasi ukuran dan 47