MEMORI VIRTUAL
Kelompok 116-32 Franky Sadar Baskoro S. Yemima Aprilia
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Latar Belakang • Ukuran memori, masalah: -Ukuran program yang lebih besar -Multiprogramming memerlukan memori lebih besar untuk menyimpan beberapa program
• Utilisasi memori -tidak seluruh bagian program harus di memori -seluruh bagian program berada di memori tapi tidak di waktu bersamaan • Konsep pertama oleh Fotheringham, 1961 pada sistem komputer Atlas di University of Manchester
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Pengertian • Memori virtual Teknik yang memisahkan memori logis dan memori fisik Memori logis--memori yang terlihat oleh proses (user) Memori fisik--memori yang terlihat oleh prosesor (CPU) Memori logis
Memori fisik
Tanpa memori virtual Dengan memori virtual
Memori logis
Memori Virtual
Memori fisik Disk Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Implementasi • Demand Paging Permintaan suatu halaman (page) dari program yang tidak ada di memori utama oleh proses yang sedang berjalan Dilakukan dengan swapping page dari dan ke memori Ide: Demand Paging memperlakukan memori sebagai cache untuk disk
• Demand Segmentation Penerapan yang lebih kompleks dari memori virtual
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Demand Paging • Skema bit valid-tidak valid Membutuhkan dukungan hardware untuk membedakan page yang ada di memori utama dan tidak v -> valid, berada di memori valid-invalid bit i -> invalid, tidak berada di memori
• Page Fault Interrupt yang terjadi ketika page yang diminta tidak berada di memori utama
0 1 2 3 4 5 6
v v i i v i v
Page Table
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Penanganan Page Fault HARDWARE SOFTWARE Start process Generate data address
Compute page number Is that page in memory?
N
Y Fetch data Complete instruction Advance to next instruction
Adjust page tables Select page to remove N Is there a Y free block ?
Was page changed ?
Y
Write page back onto disk
N Get page needed
Page fault Restart interrupted instruction
Get disk address from file map Read page in Adjust page tables Operating System, Madnick 1974 Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Kelebihan Demand Paging – Memori Virtual • Memiliki kelebihan yang sama dengan paging • Program tidak terbatas pada besar memori fisik • Lebih banyak program yang dapat dijalankan pada suatu waktu (degree of multiprogramming) • I/O yang diperlukan lebih sedikit • Penggunaan memori yang lebih efisien
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Kekurangan Demand Paging – Memori Virtual • Processor overhead beban tambahan processor untuk mengurusi page fault • Extreme condition: thrashing processor lebih banyak mengurusi page fault daripada proses itu sendiri
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Kinerja Demand Paging • Page fault time Tiga komponen utama yang mempengaruhi waktu yang dibutuhkan untuk melayani page fault -Melayani interrupt dari page fault -Pembacaan halaman -Pengulangan proses yang ter-interrupt
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Kinerja Demand Paging • Effective Access Time = (1 - p) x ma + p x page fault time keterangan : ma = memory-access time (10 – 200 ns) p = probability of page fault (0 ≤ p ≤ 1) Jika p = 0 (tidak ada page fault), maka Effective Access Time = memory-access time Jika p = 1, maka semua halaman fault
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Hal lain yang harus diperhatikan (1) • Pure demand paging penjalanan sebuah program dimulai dari me-load hanya satu page awal ke main memory • Locality references -temporal : lokasi yang sekarang ditunjuk kemungkinan akan ditunjuk lagi -spatial : kemungkinan lokasi yang dekat dengan lokasi yang sedang ditunjuk akan ditunjuk juga
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Hal lain yang harus diperhatikan (2) • Multiple page fault page fault yang terjadi karena satu instruksi memerlukan pengaksesan beberapa page yang tidak ada di main memory • Hardware requirement - page table : tabel untuk paging dengan skema bit valid-invalid - secondary memory : menyimpan page yang tidak ada di main memory
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Hal lain yang harus diperhatikan (3) • Restart instruction Kebutuhan setelah page-fault adalah restart instruction. Bagaimana menangani masalah restart ketika page-fault terjadi saat: - pengambilan instruksi - pengambilan operand - instruksi memodifikasi beberapa lokasi berbeda - menggunakan mode pengalamatan spesial seperti autoincrement dan autodecrement
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta
Contoh Penggunaan Effective AccessTime
Diketahui waktu pengaksesan memory ma = 100 ns, waktu kesalahan halaman page fault time = 20 ms. Berapakah EAT-nya? EAT = (1-p) x ma + p x paget fault time = (1-p) x 100 + p x 20.000.000 = 100 – 100p + 20.000.000p = 100 + 19.999.900p ns
Copyright©2005 Franky, Sadar Baskoro S., Yemima Aprilia Silakan menyalin, mengedarkan dan memodifikasi slide ini tanpa mengubah nota hak cipta