Minggu, 21 September 2014

Virtual Memory

VIRTUAL MEMORY
1.  Definisi Virtual Memory
Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa memori virtual, memori logis akan langsung dibawa ke memori fisik (memori utama). Disinilah memori virtual melakukan pemisahan dengan menaruh memori logis ke secondary storage (disk sekunder) dan hanya membawa halaman yang diperlukan ke memori utama (memori fisik).
Teknik ini menempatkan keseluruhan program di disk sekunder dan membawa halaman-halaman yang diperlukan ke memori fisik sehingga memori utama hanya akan menyimpan sebagian alamat proses yang sering digunakan dan sebagian lainnya akan disimpan dalam disk sekunder dan dapat diambil sesuai dengan kebutuhan. Jadi jika proses yang sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari di memori utama. Jika halaman yang diinginkan tidak ada maka akan dicari ke disk sekunder.

Cara Kerja
Virtual Memory digunakan dengan membuat suatu file khusus yang disebut swapfile atau paging file. Virtual memory digunakan pada saat operating system kehabisan memory, dimana o.s. akan memindahkan data yang paling terakhir diakses ke dalam swapfile di hardisk. Hal ini mengosongkan/ membebaskan beberapa ruang kosong pada memory untuk aplikasi yang akan digunakan selanjutnya. Operating system akan melakukan hal ini secara terus menerus ketika data baru diisi pada ram.
Kemudian, pada saat data yang tersimpan di swapfile diperlukan, data tersebut ditukar (swap) dengan data yang paling terakhir dipakai di dalam memory (ram). Hal ini mengakibatkan swapfile bersifat seperti ram, walaupun program tidak dapat secara langsung dijalankan dari swapfile. Satu hal yang perlu dicatat bahwa karena operating system tidak dapat secara langsung menjalankan program dari swapfile, beberapa program mungkin tidak akan berjalan walau dengan swapfile yang besar jika kita hanya memiliki ram yang kecil.

Beberapa keuntungan penggunaan memori virtual adalah sebagai berikut:

  • Berkurangnya  proses  I/O  yang  dibutuhkan  (lalu  lintas  I/O  menjadi  rendah).  Misalnya  untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
  • Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan. Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik. Pesan-pesan error hanya dimasukkan jika terjadi error.
  • Meningkatnya respon, karena menurunnya beban I/O dan memori.
  • Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari pengguna.
  • Kedudukan Virtual Memory Demand Paging
Demand paging adalah sistem paging dengan swapping. Page diletakkan di memori hanya jika diperlukan. Hal ini menyebabkan kebutuhan I/O lebih rendah, kebutuhan memori lebih rendah, respon lebih cepat dan lebih banyak user yang menggunakan.
Implementasi Virtual Memori
Memori virtual biasanya diimplementasikan menggunakan demand paging atau demand segmentation juga digunakan. Tetapi algoritma segment-replacement lebih kompleks daripada algoritma page-replacement karena segmen mempunyai ukuran yang bervariasi.
Ciri-ciri Demand Paging :
Ø (Demand paging) pada prinsipnya hampir sama dengan permintaan halaman (paging) hanya saja halaman (page) tidak akan dibawa ke ke dalam memori fisik sampai ia benar-benar diperlukan.
Ø  Page diload ke memory hanya ketika dibutuhkan
Ø  Sedikit I/O yang dibutuhkan.
Ø  Sedikit memori yang dibutuhkan.
Ø  Respon yang lebih cepat.
Ø  Dapat melayani lebih banyak pengguna.

Ø  Lazy swapper – tidak melakukan swapping page ke memori hingga page dibutuhkan.
Swapper yang berurusan dengan page disebut pager.
1.     Cek page ada di memori atau tidak? Digunakan Valid-Invalid bit Setiap entri page table diasosiasikan dengan valid dan invalid bit.
(valid) >> ada di memori
(invalid) >> punya arti dua :
1)    alamat logika tidak sesuai dengan proses
2)   page ada di disk tapi tidak ada dimemori

1.     Pengalokasian frame Virtual Memory
Frame adalah tempat untuk membawa halaman dengan intruksi-intruksinya. Alokasi frame berhubungan dengan mekanisme alokasi sejumlah memori bebas yang tetap diantara beberapa proses. Meskipun terdapat beberapa variasi pengalokasian frame bebas ke beberapa proses, tetapi strategi dasar jelas yaitu : proses user dialokasikan untuk  sembarang frame bebas.
 Jumlah minimum frame per proses ditentukan oleh arsitektur dimana jumlah maksimum tergantung jumlah memori fisik yang tersedia. Jumlah minimum frame ditentukan oleh arsitekturinstruction-set. Bila terjadi page fault sebelum eksekusi intruksi selesai,intruksi harus di-restart. Sehingga tersedia frame yang cukup untuk membawa semua page yang berbeda dimana sembarang intruksi dapat mengacu. Misalnya mikrokomputer menggunakan memori 128K yang dikomposisikan dengan page ukuran 1K, maka terbentuk 128 frame. Jika sistem operasi menggunakan 35K, maka 93 frame bisa digunakan program user. Bila suatu program menyebabkan page fault sebanyak 93 kali, maka menempati 93 frame bebas tersebut. Jika terjadi page fault yang ke 94, dari 93 frame yang terisi harus dipilih salah satu untuk diganti yang baru. Bila program selesai, 93 frame tersebut dibebaskan kembali.
Terdapat 2 bentuk algoritma alokasi yaitu equal allocation dan proportional allocation. Pada equal allocation, jika terdapat m frame dan n proses, maka setiap proses dialokasikan sejumlah frame yang sama (m/n frame). Pada proportional allocation setiap porses dialokasikan secara proporsional berdasarkan ukurannya.
1)    Trashing (Virtual Memory trashing)
Trashing adalah suatu proses yang sibuk melakukan swap pagi in dan out. Jika suatu proses tidak mempunyai page yang cukup, tingkat page fault menjadi tinggi. Hal tersebut dapat dilihat dari :
1.     Sistem Operasi meningkatkan multiprogramming
2.    Utilisasi CPU meningkat sejalan dengan bertambahnya multiprogramming
3.    Proses lain ditambhakan ke dalam sistem


0 komentar:

Posting Komentar