-->
g2QFCKwavghUp2yzjKrIFwEeG13RASCerFTCMH35

Copy On Write

COPY ON WRITE


Copy-on-Write (COW) Þ Teknik yang memfasilitasi proses parent dan child untukshare page yang sama dalam memory. Page diset copy-on-write agar dapatdimodifikasi. Jika modifikasi dilakukan, page di duplikasi dan ditempatkan pada posisi berbeda dimemori fisik. Sistem operasi mencari lokasi page yang kosong. Page dapat bertambah bila:
ü stack atau heap suatu proses berkembang
ü terjadi copy-on-write
Alokasi page baru menggunakan teknik zerofill-on-demand vfork() >> (Virtual Memory fork())
· proses parent dihentikan, proses child menggunakan alamat logika parent.
· tidak menggunakan copy-on-write
· tidak mengubah alamat logika parent ganti proses dengan exec()
· berjalan di varian unix

Pergantian Page( Page Replacement )
Fakta :
  • Dari 10 page proses A Ã¨ 5 page yang digunakan
  • 40 Frame Ã¨ diisi 8 Proses (1 proses @ 5 frame)
  • 40 Frame Ã¨ diisi 6 Proses (1 proses @ 10 frame) ? over-allocating!
Over-allocating Ã¨ page-fault Ã¨ all memory in use, no space available
Solusi ?
  • Hapus proses user
  • Swap out proses
  • Pergantian page (Page replacement)
Pergantian page – cari frame dalam memory yang sedang tidak digunakan kemudian lakukan swap out
  • Frame A dipindahkan ke swap space
  • Page A tidak lagi berada dimemori Ã¨ ubah page table
  • Gunakan frame kosong A untuk page yang baru
Algoritma Pergantian page diinteragrasikan pada page-fault service routine
Langkah page fault service routine dengan pergantian page
1. Cari lokasi page dalam disk
2. Cari frame kosong di memori
a) Gunakan frame kosong Jika ada
b) Jika tidak ada, gunakan algoritma pagereplacement untuk memilihvictim frame yang akan dikeluarkan
c) Pindahkan victim frame ke disk; ubah page dan frame table
3. Pindahkan page baru dari disk ke frame; ubah page dan frame table
4. Restart proses user
page fault service routine Ã¨ dua kali page transfer (swap out & swap in)
Agar satu kali transfer? gunakan page table dengan modify bit !
Modify bit (dirty bit)
  • Jika bit diset, page telah berubah
page di memori != page didisk
page harus dipindah ke disk
  • Jika bit tidak diset, page tidak berubah
page dimemori == page didisk
page tidak dipindah ke disk, langsung dihapus!

Sumber :krisnastemsi.blogspot.co.id
Related Posts

Related Posts

Post a Comment