Dasar Penggantian Halaman Memori Virtual

5.7. Rangkuman

Memori virtual adalah teknik yang memisahkan antara alamat memori logis dengan alamat memori fisik. Hal tersebut berguna agar pengguna programmer tidak perlu menentukan alamat fisik dari program yang dijalankan. Memori vitual memungkinkan beberapa proses berjalan dengan alamat memori fisik yang terbatas. Teknik permintaan halaman demand paging digunakan untuk mengimplementasikan konsep memori virtual. Jika halaman yang diminta tidak terdapat pada memori utama, maka akan terjadi page fault. Page fault ini dapat ditangani dengan beberapa tahapan. Dengan adanya page fault ini, maka kinerja demand paging dapat dihitung berdasarkan memory access time dan page fault time waktu yang dibutuhkan dalam penanganan page fault. Kinerja demand paging ini biasa disebut dengan effective access time. Pada pembuatan suatu proses baru proses anak, maka baik proses induk maupun proses anak dapat mengakses suatu halaman yang sama tanda perlu membuat salinannya terlebih dahulu, yaitu dengan teknik copy-on-write. Jika proses anak hendak memodifikasi halaman tersebut, maka baru akan dibuatkan salinan dari halaman tersebut untuk kemudian dimodifikasi oleh proses anak. Halaman yang disalin tersebut dinamakan halaman copy-on-write . Jika ada suatu halaman dimintadibutuhkan oleh suatu proses dan ternyata halaman tersebut terdapat di disk, maka halaman tersebut akan dipindahkan ke memori utama. Namun, jika di memori utama tidak lagi terdapat bingkai yang kosong free frame untuk ditempati oleh halaman tersebut, maka akan terjadi penggantian halaman page replacement dengan memilih suatu bingkai pada memori dan menggantikan isinya dengan halaman tersebut. Pada pemilihan suatu bingkai ini, dibutuhkan suatu algoritma penggantian halaman. 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. 37 [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. [WEBCACMF1961] John Fotheringham. “ Dynamic Storage Allocation in the Atlas Computer Including an Automatic Use of a Backing Store http:www.eecs.harvard.edu cs261 papers frother61.pdf ”. Diakses 29 Juni 2006. Communications of the ACM . 4. 10. October 1961. [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. [WEBHP1997] Hewlett-Packard Company. 1997. HP-UX Memory Management Overview of Demand Paging http:docs.hp.comen5965-4641ch01s10.html . Diakses 29 Juni 2006. [WEBJupiter2004] Jupitermedia Corporation. 2004. Virtual Memory http:www.webopedia.com TERM v virtual_memory.html . Diakses 29 Juni 2006. [WEBOCWEmer2005] Joel Emer dan Massachusetts Institute of Technology. 2005. OCW Computer System Architecture Fall 2005 Virtual Memory Basics http:ocw.mit.edu NR rdonlyres Electrical -Engineering -and -Computer -Science 6 -823Computer -System -ArchitectureSpring2002 C63EC0D0 -0499 -474F -BCDA -A6868A6827C4 lecture09.pdf . Diakses 29 Juni 2006. [WEBRegehr2002] John Regehr dan University of Utah. 2002. CS 5460 Operating Systems Demand Halamand Virtual Memory http:www.cs.utah.edu classes cs5460-regehr lecs demand_paging.pdf . Diakses 29 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. [WEBKUSJOKO2004] Kuspriyanto dan Putut Joko Wibowo. 2004. Desain Memori Virtual Pada Mikroarsitektur PowerPC, MIPS, Dan X86 http:www.geocities.comtransmisi_eeundipkuspriyanto.pdf . Diakses 28 Maret 2007. 38

Bab 6. Algoritma Ganti Halaman

6.1. Pendahuluan

Ganti halaman dilakukan apabila terjadi page fault. Page fault bukan suatu jenis error yang fatal, page fault terjadi apabila ada halaman yang ingin diakses tetapi halaman tersebut tidak terdapat di dalam memori utama. Page fault pasti terjadi minimal satu kali saat pertama kali halaman itu ingin diakses. Prinsip ganti halaman adalah sebagai berikut: a. Proses meminta halaman tertentu. b. Jika halaman berada di memori, tidak dilakukan ganti halaman. c. Jika halaman tidak berada di memori, maka: a. Jika ada frame kosong, maka halaman itu di-load ke dalam frame yang kosong tersebut. b. Jika tidak ada frame yang kosong, maka pilih halaman yang akan di-swap dengan menggunakan algoritma ganti halaman. d. Update tabel halaman dan table memori. e. Restart proses. Gambar 6.1. Ilustrasi Swapping Semakin banyak dilakukan swap, semakin sibuk pula CPU mengurus hal ini. Bila berkelanjutan, maka akan terjadi thrashing. Thrashing adalah keadaan di mana banyak terjadi page fault, sehingga mengakibatkan utilisasi CPU menurun drastis karena lebih sibuk mengurusi pergantian halaman daripada mengurusi proses. Untuk menghindari hal ini, diperlukan pemilihan algoritma ganti halaman yang baik. Kriteria algoritma yang baik adalah: • Menyebabkan page fault rate yang rendah. • Tidak menyebabkan thrashing . • Tidak terlalu sulit untuk diimplementasikan. Pada umumnya, semakin besar memori, semakin banyak pula jumlah frame-nya. Semakin banyak frame, semakin banyak pula jumlah halaman yang bisa masuk di memori, sehingga page fault rate menurun. 39