PERMINTAAN HALAMAN PEMBUATAN PROSES
KELOMPOK 116-33 ARIEF FATCHUL HUDA (720501055) CAHYANA (720500108X)
Copyleft: Arief & Yana
1
Berbagi Memori Dalam Memori Virtual z
z
z
Virtual Memory memungkinkan proses untuk saling berbagi pakai memori. Pembagian memori yang dilakukan merupakan pembagian halaman proses. Dua teknik yang digunakan adalah Copy On Write dan Memory Mapped Files
Copyleft: Arief & Yana
2
Copy On Write (COW) Copy On Write (COW) merupakan teknik yang mengizinkan pemakaian bersama suatu halaman oleh dua atau lebih proses (ditandai dengan COW), dimana jika salah satu proses mencoba menulis ke halaman tersebut, maka dibuat salinan (copy) dari halaman. Perubahan dilakukan pada halaman baru tsb dan halaman asal tetap sehingga tidak akan mengganggu proses lainnya. Copyleft: Arief & Yana
3
Copy-On-Write z
z
System call fork(), bekerja dengan membuat salinan ruang alamat halaman parent untuk child, namun segera setelah child dibuat system call exec() dipanggil sehingga salinan ruang alamat tersebut tidak berguna lagi. COW adalah teknik yang biasa dipakai dalam berbagai SO, termasuk Windows XP, Linux dan Solaris. Copyleft: Arief & Yana
4
Ilustrasi page A page B page C
Proses 1
Proses 2 sebelum Proses 1 memodifikasi page C
page A page B page C
Proses 1
Copy of page C
Proses 2
setelah Proses 1 memodifikasi page C
Copyleft: Arief & Yana
5
Zero-Fill-On-Demand z z
z
Beberapa System Operasi memiliki pool dari halaman-halaman yang tidak digunakan. Zero-Fill-On-Demand adalah Proses mengosongkan halaman yang tidak digunakan dengan cara menghapus isi halaman sebelumnya. Halaman-halaman ini dialokasikan untuk penambahan halaman pada halaman COW dan juga untuk proses yang peng-expand stack dan heapnya Copyleft: Arief & Yana
6
Memory-Mapped Files z
File dalam disk di akses dengan system call open(), read() dan write(). Hal ini membutuhkan baik system call maupun akses ke disk yang bersangkutan. physical memory 1 2 3 4 5 6
3 6
1 2 3 4 5 6
Proses A Virtual memory
1 5
4 2
1
2
3
4
5
6
Proses A Virtual memory
Disk file Copyleft: Arief & Yana
7
Memory-Mapped Files z
z z
Memory-mapped files (MMF) memetakan blok disk yang berisi file ke dalam halaman-halaman pada memori, sehinga akses pada file lebih sederhana karena ditangani oleh rutin akses memori. Beberapa sistem operasi meng up date file pada disk secara berkala. Ketika file ditutup, semua data yang dipetakan dikembalikan ke disk file dan dihapus dari memori virtual. Copyleft: Arief & Yana
8
MMF Pada Multiproses z
z
z
Multiproses dapat dipetakan pada file yang sama secara bersamaan, sehingga prosesproses tersebut dapat berbagi data. Pada multiproses, perubahan yang dibuat oleh salah satu proses dapat dilihat oleh proses lainnya. Jika digunakan teknik COW, halaman MMF dalam mode read only, yaitu apabila ada proses yang merubah isi file maka diberi salinan page. Copyleft: Arief & Yana
9
Implementasi z z
Sebagian sistem operasi menerapkan MMF sebagai sebuah system call khusus. Sebagian lain, seperti Solaris, menganggap semua file sebagai MMF, tidak peduli apakah file tersebut ditandai sebagai MMF atau tidak. Walaupun Solaris mempunyai system call khusus untuk MMF, file yang diakses dengan system call open( ), read( ) dan write( ) biasa juga akan dianggap sebagai file dengan MMF. Copyleft: Arief & Yana
10
MMF dan Sharing Memory z
z
z
MMF memiliki banyak persamaan dengan sharing memory. Unix dan Linux, MMF dan sharing memory memiliki system call yang berbeda. MMF dengan mmap() sedangkan sharing memori dengan shmget() dan shmat(). Windows NT, 2000, XP sharing memory dilakukan dengan MMF. Copyleft: Arief & Yana
11
MMF Dalam Win32 API z
z
Konsep dasar sharing memory dalam Win32 API adalah membuat (create) bagian file yang akan dipetakan. File ini kemudian ditampilkan (view) dalam alamat virtual proses. Proses lain yang ingin menggunakan file ini dapat membuka dan menampilkannya dalam alamat virtualnya sendiri. Copyleft: Arief & Yana
12