STRATEGI ALOKASI FRAME Dipresentasikan oleh Kelompok.10: Abdurrasyid Mujahid (1203007018) Prastudy Mungkas F. (12030070Y) prastudymf_14@yahoo.com Mujahid & Prastudy 1
Tujuan Memahami salah satu teknik dasar dalam virtual memory, yaitu alokasi frame. Memahami dan menemukan solusi masalah Thrashing. Mujahid & Prastudy 2
Alokasi Frame Menentukan jumlah frames yang bisa dialokasikan untuk proses-proses Jumlah frame minimum dan maksimum Alokasi frame yang fleksibel dan tetap Metode alokasi Equal (fixed) Allocation Proportional (flexible) Allocation Metode replacement Local Replacement Global Replacement Mujahid & Prastudy 3
Replacement dan Alokasi Local Replacement Global Replacement Fixed Allocati on Flexibl e Allocati on jumlah frame per proses tetap replacement pada frame-nya sendiri jumlah frame per proses bisa berubah replacement pada frame sendiri untuk kemudahan working set [tidak ada] replacement bisa di seluruh frames Resident set (keberadaan) proses berubah Franz J. Kurfess, http://www.csc.calpoly.edu/~fkurfess/courses/comp-34/w00/slides/09-virtmem.ppt, 23 November 2004 Mujahid & Prastudy 4
Fixed Allocation, Local Replacement Jumlah frame per proses ditentukan ketika proses di-load, dan tidak bisa berubah Replacement dilakukan pada frame proses Contoh: 100 frames dan proses, maka 20 frames per proses. Masalah: Alokasi terlalu kecil: page fault besar; kalau banyak proses yang aktif Alokasi terlalu besar: kalau sedikit sekali proses yang aktif; utilisasi CPU rendah; -tapi page fault kecil Mujahid & Prastudy
Alokasi Proporsional, Global Replacement Jumlah alokasi bergantung pada ukuran dan prioritas proses. Ukuran kecil, alokasi frame kecil Prioritas tinggi, alokasi lebih banyak Misalnya (berdasar ukuran): jumlah frame = 4, proses 1: 10 pages, proses 2: 127 pages, frame proses 1 = (10 / 137) x 4 frame proses 2 = (127 / 137) x 4 9 Replacement bisa ke frame proses lain, sehingga bisa tidak adil Mujahid & Prastudy
Contoh Local dan Global Replacement Misalkan ada tiga buah proses A, B, dan C. Kemudian terjadi page fault pada proses A. Bagaimana mencari alokasi frame-nya? Misal dengan algoritma LRU, - local replacement (b) : age terkecil dalam frame lokalnya, yaitu A (age = 3) - global replacement (c) : age terkecil dalam seluruh frame, yaitu B3 (age = 2) Mujahid & Prastudy 7
Contoh Local dan Global Replacement Keterangan: Kondisi awal frame Local replacement Global replacement A0 A1 A2 A3 A4 A B0 age 10 7 4 3 9 A0 A1 A2 A3 A4 A B0 age 10 7 4 13 9 A0 A1 A2 A3 A4 A B0 age 10 7 4 3 9 B1 4 B1 4 B1 4 B2 B2 B2 B3 2 B3 2 A 13 B4 B4 B4 B B B B 12 B 12 B 12 Sumber: Andrew S. Tanemboum, Modern Operating System. C1 C2 C3 3 C1 C2 C3 Mujahid & Prastudy 8 3 (a) (b) (c) C1 C2 C3 3
Thrashing Definisi : aktivitas paging yang tinggi Bila suatu proses tidak mempunyai jumlah page yang cukup, maka frekuensi page fault tinggi. Akibat: - utilitas CPU menurun - OS menambah derajat multiprogramming - utilitas CPU makin menurun! Thrashing proses sibuk swap in dan swap out sejumlah page Mujahid & Prastudy 9
Thrashing Operating System Concepts, Silberschatz, Galvin & Gagne Lokalitas : kumpulan halaman yang aktif digunakan bersama Model lokalitas : proses berpindah dari satulokalitas ke lokalitas lain Thrashing : ukuran lokalitas > ukuran total memori Mujahid & Prastudy 10
Model Working Set Diambil dari model lokalitas suatu eksekusi proses working-set window jumlah page references yang ditetapkan Contoh: = 14,000 instruksi working set proses Pi = semua halaman yang pernah digunakan dalam terakhir - WSSi = ukuran dari working set proses Pi - D = Σ WSSi jumlah permintaan untuk frame - m jumlah frame yang tersedia bila D > m Thrashing Policy: bila D > m, tunda pengeksekusian sebuah proses Mujahid & Prastudy 11
Model Working Set Operating System Concepts, Silberschatz, Galvin & Gagne Keakuratan working set tergantung pada pemilihan : Jika terlalu kecil, tidak akan dapat mewakilkan keseluruhan dari lokalitas. Jika terlalu besar, akan menyebabkan overlap beberapa lokalitas. Jika tidak terbatas, working set adalah kumpulan semua page yang digunakan selama eksekusi program. Mujahid & Prastudy 12
Frekuensi Page Fault Operating system memonitor frekuensi page fault (PFF) dari setiap proses - bila PFF terlalu tinggi, proses butuh frame lebih - bila PFF terlalu rendah, jumlah frame proses bisa dikurangi - bila jumlah proses yang memiliki PFF tinggi cukup banyak, eksekusi beberapa proses harus ditunda Mujahid & Prastudy 13
Frekuensi Page Fault page fault rate allocated page frames process needs more frames upper bound lower bound process needs fewer frames Franz J. Kurfess, http://www.csc.calpoly.edu/~fkurfess/courses/comp-34/w00/slides/09-virtmem.ppt, 23 November 2004 Mujahid & Prastudy 14