Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Virtual Memory. Pembahasan OverviewOverview Demand PagingDemand Paging.

Presentasi serupa


Presentasi berjudul: "Virtual Memory. Pembahasan OverviewOverview Demand PagingDemand Paging."— Transcript presentasi:

1 Virtual Memory

2 Pembahasan OverviewOverview Demand PagingDemand Paging

3 Overview Konsep manajemen memori sebelumnya :Konsep manajemen memori sebelumnya : –Me-maintain banyak proses yang running dalam memori secara multiprogramming –Proses berada dalam memori fisik sebelum dieksekusi Dalam overlaying user harus men-dekomposisi struktur program dalam algoritmanya dan menspesifikasi modul- modul overlaynyaDalam overlaying user harus men-dekomposisi struktur program dalam algoritmanya dan menspesifikasi modul- modul overlaynya

4 Overview Isi program :Isi program : –Algoritma utama yang aktif mengolah data –Penanganan kondisi error (exceptional condition) yang amat jarang terjadi –Struktur data dynamic allocated yang terpakai secara efektif –Struktur data fixed allocated yang biasanya hanya sebagian yang digunakan –Modul-modul tertentu yang jarang digunakan

5 Overview Keuntungan jika tidak semua bagian tersebut ada di memori (hanya bagian yang paling aktif) :Keuntungan jika tidak semua bagian tersebut ada di memori (hanya bagian yang paling aktif) : –Program tidak terkendalakan oleh jumlah memori fisik ; program bisa amat besar –Program-program pengendali error (error handling) jarang digunakan. –Array, list atau tabel yang dialokasikan melebihi kapasitas yang digunakan. –Program-program yang dijalankan belakangan. –Lebih banyak program yang dapat running secara konkuren di memori; utilisasi CPU meningkat –Lebih sedikit I/O untuk loading/swapping ; program user lebih cepat

6 Overview Konsep Virtual MemoryKonsep Virtual Memory –Melihat memori sebagai “cache” dan disk sebagai “memori” –Implementasi dengan demand paging : bagian program berada dalam memori adalah page-page yang sesuai dengan kebutuhan –Dapat diimplementasikan melalui : Demand pagingDemand paging Demand segmentation (page segmentasi)Demand segmentation (page segmentasi)

7 Diagram Virtual Memory lebih besar dari Physical Memory

8 Demand Paging Sama dengan teknik paging dengan swappingSama dengan teknik paging dengan swapping Proses berada dalam secondary storage (biasanya disk) yang terbagi dalam sejumlah pageProses berada dalam secondary storage (biasanya disk) yang terbagi dalam sejumlah page Untuk dapat dieksekusi maka page proses yang diperlukan harus ada di memoriUntuk dapat dieksekusi maka page proses yang diperlukan harus ada di memori –Jika belum ada maka page di-swap in (dalam hal ini swapper lebih tepat disebut pager, swap-in/out menjadi page-in/out)

9 Demand Paging Virtual Memory - Physical Memory Demand page Apakah page di memori ? Ada, lalu akses Tidak ada, maka page di load Swap page

10 Demand Paging Pertanyaan saat page-in :Pertanyaan saat page-in : –Page mana yang akan di page-out ? –Apakah frame yang akan ditempati kosong ? –Jika suatu page yang di page-out merupakan data, perlu / tidak page di storage di-refresh ?

11 Demand Paging Periksa tabel internal (biasanya pada PCB = process control block) apakah referensi valid/invalidPeriksa tabel internal (biasanya pada PCB = process control block) apakah referensi valid/invalid Bila valid tapi belum ada maka di page-inBila valid tapi belum ada maka di page-in Jika invalid, maka batalkan prosesJika invalid, maka batalkan proses

12 Transfer of a Paged Memory to Contiguous Disk Space

13 Dukungan Hardware Page table : tabel memiliki valid/invalid bit serta bit proteksi khususPage table : tabel memiliki valid/invalid bit serta bit proteksi khusus Secondary memory : memori yang menyimpan seluruh page (biasanya disk)Secondary memory : memori yang menyimpan seluruh page (biasanya disk) –Dikenal sebagai swap device dan bagian disk yang digunakan untuk swap disebut swap space (backing store)

14 Valid-Invalid Bit Masing-masing entry page table memiliki nilai :Masing-masing entry page table memiliki nilai : –(1  in-memory, 0  not-in-memory) Inisialisasi valid–invalid bit di-set 0 untuk semua entry page tableInisialisasi valid–invalid bit di-set 0 untuk semua entry page table Contoh page table :Contoh page table : Selama translasi address, jika valid–invalid bit dalam page table adalah 0  page fault.Selama translasi address, jika valid–invalid bit dalam page table adalah 0  page fault  Frame #valid-invalid bit page table

