Multiple partition allocation, adalah dimana sistem operasi menyimpan informasi
tentang semua bagian memori yang tersedia untuk digunakan (disebut hole). Pada
multiple partition mengijinkan memori user
dialokasikan untuk proses yang berbeda yang berada di antrian input (input
queue) yang menunggu dibawa ke memori. Pada multiple
partition terdapat 2 cara pengaturan partisi yaitu:
1.
Partisi Tetap (Fixed Size Partitioning)
Adalah memori dipartisi menjadi blok-blok
yang ukurannya ditentukan dari awal. Terbagi lagi atas partisi tetap berukuran
sama, dan partisi tetap berukuran berbeda. Setiap partisi berisi tepat 1
proses. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed
number of Task (MFT).
Berdasarkan besar partisi, fixed partition
terbagi menjadi dua tipe:
Partisi berukuran sama :
- Setiap proses yang ukurannya lebih kecil atau sama dengan ukuran partisi dapat menempati partisi tersebut.
- Jika semua partisi telah terisi, maka sistem operasi akan melakukan swap terhadap proses yang sudah tidak aktif.
- Dimungkinkan adanya program yang ukurannya lebih besar daripada ukuran partisi yang tersedia → programmer harus merancang program dengan overlay.
- Penggunaan memori sangat tidak efisien, misal bila ukuran partisi adalah 8 MB, maka program berukuran 2 MB akan menyisakan ruang memori sebesar 6 MB.
Partisi berukuran tidak sama:
·
Lebih baik daripada partisi
berukuran sama:
o
Penggunaan memori lebih efisien
o
Tidak perlu overlay
Algoritma
penempatan (placement)
·
Partisi berukuran sama
o
Algoritmanya sederhana, partisi yang
mana saja asalkan kosong boleh ditempati, karena ukurannya sama
·
Partisi berukuran berbeda
o
Setiap proses ditempatkan pada
partisi yang menyisakan ruang bebas terkecil
Terdapat 2
model antrian:
·
Satu antrian – satu partisi
o
Setiap proses antri pada partisi
yang berukuran sedikit lebih besar atau sama dengan ukuran proses
o
Kelebihannya dapat meminimalisir ruang memori yang terbuang.
o
Kekurangannya diperlukan penjadualan antrian, ada kemungkinan
efisiensi secara keseluruhan tidak optimal
o
Misal pada model partisi di slide
hal 10 tidak ada proses yang berukuran di antara 12 – 16 MB → partisi 16 MB
tidak akan pernah digunakan
·
Satu antrian – banyak partisi
Setiap
proses dapat menempati di sembarang partisi yang sedang tidak digunakan.
Dipilih partisi yang menyisakan ruang memori terkecil. Bila seluruh partisi
telah diisi → dilakukan swapping
·
Kelebihannya mudah diimplementasikan, overhead sistem operasi hanya
sedikit
·
Kekurangannya jumlah maksimum proses yang aktif adalah tetap dan
terbatas (bergantung jumlah partisi)dan tidak efisien dalam penggunaan memori
akibat terjadi fragmentasi internal
o
Fragmentasi internal: sisa ruang memori yang terjadi jika ukuran
proses lebih kecil daripada partisi yang digunakan
Kelemahan :
Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan dan dijalankan. Pemrogram harus mempersiapkan overlay. Overlay adalah program dipecah menjadi bagian-bagian yang dapat dimuat ke memori. Sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
Bila program lebih kecil daripada ukuran partisi yang tersedia, maka akan ada ruang yang tak dipakai, yang disebut fragmentasi internal (pemborosan memori). Kelemahan ini dapat dikurangi dengan membuat partisi tetap dengan ukuran yang berbeda.
Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan dan dijalankan. Pemrogram harus mempersiapkan overlay. Overlay adalah program dipecah menjadi bagian-bagian yang dapat dimuat ke memori. Sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
Bila program lebih kecil daripada ukuran partisi yang tersedia, maka akan ada ruang yang tak dipakai, yang disebut fragmentasi internal (pemborosan memori). Kelemahan ini dapat dikurangi dengan membuat partisi tetap dengan ukuran yang berbeda.
Pemartisian
dengan partisi berukuran berbeda : ukuran semua partisi memori berbeda
Untuk mengatasi kelemahan dari Pengalokasian berurut dengan partisi statis dengan ukuran sama, yaitu proses ukuran kecil diletakkan ke partisi yang kecil dan sebaliknya.
Untuk mengatasi kelemahan dari Pengalokasian berurut dengan partisi statis dengan ukuran sama, yaitu proses ukuran kecil diletakkan ke partisi yang kecil dan sebaliknya.
2. Partisi dinamis (dynamic)
Jumlah dan
ukuran partisi tidak tetap (variabel). Ukuran partisi sama dengan ukuran proses
yang akan menempatinya untuk pertama kali atau sesudah pemadatan (compaction) →
tidak terjadi fragmentasi internal. Tetapi dapat terjadi fragmentasi eksternal.
Fragmentasi eksternal adalah sisa ruang memori yang terjadi jika ukuran proses
lebih kecil daripada ruang memori yang disediakan (dibebaskan) Solusi:
dilakukan compaction sehingga sisa-sisa ruang memori terkumpul menjadi satu
sisa ruang → memori menjadi besar
Contoh :
a. Tersedia 64 MB memori, 8 MB untuk sistem operasi
b. Proses 1 aktif dan membutuhkan 20 MB
c. Proses 2 aktif dan memerlukan 14 MB
d. Proses 3 aktif dan memerlukan 18 MB, sisa memori
tinggal 4 MB
e. Proses 2 selesai
f. Proses 4 aktif dan memerlukan 8 MB ditempatkan Ã
di ruang memori bekas proses 2 → terjadi fragmentasi eksternal sebesar 6 MB
g. Proses 1 telah selesai → tersedia ruang bebas
sebesar 20 MB
h. Proses 2 aktif lagi dan titempatkan pada lokasi
bekas proses 1 → terjadi fragmentasi eksternal sebesar 6 MB
Algoritma
yang digunakan:
Best-fit
·
Memilih blok memori yang paling sedikit
menyisakan ruang memori
·
Biasanya performansi secara
keseluruhan adalah yang paling jelek:
o
Proses pencarian lebih lama dan
membebani prosesor
o
Sisa memori berukuran kecil-kecil
lebih cepat terbentuk → Compaction harus lebih sering dilakukan daripada
algoritma yang lain
First-fit
·
Pencarian blok memori kosong dimulai
dari awal
·
Blok memori yang dipilih adalah blok
memori yang pertama kali ditemukan dan ukurannya sesuai
·
Merupakan algoritma yang paling
baik:
o
Paling cepat
o
Paling sederhana
·
Pencarian akan melewati sejumlah
proses yang terletak pada bagian ujung awal memori sebelum menemukan blok
memori yang bebas.
Worst-fit
·
Pencarian blok memori kosong dimulai
dari lokasi placement terakhir
·
Lebih jelek dibanding First-fit,
karena blok memori yang ditemukan sering berada pada ujung akhir memori yang
merupakan blok memori berukuran paling besar
·
Blok memori yang besar akan lebih
cepat terpartisi menjadi blok memori yang lebih kecil
·
Compaction untuk memperoleh blok
memori berukuran besar pada ujung akhir memori harus lebih sering dilakukan
daripada First-fit
Contoh
penerapan algoritmanya :
Ukuran proses baru = 16 MB
Memori sisa:
Best-fit = 2 MB
First-fit = 6 MB
Next-fit = 20 MB
Kelebihan:
- Tidak terjadi fragmentasi internal
- Penggunaan memori lebih efisien
- Jumlah proses aktif lebih fleksibel (tidak tetap)
Kekurangan :
· Implementasinya
lebih susah
· Dapat terjadi fragmentasi eksternal
· Terjadi overhead penggunaan prosesor
0 Comments