Kelompok 116: 116-35: Bab 35 (Strategi Alokasi Frame): • Arief Nurrachman • Riska Aprian
17 November 2005
(7205001063) (7205001195)
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
1
Alokasi Frame
strategi alokasi frame yang menyangkut memori virtual adalah bagaimana membagi memori yang bebas untuk beberapa proses yang sedang dikerjakan. Contoh: IBM 370 –6 page menangani SS MOVE instruksi:
intruksi ada 6 bytes,membutuhkan 2 page 2 page menangani darimana 2 page menangani akan kemana
Dua macam sekema alokasi
fixed allocation priority allocation
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
2
Minimum Jumlah Frame 1. Minimal jumlah Frame sehingga exsekusi proses dapat berjalan meningkat dan tingkat page-fault kecil. 2. Berapa minimum frame yang harus dialokasikan agar sebuah instruksi berjalan.
E
C
E
E
A
B
C
E
B
A
D
A
E
E
E
E
C
C
C
C
A
A
A
B
B
C
D 17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
3
Langkah Penanganan Page Fault
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
4
Fixed Allocation
Equal allocation –Misal: jika ada 100 frame dan 5 proses, maka masing-masing proses mendapatkan 20 frame. Proportional allocation –Pengalokasian frame mengacu pada besarnya proses.
si =process of size pi S =si m = Jumlah total Frame ai = alokasi dari pi = si/S x M m = 64 s1 = 10 s2 = 127 a1= 10/137 x 64 5 a2= 127/137 x 64 59
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
5
Priority Allocation Mengunakan
proportional allocation namun mengunakan prioritas baru kemudian ukurannya. Jika proses Pi menghasilkan page fault,
Pilih satu Frame untuk di-replacement dilokasi manasaja. Pilih Frame untuk di-replacement dimana mempunyai angka prioritas proses yang rendah.
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
6
Alokasi Global dan Alokasi local
Global replacement– Pergantian global memperbolehkan sebuah proses mencari frame pengganti dari semua frame-frame yang ada, walaupun frame tersebut sedang dialokasikan untuk proses yang lain Local replacement– Penggantian lokal memberi aturan bahwa setiap proses hanya boleh memilih frame pengganti dari frame-frame yang memang dialokasikan untuk proses itu sendiri
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
7
Definisi & Penyebab Thrashing Sebuah
Proses dikatakan Thrashing jika waktu paging lebih besar dari waktu eksekusi. Salah satu penyebab thrashing : alokasi frame minimum untuk proses tidak terpenuhi
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
8
Mengatasi thrashing Efek
Thrashing dapat dibatasi dengan algoritma pergantian lokal Penggunaan Working Set Model dan frekuensi kesalahan halaman (page fault frequency) untuk mengatasi Thrashing
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
9
Working Set Model working
Set : himpunan halaman (set pages) yang secara aktif digunakan oleh proses pada saat tertentu Prinsip working set model mengalokasikan frame sesuai dengan kebutuhan tiap proses
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
10
Contoh Working Set 1
234444562335111334488
WS(t1) = {1,2,3,4}
17 November 2005
WS(t2) = {1,2,3,5,6}
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
WS(t3) = {3,4,8}
11
Frekuensi page fault Jika
frekuensi page fault tinggi tambahkan alokasi frame pada proses tersebut sebaliknya
jika
frekuensi page fault rendah kurangi alokasi frame pada proses tersebut
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
12
Lain-lain Prepaging Ukuran
Halaman (Page Size) Jangkauan TLB (TLB Reach) Tabel Halaman yang dibalik (Inverted Page Table) Struktur Program M/K Interlock (I/O Interlock) 17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
13
Prepaging Mengurangi
paging yang terjadi pada saat proses dimulai Cocok digunakan dengan working set model
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
14
Semakin Besar Ukuran Halaman… …ukuran
page table semakin kecil. …kemungkinan internal fragmentation semakin besar. … waktu M/K semakin besar … M/K semakin banyak dilakukan … jumlah page fault semakin besar
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
15
Jangkauan TLB
Semakin besar jangkauan TLB semakin kecil waktu yang dihabiskan mengakses page table
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
16
Memperbesar jangkauan TLB dengan cara… …memperbesar
jumlah masukan (entries)
dalam TLB …memperbesar ukuran halaman …mengatur TLB dalam software dan menyediakan ukuran halaman yang beragam
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
17
Tabel halaman yang dibalik Bertujuan
mengurangi jumlah memori fisik yang dibutuhkan untuk melacak penerjemahan alamat virtual ke fisik. Dilakukan dengan membuat tabel yang memiliki hanya satu masukan tiap halaman memori fisik, terdaftar oleh pasangan (proses-id, nomor halaman)
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
18
Struktur Program Pemilihan
struktur data dan pemrograman dapat meningkatkan locality dan mengurangi jumlah kesalahan halaman dan mengurangi jumlah halaman dalam working set.
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
19
Setiap baris dalam array tersimpan dalam satu page… Int I, j; Int [128][128] data;
Int I, j; Int [128][128] data;
for (j = 0; j<128,j++) for (i= 0; i<128,i++) data[i][j]=0;
for (i = 0; i<128,i++) for (j= 0; j<128,j++) data[i][j]=0;
128x128 page fault
128 page fault
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
20
M/K Interlock
prosesX meminta M/K dan diletakkan dalam antrian, sementara itu CPU diberikan ke prosesY dan menimbulkan kesalahan halaman, menggunakan algoritma pergantian global, memori buffer untuk prosesX digunakan sebagai pengganti halaman untuk prosesY Halaman-halaman untuk tersebut dikeluarkan Pada saat prosesX berada di depan antrian M/K menunjuk pada alamat tertentu, tapi frame tersebut digunakan page pada prosesY
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
21
Windows NT
Windows NT mengimplementasikan memori virtual dengan menggunakan permintaan halaman melalui clustering. Saat proses pertama dibuat, dia diberikan working set minimum Jika memori yang cukup tersedia, proses dapatdiberikan halaman sampai sebanyak working set maximum. Manager memori virtual akan menyimpan daftar dari halaman frame yang bebas. Saat jumlah memori bebas jatuh di bawah nilai batasan, manager memori virtual menggunakan sebuah taktik yang dikenal sebagai automatic working set trimming untuk mengembalikan nilai tersebut di atas batasan.
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
22
Solaris 2
kernel akan memberikan halaman kepada proses kernel harus menyimpan sejumlah memori bebas, dua parameter yg disimpan yaitu minfree dan lotsfree, Empat kali dalam tiap detiknya, kernel memeriksa jumlah memori yang bebas. Jika jumlah tersebut jatuh di bawah minfree, maka sebuah proses pageout akan dilakukan, dengan pekerjaan sebagai berikut. Pertama clock akan memeriksa semua halaman dalam memori dan mengeset bit referensi menjadi 0. Saat berikutnya, clock kedua akan memeriksa bit referensi halaman dalam memori, dan mengembalikan bit yang masih di set ke 0 ke daftar memori bebas. Hal ini dilakukan sampai jumlah memori bebas melampaui parameter lotsfree. proses ini dinamis, dapat mengatur kecepatan jika memori terlalu sedikit.
17 November 2005
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
23
Solar Page Scanner
Scan rate
8192 fastscan
100 slowscan
minfree
17 November 2005
desfree Amount of free memory
(c) Arief Nurrachman, Riska Aprian Silahan Menggandakan slide ini tanpa mengubah note hak cipta
lotfree
24