15 Page Table When Some Pages Are Not in Main Memory

16 Dukungan Software Kendala arsitektur : kemampuan me-restart instruksi setelah terjadi page-faultKendala arsitektur : kemampuan me-restart instruksi setelah terjadi page-fault Page fault bisa terjadi pada :Page fault bisa terjadi pada : –Memory (data) reference –Instruction fetch

17 Contoh : Instruksi 3 address “ADD C, A, B” dilakukan dalam beberapa tahap :Instruksi 3 address “ADD C, A, B” dilakukan dalam beberapa tahap : –Fetch instruksi ADD –Fetch data A ke dalam register Ra –Fetch data B ke dalam register Rb –Add Ra dan Rb dan hasilnya di register Rc –Store hasil Rc ke C Page fault terjadi pada salah satu tahap memerlukan pengulangan dari awalPage fault terjadi pada salah satu tahap memerlukan pengulangan dari awal

18 Steps in Handling a Page Fault

19 Apa yang terjadi jika tidak ada frame yang kosong ? Page replacement – temukan page dalam memori, tetapi tidak sedang digunakan, swap- out page tersebutPage replacement – temukan page dalam memori, tetapi tidak sedang digunakan, swap- out page tersebut –Algoritma yang digunakan –Performance – algoritma yang digunakan adalah yang menghasilkan jumlah minimum page fault

20 Performance Demand Paging Rasio Page Fault 0  p  1.0Rasio Page Fault 0  p  1.0 –if p = 0 no page faults –if p = 1, every reference is a fault Effective Access Time (EAT)Effective Access Time (EAT) EAT = (1 – p) x memory access time + p (page fault overhead + [swap page out ] + swap page in + restart overhead)

21 Contoh Demand Paging Memory access time = 1 microsecond (1  sec)Memory access time = 1 microsecond (1  sec) 50% dari waktu page yang digantikan (replace), membutuhkan swap-out50% dari waktu page yang digantikan (replace), membutuhkan swap-out Swap Page Time = 10 msec = 10,000  secSwap Page Time = 10 msec = 10,000  sec EAT = (1 – p) x 1 + p (15000) = p (dalam  sec) = p (dalam  sec)  5000  sec  overhead

22 Page Replacement Policy Performance (page fault ratio) bergantung pada page replace policy agar page fault rate (PFR) sekecil mungkin.Performance (page fault ratio) bergantung pada page replace policy agar page fault rate (PFR) sekecil mungkin. Jadi pemilihan policy untuk page replacement sangat kritis terhadap performance sistem keseluruhan.Jadi pemilihan policy untuk page replacement sangat kritis terhadap performance sistem keseluruhan.

23 Swap Space Aspek penting dalam demand paging adalah menangani penggunaan swap space (ruang disk yang digunakan untuk swap) Suatu bagian dalam disk dijadikan swap space (di luar sistem file) sebagai penyimpan “virtual memory”

24 Over-Allocating Memory Peningkatan degree of multiprogramming akan sampai pada situasi Over Allocating Memory –Saat terjadi page-fault & hendak page-in ternyata tidak ada frame kosong tersedia –Solusi OS : terminate proses user ? NO. Paging harus transparan bagi user.

25 Solusi Thrashing : swap-out suatu proses (penurunan degree of multiprogramming) Page replacement : mencari salah satu frame yang tidak sedang digunakan dan membebaskannya –Menuliskan isi sebelumnya ke swap-space –Mengubah page table dimana page tidak ada di memori

26 Kebutuhan Page Replacement – Over-Allocating Memory

27 Page Fault Service Menemukan lokasi dari page di dalam disk Menemukan free-frame, jika ada gunakan frame tersebut untuk page yang bersangkutan dan jika tidak ada : –Mencari frame yang akan di-replace –Page-out frame tersebut ke swap-space dan ubah tabel page & frame –Page-in page yang diminta ke frame kosong yang baru, serta ubah tabel page & frame –Mulai kembali ke user proses

28 Page Replacement

