Multiple Partition





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. 
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.



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







Post a Comment

0 Comments