Penanganan Page Fault Memori Virtual
5.5. Copy-on-Write
Pada pembahasan sebelumnya dijelaskan bahwa memori virtual memungkinkan proses untuk saling berbagi pakai memori. Proses ini adalah proses untuk berbagi pakai halaman page sharing memori virtual. Karena setiap proses membutuhkan halaman tersendiri, maka dibutuhkan teknik untuk mengaturnya. Teknik yang digunakan untuk mengoptimasi pembuatan dan penggunaan halaman adalah teknik copy-on-write, atau yang biasa disingkat dengan COW. Pembuatan proses baru dengan menggunakan sistem call fork menciptakan proses anak sebagai duplikat dari proses induknya. Setelah berhasil menciptakan proses anak, kemudian proses anak tersebut langsung memanggil sistem call exec, yang berarti bahwa proses anak juga menduplikasi ruang alamat yang dimiliki proses induknya, beserta halaman yang diaksesnya. Padahal, hasil kopian dari halaman tersebut belum tentu berguna, yaitu jika tidak ada proses modifikasi pada halaman tersebut. Akan tetapi, dengan menggunakan teknik copy-on-write maka proses anak dan induk dapat bersama-sama menggunakan mengakses halaman yang sama. Suatu halaman yang diakses secara bersama-sama shared oleh beberapa proses ditandai dengan COW copy-on-write jika suatu proses ingin memodifikasi menulis suatu halaman. Dan apabila hal tersebut terjadi, maka akan dibuat salinan dari halaman yang di-shared tersebut. Sebagai contoh, sebuah proses anak akan memodifikasi suatu halaman yang terdiri dari sebagian dari stack. Sistem operasi akan mengenali halaman ini sebagai halaman copy-on-write. Sistem operasi kemudian akan membuat salinan dari halaman ini dan memetakannya kepada ruang alamat yang dimiliki proses anak. Proses anak kemudian memodifikasi halaman salinan yang telah berada di ruang alamat proses anak tersebut. Pada saat teknik copy-on-write ini digunakan, hanya halaman yang bisa dimodifikasi oleh proses anak atau proses induk saja yang disalin, sedangkan halaman yang tidak dimodifikasi dapat dibagi di-share untuk proses induk dan proses anak. Sebagai catatan, bahwa hanya halaman yang dapat dimodifikasi saja yang ditandai sebagai copy-on-write, sedangkan halaman yang tidak dapat dimodifikasi misalnya halaman yang terdiri dari kode-kode yang bisa dieksekusi tidak perlu ditandai karena tidak akan terjadi modifikasi pada halaman tersebut. Pada banyak sistem operasi, disediakan sebuah pool yang terdiri dari halaman-halaman yang kosong untuk meletakkan halaman hasil duplikasi dengan teknik copy-on-write. Selain untuk meletakkan halaman hasil duplikasi tersebut, pool ini juga digunakan pada saat sebuah proses mengalami penambahan stack atau heap. Teknik yang digunakan sistem operasi untuk menyediakan halaman kosong tersebut dikenal dengan zero-fill-on-demand. Teknik ini dilakukan dengan mengosongkan halaman-halaman sebelum digunakan oleh proses yang baru. Copy-on-write dapat diilustrasikan pada gambar 4 dan 5. Gambar 5.4. Sebelum modifikasi pada page C 34 Gambar 5.5. Setelah modifikasi pada page C5.6. Dasar Penggantian Halaman
Pada pembahasan mengenai masalah page-fault, diasumsikan bahwa setiap halaman minimal mengalami satu kali page fault, yaitu pada saat diakses pertama kali. Akan tetapi, tidak semua halaman tersebut akan digunakan oleh suatu proses. Jika terdapat sebuah proses yang memiliki sepuluh halaman, dan hanya menggunakan setengah di antaranya, yaitu lima halaman, maka demand paging menyimpan kelima proses yang tidak dibutuhkan tersebut agar tidak diakses oleh MK. Dengan begitu, kita dapat meningkatkan degree of multiprogramming, yaitu dengan menjalankan proses dua kali lebih banyak. Jika kita memiliki empat puluh bingkai, kita dapat 35Parts
» SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Memori Calon Revisi 5.0 Kapan?
» Pendahuluan Konsep Dasar Memori
» Proteksi Perangkat Keras Konsep Dasar Memori
» Address Binding Ruang Alamat Logika dan Fisik
» Pemuatan Dinamis Linking Dinamis Pustaka Bersama
» Rangkuman Konsep Dasar Memori
» Pendahuluan Swap Alokasi Memori
» Pemetaan Memori Alokasi Memori
» Partisi Memori Alokasi Memori
» First Fit. Memory manager akan mencari sepanjang daftar yang berisi besarnya ukuran memori
» Next Fit. Algoritma ini hampir sama persis dengan first fit, kecuali next fit meneruskan proses
» Best Fit. Best fit mencari dari keseluruhan daftar kecuali jika daftar tersebut telah terurut
» Worst Fit. Worst fit akan mencari lubang terbesar. Sebagaimana best fit kita harus mencari dari
» Fragmentasi Eksternal. Dalam kasus first fit dan juga best fit sebagaimana yang telah
» Metode Dasar Pemberian Halaman
» Dukungan Perangkat Keras Pemberian Halaman
» Tabel Halaman Bertingkat Pemberian Halaman
» Pendahuluan Arsitektur Intel Pentium
» Segmentasi Arsitektur Intel Pentium
» Segmentasi Pentium Arsitektur Intel Pentium
» Penghalaman Penghalaman Linux Rangkuman
» Demand Paging Memori Virtual
» Penanganan Page Fault Memori Virtual
» Dasar Penggantian Halaman Memori Virtual
» Pendahuluan Algoritma Ganti Halaman
» Reference String Algoritma Ganti Halaman
» Algoritma FIFO First In First Out
» Algoritma Optimal Algoritma LRU Least Recently Used
» Implementasi LRU Algoritma Ganti Halaman
» Algoritma Lainnya Algoritma Ganti Halaman
» Rangkuman Algoritma Ganti Halaman
» Pendahuluan Strategi Alokasi Bingkai
» Jumlah Bingkai Strategi Alokasi Bingkai
» Strategi Alokasi Bingkai Strategi Alokasi Bingkai
» Algoritma Priority Allocation . Algoritma priority allocation merupakan algoritma
» Penggantian Global. Penggantian secara global memperbolehkan suatu proses mencari bingkai
» Pendahuluan Sistem Buddy Seputar Alokasi Bingkai
» Alokasi Slab Seputar Alokasi Bingkai
» Prepaging Ukuran Halaman Seputar Alokasi Bingkai
» Penguncian MK Seputar Alokasi Bingkai
» Windows XP Rangkuman Seputar Alokasi Bingkai
» The paging mechanism. Menentukan halaman-halaman mana saja yang harus dibawa kembali
» Perangkat Keras MK Sistem MK
» Perangkat karakter. SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Komponen Elektronis. Komponen Elektronis disebut juga dengan controller perangkat.
» Control. Register ini ditulis oleh CPU untuk memulai perintah atau untuk mengganti modus
» Memory mapped . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Sequensial atau random-access . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Synchronous atau asyinchronous . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Sharable atau dedicated . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Speed of operation . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Pendahuluan Subsistem MK Kernel
» Penjadwalan MK Subsistem MK Kernel
» Penyimpanan Masal Dapat berbagi perangkat secara adil diantara banyak proses yang ingin mengakses
» Access Right . Tiap proses membuka berkas dalam access mode . Informasi ini disimpan pada
» Akses sekuensial. Akses ini merupakan yang paling sederhana dan paling umum digunakan.
» Akses langsung relative access . Sebuah berkas dibuat dari rekaman-rekaman logical yang
» Tipe-tipe akses. Kebutuhan untuk mengamankan berkas berhubungan langsung dengan
» Operasi Direktori Struktur Direktori
» Membuat berkas. Saat sebuah berkas baru dibuat, maka sebuah entri akan ditambahkan ke
» Menghapus berkas. Ketika suatu berkas tidak dibutuhkan lagi, maka berkas tersebut bisa
» Menampilkan isi direktori. Menampilkan seluruh atau sebagian daftar berkas-berkas yang ada
» Mengubah nama berkas. Nama suatu berkas merepresentasikan isi berkas terhadap pengguna.
» Akses sistem berkas. Pengguna bisa mengakses setiap direktori dan setiap berkas yang berada
» Update direktori. Karena sebagian atribut dari berkas disimpan dalam direktori, maka
» Direktori Bertingkat Struktur Direktori
» Direktori Berstruktur Pohon Struktur Direktori
» Pendahuluan Sistem Berkas FHS
» Pendahuluan Struktur Sistem Berkas
» File Control Block Implementasi Sistem Berkas
» Partisi Sistem ROOT Implementasi Sistem Berkas
» Alokasi Berkesinambungan . 2. Alokasi Link .
» Linked Scheme . Untuk suatu berkas, blok indeks normalnya adalah satu blok. Untuk berkas
» Pendahuluan Aneka Aspek Sistem Berkas
» Kinerja Aneka Aspek Sistem Berkas
» Linked Allocation. Hampir sama seperti contiguous allocation , metode ini dapat langsung
» Indexed Allocation. : Metode ini menyimpan index blok di memori. Jika index blok yang dicari
» Efisiensi Aneka Aspek Sistem Berkas
» NFS Aneka Aspek Sistem Berkas
» Mount NFS Aneka Aspek Sistem Berkas
» Protokol NFS Aneka Aspek Sistem Berkas
» Rangkuman Aneka Aspek Sistem Berkas
» Pendahuluan Struktur Disk Media Disk
» Pemilihan Algoritma Penjadwalan Media Disk
» Pendahuluan Sistem Penyimpanan Masal
» Format Sistem Penyimpanan Masal
» Boot Sistem Penyimpanan Masal
» Bad Block Swap Sistem Penyimpanan Masal
» RAID Pemilihan Tingkatan RAID
» Penyimpanan Tersier Sistem Penyimpanan Masal
» Dye-Polimer disk. Dye-polimer merekam data dengan membuat bumpgelombang disk dilapisi
» Kecepatan . Kecepatan dari penyimpanan tersier memiliki dua aspek: benwidth dan latency,
» Kehandalan. Removable magnetic disk tidak begitu dapat diandalkan dibandingkan dengan
» Pendahuluan Sistem Berkas Linux
» Locked. Transaksi tidak lagi menerima operasi atomic update, dan belum semua atomic update
» Flush. Semua atomic update yang terdapat dalam suatu transaksi telah selesai, sehingga
» Commit. Sistem akan menulis commit record yang menandakan penulisan ke jurnal telah
» Finished. Transaksi dan commit record telah selesai ditulis ke jurnal.
» Topik Lanjutan Berkas yang namanya adalah string .
» Kendali Aplikasi Application Control . Untuk memperkecil dan mendeteksi operasi-operasi
» Keheterogenan perangkatmultiplisitas perangkat. Suatu sistem terdistribusi dapat dibangun
» Keterbukaan. Setiap perangkat memiliki antarmuka interface yang di-publish ke komponen
» Concurrency of components. Pengaksesan suatu komponensumber daya secara bersamaan
» Transparansi. Bagi pemakai, keberadaan berbagai perangkat multiplisitas perangkat dalam
» Computation Migration. Terkadang, kita ingin mentransfer komputasi, bukan data. Pendekatan
» Process Migration. Ketika sebuah proses dieksekusi, proses tersebut tidak selalu dieksekusi di
» Naming and name resolution. Bagaimana dua buah proses menempatkanmemposisikan satu
» Dengan remote service. Permintaan akses data dikirimkan ke server. Server melakukan akses ke
» Pendahuluan Waktu Nyata dan Multimedia
» Kernel Waktu Nyata Waktu Nyata dan Multimedia
» Penjadwalan Berdasarkan Prioritas Waktu Nyata dan Multimedia
» Kernel Preemptif Waktu Nyata dan Multimedia
» Pengurangan Latensi Waktu Nyata dan Multimedia
» Penjadwalan Proses Waktu Nyata dan Multimedia
» Penjadwalan Disk Manajemen Berkas
» Manajemen Jaringan Waktu Nyata dan Multimedia
» UniMulticasting Waktu Nyata dan Multimedia
» Streaming Protocol Waktu Nyata dan Multimedia
» Kompresi Waktu Nyata dan Multimedia
» Rangkuman Waktu Nyata dan Multimedia
» Pendahuluan Perancangan dan Pemeliharaan
» Merancang Antarmuka. Dalam merancang antarmuka ada beberapa tahapan yang harus
Show more