Bab 8. Seputar Alokasi Bingkai

Daftar Isi

Pendahuluan
Sistem Buddy
Alokasi Slab
Prepaging
Ukuran Halaman
TLB Reach
Struktur Program
Penguncian M/K
Windows XP
Rangkuman
Rujukan

Pendahuluan

Ketika sebuah proses yang berjalan dalam user-mode meminta tambahan memori, halaman akan dialokasikan dari daftar frame halaman bebas yang diatur dari kernel. Daftar tersebut diperoleh dengan menggunakan algoritma penggantian halaman yang telah dibahas pada bab-bab sebelumnya. Memori kernel sering dialokasikan dari sebuah daftar kumpulan memori bebas yang berbeda dari daftar yang digunakan untuk memenuhi permintaaan dalam user-mode proses. Terdapat dua alasan untuk hal ini:

  1. Kernel meminta memori untuk struktur data dengan berbagai ukuran, ada beberapa yang lebih kecil dari ukuran halaman. Jadi, kernel harus bisa meminimalisasi memori yang terbuang karena terjadinya fragmentasi

  2. Halaman-halaman yang dialokasikan untuk proses-proses saat user-mode tidak harus dalam halaman yang saling berdekatan. Bagaimanapun juga hardware devices tertentu berinteraksi langsung dengan memori fisik. Hal itu mengakibatkan adanya kebutuhan memori sisa dalam halaman-halaman yang saling berdekatan. Ada dua strategi untuk me- manage memori bebas yang diserahkan untuk proses-proses kernel, yaitu: sistem buddy dan alokasi slab.

Dua hal utama yang harus kita pertimbangkan dalam membuat sistem paging adalah dari sisi pemilihan algoritma penggantian halaman dan aturan pengalokasian memori. Namun, ternyata ada beberapa hal juga harus kita pertimbangkan dalam membuat sistem paging, seperti: prepaging, TLB reach, ukuran halaman (page size), struktur program , penguncian M/K dll.

Rujukan

[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] Yair Amir dan Theo Schlossnagle. 2000. Operating Systems 00.418: Memory Management – http://www.cs.jhu.edu/ ~yairamir/ cs418/ os5/ . Diakses 29 Mei 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.

[WEBPRI2003] Romadhony,Ade. Erik Evanny . 2003. Institut Teknologi Bandung– http://kur2003.if.itb.ac.id/file/FMKL-K1-08.doc . Diakses 7 april 2007.

[WEBTEK2005] Tei-Wei Kuo.. 2005. National Taiwan University,– http://csie.ntu.edu.tw/~ktw/uos/uos-ch9.pdf . Diakses 7 april 2007.