29 Dirty bit (Modify-bit) Saat tidak ditemukan frame kosong maka dilakukan dua kali page transfer (in & out) Untuk mengurangi overhead operasi ini digunakan dirty-bit pada setiap page/frame untuk menunjukkan perlu/tidaknya page dalam disk diupdate (telah terjadi modifikasi)  page telah dimodifikasi. –Modify bit di-set ketika word/byte dalam page ditulis (write)  page telah dimodifikasi. –Ketika memilih page untuk di-replace, modify bit dibaca dulu. –Jika bit tersebut di-set, maka page tersebut sudah dimodifikasi sejak dibaca di disk  write page ke disk. –Jika bit tersebut tidak di-set, maka page tersebut belum dimodifikasi sejak dibaca di memory  jika copy dari page tersebut di disk belum di overwrite, tidak perlu lagi write page memory ke disk karena sudah ada.

30 Frame Allocation – Page Replacement Dua masalah : –Frame allocation algorithm : menentukan berapa banyak frame dialokasikan untuk suatu/setiap proses –Page-replacement algorithm : menentukan frame mana yang dipilih untuk di page-out Pemilihan algoritma yang tepat sangat penting, karena pemrosesan pada disk I/O costnya mahal (berpengaruh pada effective acces time)

31 Page Replacement Terdapat banyak skema/algoritma Kriteria pemilihan algoritma yang sesuai : meminimisasi page-fault rate Evaluasi dengan string : string dari aktifitas- aktifitas memory reference –String dari memory reference dinamakan reference string –Secara empiris direkam dari referensi yang terjadi pada running program –Secara hipotesis digenerate secara acak (random number generator) –Menghitung jumlah page fault pada string tersebut

32 Page Fault vs Jumlah Frame Bertambahnya jumlah frame akibat penambahan physical memory space dapat mengurangi PFR Tanpa penambahan tersebut maka memperkecil ukuran frame/page yang akhirnya meningkatkan page fault

33 Grafik Page Faults vs Jumlah Frame

34 Page Replacement Policy Algoritma First In First Out (FIFO) Algoritma Optimal (OPT) Algoritma Least Recently Used (LRU) Algoritma Second Change (Clock) Algoritma Enhanced Second Change (Clock) Algoritma Counting Algoritma Page Buffering

35 Reference String Dalam pembahasan algoritma-algoritma reference string disederhanakan dengan deretan page number (bukan address-address referensi) Contoh : –0100, 0432, 0101, 0612, 0102, 0103, 0104, 0101, 0611, dst –Digantikan (page size = 100 byte) dengan : 1, 4, 1, 6, 1, 6, dst

36 Algoritma First In First Out (FIFO) Page yang di-replace adalah page yang paling “tua” (paling lama berada di memory secara terus menerus) Realisasinya setiap page menyimpan data waktu page yang bersangkutan di-page-in atau menggunakan struktur queue Mudah di-implementasikan tapi performance tidak selalu baik

37 FIFO Page Replacement Reference string : 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 Jumlah frame = 3 Page fault terjadi = 15 kali

38 Anomaly Belady Anomali yang terjadi : PFR naik saat jumlah frame ditingkatkan Contoh, jika reference string : –1,2,3,4,1,2,5,1,2,3,4,5 –Jumlah frame = 3, PFR = 9 page fault –Jumlah frame = 4, PFR = 10 page fault

39 FIFO Illustrating Belady’s Anamoly

40 Algoritma Optimal (OPT) Jika diketahui page-page mana yang berikutnya akan diakses, maka page yang tidak akan digunakan dalam waktu dekat (ie. Selang waktu terlama hingga diakses kembali) yang di- replace. Anomali Belady tidak berlaku Secara teoritis paling optimal tapi dalam kenyataannya sulit diimplementasikan

41 Optimal Page Replacement Reference string : 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 Jumlah frame = 3 Page fault terjadi = 9 kali Pada referensi ke-4 terlihat page 7 akan di-replace dengan page 2, karena page 7 baru akan digunakan pada referensi ke-18, sedangkan page 0 akan digunakan pada referensi ke-5 dan page 1 akan digunakan pada referensi ke-14

42 Algoritma Least Recently Used (LRU) Algoritma LRU merupakan perpaduan antara FIFO dan OPT Mengaproksimasi Algoritma Optimal –Perkiraan akses yang akan datang (forward information) diestimasi dengan menggunakan informasi akses yang lalu (backward information) Page dalam memori yang paling lama tidak diakses yang di-replace Jika S R = reverse S maka PFR OPT pada S sama dengan PFR LRU pada S R

43 LRU Page Replacement Reference string : 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 Jumlah frame = 3 Page fault terjadi = 12 kali

44 END OF MODUL - 10


Download ppt "Virtual Memory. Pembahasan OverviewOverview Demand PagingDemand Paging."

Presentasi serupa


Iklan oleh Google