1 Bab 9: Virtual Memory Latar Belakang Demand Paging Pembuatan Proses Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi Silberschatz, Galvin and Gagne 2002 10.1 Operating System Concepts Latar Belakang Virtual memory – memisahkan memori logika dari memori fisik. Hanya bagian dari program yang berada di memori yang k di k k i akan dieksekusi. Ruang alamat logika dapat lebih besar daripada ruang alamat fisik. Mengijinkan ruang alamat digunakan bersama-sama untuk beberapa proses. Mengijinkan pembuatan proses yang lebih efisien. Virtual memory dapat diimplementasikan dengan : Silberschatz, Galvin and Gagne 2002 10.2 Operating System Concepts Virtual memory dapat diimplementasikan dengan : Demand paging Demand segmentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Bab 9: Virtual Memory
Latar Belakang
Demand Paging
Pembuatan Proses
Page Replacement
Alokasi Frame
Thrashing
Contoh Sistem Operasi
Silberschatz, Galvin and Gagne 200210.1Operating System Concepts
Latar Belakang
Virtual memory – memisahkan memori logika dari memori fisik. Hanya bagian dari program yang berada di memori yang
k di k k iakan dieksekusi.
Ruang alamat logika dapat lebih besar daripada ruang alamat fisik.
Mengijinkan ruang alamat digunakan bersama-sama untuk beberapa proses.
Mengijinkan pembuatan proses yang lebih efisien.
Virtual memory dapat diimplementasikan dengan :
Silberschatz, Galvin and Gagne 200210.2Operating System Concepts
Virtual memory dapat diimplementasikan dengan : Demand paging
Demand segmentation
2
Virtual Memory lebih besari daripada Memori Fisik
Silberschatz, Galvin and Gagne 200210.3Operating System Concepts
Demand Paging
Membawa page ke dalam memori hanya jika diperlukan Memerlukan I/O yang lebih kecil
Silberschatz, Galvin and Gagne 200210.4Operating System Concepts
3
Transfer Page dari Memori ke Ruang Disk yang Berurutan
Silberschatz, Galvin and Gagne 200210.5Operating System Concepts
Bit Valid-Invalid
Untuk setiap masukan ke page table entry, akan dihubungkan dengan bit valid–invalid (1 dalam memori, 0 tidak dalam memori)
Inisialisasi bit valid invalid dengan 0 pada semua masukan Inisialisasi bit valid–invalid dengan 0 pada semua masukan.
Contoh snapshop page table
111
10
Frame # valid-invalid bit
Silberschatz, Galvin and Gagne 200210.6Operating System Concepts
Selamat menterjemahkan alamat, jika bit valid-invalid dalam masukan page table adalah 0 page fault.
00
page table
4
Page Table jika beberapa Page tidak berada di Memori Utama
Silberschatz, Galvin and Gagne 200210.7Operating System Concepts
Page Fault
Jika terdapat masukan yang direferensi ke page, referensi pertama akan trap ke OS page fault
OS melihat ke tabel lain untuk menentukan: Referensi Invalid abort.
Sedang tidak berada di memori.
Dapatkan frame kosong.
Swap page ke dalam frame.
Reset tabel, validasi bit = 1.
Restart instruksi: Least Recently Used
Silberschatz, Galvin and Gagne 200210.8Operating System Concepts
Restart instruksi: Least Recently Used Pindah blok
Lokasi auto increment/decrement
5
Langkah-langkah menangani Page Fault
Silberschatz, Galvin and Gagne 200210.9Operating System Concepts
Apa uang terjadi jika tidak terdapat frame bebas?
Page replacement – mencari beberapa page di dalam memori, titapi tidak digunakan, swap keluar algoritma
performansi – menginginkan algoritma yang menghasilkan jumlah page fault minimal
Page yang sama mungkin dibawa ke memori beberapa kali
Silberschatz, Galvin and Gagne 200210.10Operating System Concepts
6
Performansi dari Demand Paging
Rata-rata Page Fault 0 p 1.0 Jika p = 0 tidak ada page faults
Jika p = 1, setiap referensi gagal
Effective Access Time (EAT)
EAT = (1 – p) x akses memori
+ p (waktu page fault
+ [swap page out ]
+ swap page in
+ waktu restart)
Silberschatz, Galvin and Gagne 200210.11Operating System Concepts
+ waktu restart)
Contoh Demand Paging
Waktu akses memori = 1 microsecond
50% dari waktu page harus dilakukan modifikasi sehingga perlu di swap out.
Waktu Swap Page = 10 msec = 10,000 msec
EAT = (1 – p) x 1 + p (15000)
1 + 15000P (in msec)
Silberschatz, Galvin and Gagne 200210.12Operating System Concepts
7
Pembuatan Proses
Virtual memory mempunyai keuntungan laing selama pembuatan proses:
- Copy-on-Write
- Memory-Mapped Files
Silberschatz, Galvin and Gagne 200210.13Operating System Concepts
Copy-on-Write
Copy-on-Write (COW) mengijinkan baik proses parent dan child menginisialisasi page yang sama.
Jik l h t difik i h dJika salah satu proses memodifikasi shared page, page akan di-copy.
COW memungkinkan pembuatan proses yang lebih efisian karena hanya memodifikasi page yang di-copy
Page bebas dialokasikan dari sebuah pool
Silberschatz, Galvin and Gagne 200210.14Operating System Concepts
8
Memory-Mapped Files
Memory-mapped file I/O memungkinkan file I/O diperlakukan sebagai routine memory access dengan memetakan blok disk ke page di memory
Sebuah file diinisialisasi read menggunakan demand paging. File dibaca dari sistem file ke page pada memori fisik sesuai ukuran page. Read/write ke/dari file diperlakukan seperti akses memori
Akses file dengan memperlakukan file I/O sebagai akses memori lebih sederhana daripada sistem call read() write()
Silberschatz, Galvin and Gagne 200210.15Operating System Concepts
Juga memungkinkan beberapa proses untuk memetakan file yang sama pada page di memori yang sama
Memory Mapped Files
Silberschatz, Galvin and Gagne 200210.16Operating System Concepts
9
Page Replacement
Mencegah over-allocation dari memori dengan rutin modifikasi page-fault untuk melakukan page replacement
Menggunakan bit modify (dirty) untuk mengurangi kegagalan transfer page – hanya page yang dimodifikasi yang ditulis di disk
Page replacement membedakan memori logika dan memori fisik – memori virtual besar dapat disediakan pada memori fisik yang kecil
Silberschatz, Galvin and Gagne 200210.17Operating System Concepts
Kebutuhan Page Replacement
Silberschatz, Galvin and Gagne 200210.18Operating System Concepts
10
Dasar-dasar Page Replacement
1. Cari lokasi page pada disk.
2. Cari frame bebas:- jika terdapat frame bebas, gunakan.- jika tidak ada frame bebas, gunakan algoritma
page replacement untuk memilih frame korban.
3. Baca page yang tepat ke frame bebas. Update tabel page.
Silberschatz, Galvin and Gagne 200210.19Operating System Concepts
4. Restart proses.
Page Replacement
Silberschatz, Galvin and Gagne 200210.20Operating System Concepts
11
Algoritma Page Replacement
Mencari rata-rata page-fault terkecil.
Evaluasi algoritma dengan menjalankan pada sekumpulan string memori referensi dan menghitung jumlah page fault pada string
String acuan dibangkitkan secara random atau dengan menelusuri sistem dan menyimpan alamat dari memory Contoh : jika ditelusuri proses tertentu, disimpan alamat berikut :
0100, 0432, 0101, 0612,0102, 0103, 0104,
0101, 0611, 0102, 0103,0104, 0101, 0610,
0102, 0103, 0104, 0101,0609, 0102, 0105
dimana 100 byte per page direduksi ke string referensi :1 4 1 6 1 6 1 6 1 6 1
Silberschatz, Galvin and Gagne 200210.21Operating System Concepts
1, 4, 1, 6, 1, 6, 1, 6, 1, 6, 1
Pada contoh berikut, string referensi sbb
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.
Graf Page Fault VS Jumlah Frame
Silberschatz, Galvin and Gagne 200210.22Operating System Concepts