Fragmentasi Eksternal. Dalam kasus first fit dan juga best fit sebagaimana yang telah

Kode reentrant dapat dieksekusi oleh 2 atau lebih proses dalam waktu yang bersamaan. Tiap-tiap proses tersebut memiliki salinan dari register dan tempat penyimpanan data untuk memperoleh data proses yang akan dieksekusi. Oleh karena itu 2 proses berbeda akan memiliki data yang berbeda pula. Dalam berbagi halaman, hanya satu salinan dari editor yang akan disimpan dalam memori. Tiap halaman tabel pengguna akan memetakan editornya masing-masing ke alamat fisik yang sama namun halaman data mereka akan dipetakan ke alamat fisik yang berbeda-beda. Sehingga untuk kasus 40 pengguna diatas, kita hanya butuh satu buah salinan dari editor 150 KB serta 40 salinan masing-masing sebesar 50 KB. Maka jumlah ruang memori yang dibutuhkan adalah 2.150 KB yang jauh lebih sedikit dibandingkan dengan 8.000 KB jika tidak menggunakan teknik berbagi memori. Program-program lain yang dapat dilakukan pembagian memori contohnya kompilator, window systems, run-time libraries, sistem basis data dan lain-lain.

2.7. Rangkuman

Memori merupakan salah satu sumber daya yang penting dalam pengeksekusian sebuah proses. Agar suatu proses dapat dieksekusi, ia harus terletak di dalam memori sebelum CPU mengambil instruksi-instruksi pada alamat yang ditunjuk oleh program counter. Swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta memasukkan proses dengan prioritas yang lebih tinggi tersebut. Pemetaan memori memetakan alamat logis yang dihasilkan CPU ke alamat fisik yang nantinya akan dibawa ke memori pada saat akan dieksekusi.Pada pemetaan memori ini terdapat limit register yang terdiri dari rentang nilai alamat logis range of logical address. Dengan adanya limit register dan register relokasi, tiap alamat logis haruslah lebih kecil dari limit register. Proses pemetaan dilakukan oleh MMU Memory Management Unit dengan menjumlahkan nilai register relokasi ke alamat logis 15 Partisi memori ada dua jenis yaitu statis tetap dan dinamis berubah-ubah. Pada partisi dinamis ada beberapa teknik untuk memenuhi permintaan berukuran n dengan lubang-lubang yang tersedia yaitu first fit menemukan lubang pertama yang cukup besar, next fit sama seperti first fit namun pencarian tidak dari awal, best fit lubang terkecil yang cukup, dan worst fit lubang terbesar yang ada dalam daftar. Fragmentasi merupakan peristiwa munculnya lubang-lubang kecil yang tidak cukup menampung permintaan proses. Terdiri dari dua jenis, yaitu eksternal biasanya pada partisi dinamis dengan total kapasitas lubang-lubang cukup menampung sebuah proses namun letaknya terpisah-pisah, solusinya dengan penghalaman, segmentasi dan pemadatan serta internal biasanya pada partisi tetap dengan adanya kapasitas sisa sebuah lubang yang tidak dapat digunakan karena menjadi milik proses yang dialokasikan lubang tersebut. Berbagi halaman memungkinkan beberapa proses untuk mengakses kode yang sama namun dengan data yang berbeda-beda. Hal ini jelas akan mengurangi jumlah ruang memori yang dibutuhkan untuk memenuhi permintaan beberapa proses tersebut. 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. [WEBPCMag] The Computer Language Company. 2007. PCMag http:www.pcmag.com encyclopedia_term 0,2542,t=reentrant+codei=50332,00.asp . Diakses 29 Maret 2007. 16