Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Virtual Memory.

Presentasi serupa


Presentasi berjudul: "Virtual Memory."— Transcript presentasi:

1 Virtual Memory

2 Pembahasan Overview Demand Paging

3 Overview 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 overlaynya

4 Overview 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) : 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 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 paging Demand segmentation (page segmentasi)

7 Diagram Virtual Memory lebih besar dari Physical Memory

8 Demand Paging Sama dengan teknik paging dengan swapping
Proses berada dalam secondary storage (biasanya disk) yang terbagi dalam sejumlah page Untuk 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
Ada, lalu akses Swap page Apakah page di memori ? Demand page Tidak ada, maka page di load

10 Demand Paging 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/invalid Bila valid tapi belum ada maka di page-in Jika 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 khusus 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 :
(1  in-memory, 0  not-in-memory) Inisialisasi valid–invalid bit di-set 0 untuk semua entry page table Contoh page table : Selama translasi address, jika valid–invalid bit dalam page table adalah 0  page fault. 1 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-fault Page fault bisa terjadi pada : Memory (data) reference Instruction fetch

17 Contoh : 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 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 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.0 if p = 0 no page faults if p = 1, every reference is a fault 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)
50% dari waktu page yang digantikan (replace), membutuhkan swap-out Swap Page Time = 10 msec = 10,000 sec EAT = (1 – p) x 1 + p (15000) = 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. 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) 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 SR = reverse S maka PFR OPT pada S sama dengan PFR LRU pada SR

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."

Presentasi serupa


Iklan oleh Google