Virtual Memory - PowerPoint PPT Presentation

About This Presentation
Title:

Virtual Memory

Description:

Virtual Memory Page Replacement Policy Algoritma First In First Out (FIFO) Algoritma Optimal (OPT) Algoritma Least Recently Used (LRU) Algoritma Second Change (Clock ... – PowerPoint PPT presentation

Number of Views:234
Avg rating:3.0/5.0
Slides: 45
Provided by: Eriz150
Category:
Tags: memory | virtual

less

Transcript and Presenter's Notes

Title: Virtual Memory


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 validinvalid bit di-set 0 untuk
    semua entry page table
  • Contoh page table
  • Selama translasi address, jika validinvalid bit
    dalam page table adalah 0 ? page fault.

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)
  • 1 15000p (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 Beladys 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
Write a Comment
User Comments (0)
About PowerShow.com