Banner

APAPUN YANG BISA KITA LAKUKAN LAKUKAN SEMUANYA DARI HATI KITA

sepombob

oke

virtual memory

virtual memory

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

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

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

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 :
  a. Demand paging
  b. Demand segmentation (page segmentasi)

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
  a. Jika belum ada maka page di-swap in (dalam hal ini swapper lebih tepat disebut pager, swap-in/out menjadi page-in/out)
- 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


Dukungan Hardware

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

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.

Dukungan Software

- Kendala arsitektur : kemampuan me-restart instruksi setelah terjadi page-fault
- Page fault bisa terjadi pada :
  a. Memory (data) reference
  b. Instruction fetch

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 :
  a. Mencari frame yang akan di-replace
  b. Page-out frame tersebut ke swap-space dan ubah tabel page & frame
  c. Page-in page yang diminta ke frame kosong yang baru, serta ubah tabel page & frame
  d. Mulai kembali ke user proses
 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. DIYAN ROHMANSAH - All Rights Reserved
Template Created by Creating Website Published by Mas Template | Distributed By: BloggerBulk
Proudly powered by Blogger