Bab 6
description
Transcript of Bab 6
Bab 6
Pengelolaan Memori 3
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
Bab 6
PENGELOLAAN MEMORI 3
A. Memori Semu
1. Memori Dukung dan Memori Kerja
Memori dukung dan memori kerja saling bekerja sama, saling muat muatan
sehingga memori dukung dianggap sebagai memori (kerja) semu
Memori kerja Memori dukung
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
2. Gagal Suku
Ketika bekerja, prosesor sering mencari muatan di memori kerja
Dalam hal muatan pilah suku, prosesor mencari suku di memori kerja
Jika suku yang dicari tidak ada maka terjadi gagal suku
ProsesorMencari suku
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
3. Muat Suku
Jika suku yang diperlukan olen prosesor tidak ada di memori kerja maka suku itu dimuat dari memori dukung ke memori kerja
Pemuatan suku ini disebut muat suku
Biasanya ukuran suku = 4 kb = 4096 bait
Prosesor
Memori kerja Memori dukung
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
4. Memori Kerja Penuh dan Penggantian Suku
Pada suatu ketika, memori kerja terisi penuh (rangka suku terisi penuh)
Jika terjadi gagal suku, maka suku itu tidak dapat dimuat lagi ke memori kerja
Untuk melakukan muat suku maka ada suku di memori kerja yang dikeluarkan (diganti)
Memori kerjapenuh
Memori dukung
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
5. Sistem Memori Cadangan
Jika memori kerja penuh dan terjadi gagal suku maka ada suku yang perlu dikeluarkan agar suku dapat dimuat; pengeluaran suku ini tidak dapat ditunda
Agar dapat ditunda jika diperlukan, memori kerja menyediakan rangka suku cadangan
Muat suku ke cadangan dan cadangan dapat digandi kemudian
Memori kerja Memori dukung
Memori cadangan
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
6. Lokasi Penggantian
Penggantian Lokal
Yang diganti hanya suku dari proses yang sama
A0 A0
A1 A1
A2 A2
A3 A3
A4 B0
A5 B1
B0 B2
B1 C0
B2 C1
B3
B4 A4 hanya boleh mengganti A0 sampai A3
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
Penggantian Global
Boleh mengganti semua suku yang ada di memori kerja
A0 A0
A1 A1
A2 A2
A3 A3
A4 B0
A5 B1
B0 B2
B1 C0
B2 C1
B3
B4 A4 boleh mengganti dari A0 sampai C1
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
7. Suku Reentran dan Nonreentran
Setelah dimuat ke memori kerja,
• Ada suku yang tidak berubah, dikenal sebagai suku reentran
• Ada suku yang berubah, dikenal sebagai suku nonreentran
Suku reentran dapat diganti begitu saja karena masih ada di memori dukung
Suku nonreentran akan hilang jika diganti sehingga perlu dimuat ke memori dukung
r
nrr = reentran nr = nonreentran Memori kerja Memori dukung
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
8. Kerja Sia-sia dan Parakor
Jika memori kerja besar maka setiap muat suku dapat ditampung; bahkan ada memori yang tidak terpakai
Jika memori kerja kecil maka terjadi perebutan memori; terjadi banyak penggantian
Jika muatan yang baru dimuat sudah diganti dan penggantinya diganti lagi maka terjadi kerja sia-sia (thrashing)
Memori dukungMemori kerja
Saling gandi
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
Lengkungan Parakor
Hubungan di antara kecepatan muat suku dengan banyaknya rangka suku di memori kerja
Kece-patan muat suku
Banyaknya rangka suku
Banyak rangka suku tidak terpakai
Banyak panggantian suku; kerja sia-sia tinggi
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
9. Anomali Belady
Biasanhya, makin besar ukuran memori kerja, maka besar daya tampungnya, sehingga penggantian suku menjadi sedikit
Sedikit penggantian suku menyebabkan sedikit gagal suku
Ada kalanya (jarang sekali) terjadi sebaliknya yakni makin besar ukuran memori kerja makin banyak gagal suku
Kejadian ini dikenal sebagai anomali Belady (ditemukan oleh Belady); makin besar ukuran memori kerja makin banyak gagal suku
Banyaknya rangka suku
Banyaknya gagal suku
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
B. Penggantian Suku Berdasarkan Permintaan
1. Permintaan Suku dan Antrian Suku
Prosesor mencari isi rangka suku untuk diakses; pencarian ini dapat berbentuk antrian suku
Antrian suku ini ditimbulkan oleh program yang dikerjakan oleh prosesor
Contoh antrian suku
01230140123433122412…
Agar mudah terbaca, antrian dipecah empat-empat
0123 0140 1234 3312 2412 …
Arah antrian
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
2. Gagal Suku, Muat Suku, dan Penggantian Suku
Jika suku yang akan diakses oleh prosesor tidak ada di memori kerja maka terjadi gagal suku
Agar dapat dikerjakan suku yang gagal diakses itu dimuat dari memori dukung
Jika memori kerja sudah penuh maka untuk dapat memuat suku yang dicari, ada suku di rangka suku yang perlu diganti
Urutan peristiwa
• Prosesor mengkases suku
• Jika tidak ada, gagal suku
• Jika gagal suku, muat suku
• Jika memori kerja penuh, penggantian suku
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
3. Algoritma Penggantian Suku
Suku mana di memori kerja yang akan diganti ditentukan oleh algoritma penggantian suku
Di sini dibicarakan beberapa algoritma penggantian suku sambil menghitung banyaknya gagal suku
Beberapa algoritma penggantian suku
• Algoritma penggantian acak
• Algoritma pertama masuk pertama keluar
• Algoritma paling lama tidak dipakai
• Algoritma paling jarang dipakai
• Algoritma paling sering dipakai
• Algoritma peluang kedua
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
4. Algoritma Penggantian Acak
Suku yang diganti ditentukan secara acak
Contoh 1
Ada 3 rangka suku
• Suku yang diganti; x Gagal suku
Penggantian suku dilakukan secara acak
Antrian
suku 0 1 2 3 0 1 4 0 1 2 3 4
Muat dan 0 0 0• 3 3 3 • 1• 2 2• 4
ganti 1 1 1 1 • 4 4 4• 3 3
2 2• 0 0 0 0 0 0
Gagal x x x x x x x x x x
suku
Terjadi 10 kali gagal suku
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
5. Algoritma Penggantian
Pertama Masuk Pertama Keluar (PMPK)
First In First Out (FIFO)
Contoh 2
Ada 4 rangka suku
Antrian
suku 1 2 3 4 1 2 5 1 2 3 4 5
Muat dan 1 1 1 1 • 5 5 5 5• 4 4
ganti 2 2 2 2• 1 1 1 1• 5
3 3 3 3• 2 2 2 2
4 4 4 4• 3 3 3
Gagal x x x x x x x x x x
suku
Terjadi 10 kali gagal suku
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
Contoh 3 (untuk anomali Belady)
Tiga Rangka Suku
Antrian
Suku 0 1 2 3 0 1 4 0 1 2 3 4
Muat dan 0 0 0• 3 3 3• 4 4 4
Ganti 1 1 1• 0 0 0 • 2 2
2 2 2• 1 1 1• 3
Gagal x x x x x x x x x 9 kali
Suku
Empat Rangka Suku
Antrian
Suku 0 1 2 3 0 1 4 0 1 2 3 4
Muat dan 0 0 0 0 • 4 4 4 4• 3 3
Ganti 1 1 1 1• 0 0 0 0• 4
2 2 2 2• 1 1 1 1
3 3 3 3• 2 2 2
Gagal x x x x x x x x x x 10 kali
suku
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
6. Algoritma Penggantian
Paling Lama Tidak Dipakai (PLTD)
Least Recently Used (LRU)
Contoh 4
Ada empat rangka suku
Antrian
suku 1 2 3 4 1 2 5 1 2 3 4 5
Muat dan 1 1 1 1 1 1 1• 5
ganti 2 2 2 2 2 2 2
3 3 • 5 5• 4 4
4 4 • 3 3 3
Gagal x x x x x x x x
suku
Terjadi 8 kali gagal suku
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
7. Algoritma Penggantian Paling Jarang Dipakai (PJD) Least Frequently Used
Dalam contoh ini, jika frekuensi sama maka suku kecil yang diganti
Contoh 4
Ada 4 rangka suku
Antriansuku 1 2 3 4 1 2 5 1 2 3 4 5Muat dan 1 1 1 1 1 1 1ganti 2 2 2 2 2 2 3 3 • 5 5 5 4 4 • 3• 4
Frekuensi 1(2) 1(3) 1(3)
dipakai 2(2) 2(3) 2(3)
3(1) 5(1) 5(1)
4(1) 4(1) 3(1)Gagal x x x x x x xsuku Gagal suku 7 kali
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
8. Algoritma Penggantian Paling Sering Dipakai (PSD) Most Frequently Used
Dalam contoh ini, jika frekuensi sama maka suku kecil yang diganti
Contoh 5
Ada 4 rangka suku
Antriansuku 1 2 3 4 1 2 5 1 2 3 4 5Muat dan 1 1 1 1 • 5 5 5ganti 2 2 2 2• 1• 2 3 3 3 3 3 4 4 4 4
Frekuensi 1(2) 2(2) 1(1)
dipakai 2(2) 3(1) 3(1)
3(1) 4(1) 4(1)
4(1)5(1)5(1)Gagal x x x x x x xsuku Gagal suku 7 kali
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
9. Algoritma Penggantian
Peluang Kedua
Suku diberi peluang sehingga pada peluang kedua baru diganti
Diperlukan pointer untuk menunjuk suku secara berurutan; sampai di ujung, pointer mulai lagi dari awal
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
Bit untuk tanda peluang
Peluang pertama 0
Peluang kedua 1
Putaran pertama Putaran kedua
Rangka Bit Rangka Bit
23 0 23 1
27 0 27 1
32 0 32 1
33 1 33 ganti
37 0 37 0
39 1 39 1
42 1 42 1
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
C. Penggantian Suku Berdasatkan Perkiraan
1.Dasar Perkiraan
Untuk dapat melakukan perkiraan diperlukan dasar untuk perkiraan
Dasar yang umum digunakan adalah lokalitas yakni lokasi suku yang akan sering diakses untuk suatu waktu tertentu
Ada dua macam lokalitas
• Lokalitas waktu
• Lokalitas ruang
Lokasi ini dapat diperkirakan untuk dimuat sekaligus ke memori kerja
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
2. Lokalitas Waktu
Ada kalanya program komputer melakukan proses yang sama berulang-ulang untuk sejumlah kali
Pengulangan ini dilakukan melalui simpal (looping), misalnya, melalui
Dari X = 1 sampai 100
A __________
B __________
C __________
D __________
E __________
F __________
Batas
Ada lokasi A sampai F yang diulang 100 kali
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
3. Lokalitas Ruang
Ada kalanya program komputer melakukan proses yang menggunakan alamat memori yang berdampingan
Ada sejumlah alamat memori berurutan yang digunakan pada proses
X(01)
X(02)
X(03)
X(04)
X(99)
Ada 99 lokasi berurutan yang akan diakses
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
4. Peta Perkiraan
Ada kalanya ada sejumlah lokalitas membentuk peta perkiraan
Secara bergantian setiap lokalitas dimuat sekaligus ke memori kerja
Banyaknya suku
L = lokalitas
P = peralihan
L1 P L2P
L3P L4
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
4. Model Perangkat Kerja (Working Set Model)
Suku di dalam suatu lokalitas merupakan suatu perangkat kerja
Mereka menempati suatu bentangan waktu berupa jendela perangkat kerja
Lebar jendela perangkat kerja adalah waktu (dapat berupa cacahan pada memori)
Suku di luar jendela dikeluarkan dari memori kerja
Waktu
w
ttw
------------------------------------------------------------------------------Bab 6
------------------------------------------------------------------------------
5. Contoh perangkat kerja dengan w = 12 000
Memori Suku Perangkat Letak Suku takTeracu teracu kerja perubahan terpakai00 000 123 123 123 123 123 123 123 123 123 12310 000 145 12345 145 1234514 000 456 123456 456 123456 456 123456 456 12345622 000 1 1456 24 000 174 14567 26 000 176 14567 176 14567 176 1456732 000 18 145678 18 14678 18 14678
38 000 178 1678 178 1678 178 1678 46 000 178 178 48 000 90 17890
2 3 (10 000 – 22 000)
5 (22 000 – 34 000)4 (26 000 –38 000)
6 (32 000 – 44 000
Thanks