Dalam
batch system, organisasi memori dlm partisi tetap sederhana dan efektif
Dalam
timesharing system atau berorientasi grafik, situasinya berbeda. Kadang-kadang
memori tidak
cukup utk memegang semua proses, shgg sebagian proses
harus di
simpan dlm disk dan diambil utk dijalankan secara dinamik
Ada 2
pendekatan tgt dari ketersediaan hardware :
• Swapping
• Virtual
memory
Swapping
dilakukan dg membawa keseluruhan proses dan menjalankannya dlm
waktu
singkat kemudian meletakkanya kembali dalam disk. Vitual memori :
program
dijalankan secara partial dlm memori utama
Perbedaan
utama swapping vs multiprogramming dg partisi tetap
variabel
partisi: jumlah, lokasi dan ukuran sangat dinamis dpt berubah-ubah sepanjang
waktu.
Ketika
swapping dilakukan, mungkin banyak ‘lubang’ (ruang kosong) terbentuk dlmmemori,
lubang-lubang ini bisa digabungkan menjadi ukuran yg besar _ memory compaction
(pemadatan), tetapi ini memerlukan waktu CPU yg besar .
Contoh
mesin dg
kecepatan copy 4 byte dlm 40 nsec, perlu 2,7 sec utk
meng-compact
semua memory berukuran 256 MB
Bila
ukuran proses yg dibuat selalu tetap, maka alokasi utk proses : tetap
Bila
ukuran proses yg dibuat bias berkembang, maka alokasi utk proses : ada
tambahan memori utk ruang tumbuh proses (kalau tdk proses akan wait/killed)
Ada 2
kemungkinan ruang tumbuh proses:
a. Growing
data segment
b. Growing
data segment dan growing
stack
Manajemen
Memori dg Bitmaps
• Ketika
memori diassign secara dinamis, SO harus mengelola hal tsb
• secara
umum ada 2 cara utk mengimplementasikan hal tsb :
• Manajemen
memori dg Bitmaps
• Manajemen
memori dg Linked List Dg sebuah bitmap, memori akan dibagi menjadi unit-unit
alokasi dlm ukuran kecil
• Utk
setiap unit alokasi , 0: unit yg bebas, 1: unit yg ditempati
• ukuran
unit alokasi merupakan isu desain yg penting
• Semakin
kecil ukuran unit alokasi _ semakin besar ukuran bitmap penggunaan memori oleh
bitmap tdk maksimal
• Semakin
besar ukuran unit alokasi _ semakin kecil ukuran bitmap memori yg cukup besar
akan terbuang pd unit proses terakhir jika ukuran proses tdk persis dg kumpulan
unit alokasi yg ada.
Manajemen
Memori dg Bitmaps
• Kelebihan
Bitmaps
Sebuah bitmap memberikan cara yg mudah utk
mengatur memori dlm jumlah yg
tetap
karena ukuran bitmap tergantung dari ukuran memori dan ukuran unit alokasi.
• Kelemahan/masalah
penggunaap bitmaps
ketika sebuah k
unit proses ditangani, manajer memori harus mencari bitmap dg kbit 0 yg berurutan. Proses pencarian memerlukan waktu yg lama.
• Gambar 1
Bitmap dg 8 unit alokasi dan represntasi dg Linked List(Tan 199)
Sebuah
elemen list terdiri atas :
• Segmen : proses/hole
• starts : posis awal dari unit alokasi (
dimulai dari 0)
• length : panjang dari segmen (dlm unit
alokasi)
• next : pointer utk menunjuk
segmen berikutnya
• segmen list
diurutkan berdasarkan alamatnya. Pengurutan seperti ini memiliki
keuntungan
dlm terminasi proses, swapped out suatu proses, update list.
• Beberapa
algoritma pengalokasi-an memori utk membuat proses baru :
• First
Fit
• Next Fit
• Best Fit
• Worst
Fit
• Quick
Fit
Berikut
adalah kemungkinan terminasi proses X (ketika X tdk terletak pada posisi
teratas
/terbawah memori ) :
Sebelum
dan sesudah X diterminasi
First
Fit
•
Pencarian blok memori kosong /hole dimulai dari awal
• Hole
yang dipilih adalah blok memori yang pertama kali ditemukan dan
ukurannya
sesuai. Hole kemudian dipecah menjadi 2: utk proses dan unused
memory.
•
Merupakan algoritma yang cepat dan paling sederhana
• Next
Fit
• Merupakan
minor variation dari Fisrt Fit
Perbedaanya:
pencarian hole dimulai pada posisi terakhir pencarian
• Performansi
sedikit dibawah First Fit
• Best
Fit
• Pencarian
hole dilakukan pada keseluruhan list dan memilih hole terkecil yg
sesuai dg
kebutuhannya
• Lebih
lambat daripada 2 algo. sebelumnya
• Banyak
menghasilkan ‘wasted memory’ karena ia cenderung memenuhi
memori dg
ukuran yg kecil-kecil (ini kurang bgt berguna)
Worst
Fit
•
Pencarian hole dilakukan pada keseluruhan list dan memilih hole terbesar
• Hasil
simulasi: performansi tdk lebih baik dari algo. sebelumnya
• Quick
Fit
• Holes
dan proses disimpan dalam list yang berbeda
• Pencarian
hole yang sesuai jauh lebih cepat
• Kelemahan
, proses2 berikut menjadi sulit dilakuakn:
Termimasi
proses
• Swapped
out suatu proses
• Melihat
apakah merger memungkinkan/tidak
No comments:
Post a Comment