Anda di halaman 1dari 28

Manajemen Memori

Pemartisan Dinamis
Edi Sugiarto, S.Kom
Pendahuluan
 Pada sistem batch, organisasi memori
dengan pemartisian statis telah efektif.
 Selama jumlah proses yang tersedia dapat
membuat pemroses sibuk, tidak ada alasan
untuk menggunakan teknik lebih rumit.
 Pada sistem timesharing situasi berbeda,
umumnya terdapat lebih banyak proses
dibanding memori yang tersedia.
Multiprogramming dengan
Swapping
 Swapping merupakan proses pemindahan
dari memori utama ke memori sekunder.
 Beragam masalah yang harus diatasi
multiprogramming dengan swapping
antaralain:
◦ Pemartisian secara dinamis
◦ Strategi pencatatan pemakaian memori
◦ Algoritma penempatan proses ke memori
◦ Strategi penempatan ruang swap di disk
Multiprogramming dengan
pemartisian dinamis
 Pemartisian statis tidak menarik karena
memori terlalu banyak diboroskan.
 Dengan pemartisian dinamis maka
jumlah, lokasi dan ukuran proses di
memori dapat beragam sepanjang waktu
secara dinamis.
 Proses yang akan masuk ke memori
segera dibuatkan partisi untuknya sesuai
kebutuhan.
 Namun pemartisian dinamis ini memiliki
kelemahan yaitu :
◦ Dapat terjadi lubang-lubang kecil memori
diantara partisi-partisi yang dipakai.
◦ Merumitkan alokasi dan dealokasi memori.
 Contoh terjadinya lubang-lubang kecil
memori.
(a) (b)

Proses 0 Proses 0
Proses 1 berakhir
Proses 1 bebas
dan
membebaskan
Proses 2 memorinya Proses 2

Proses 3 Proses 3

Proses 4 Proses 4

Memori untuk Memori untuk


Sistem Operasi Sistem Operasi
 Contoh terjadinya lubang-lubang kecil
memori.
Proses 3
(c) (d)
kemudian
berakhir dan
Proses 0 membebaskan Proses 0
bebas memorinya
Proses 2
Proses 2
Proses 4
bebas
bebas
Proses 4
Lubang memori
dipadatkan
Memori untuk sehingga Memori untuk
Sistem Operasi terbentuk lubang Sistem Operasi
memori besar
yang bebas
 pemadatan memori (memory compaction)
adalah operasi menggabungkan semua
lubang kecil menjadi satu lubang besar
dengan memindahkan semua proses agar
saling berdekatan.
 Kelemahan teknik pemadatan memori :
◦ Memerlukan waktu yang sangat banyak
◦ Sistem harus menghentikan sementara semua
proses selagi melakukan pemadatan. Sehingga
meningkatkan waktu tanggap di sistem
interaktif
Pencatatan Pemakaian memori
 Memori yang tersedia harus dikelola,
dilakukan dengan pencatatan pemakaian
memori.
 Terdapat tiga cara utama pencatatan
pemakaian memori yaitu :
◦ Pencatatan memakai peta bit (bitmap)
◦ Pencatatan memakai senarai berkait
◦ Pencatatan memakai sistem buddy
Pencatatan Menggunakan
peta bit (bitmap)
 Memori dibagi menjadi unit-unit alokasi,
berkorespondensi dengan tiap unit alokasi
adalah satu bit pada peta bit (bitmap).
◦ Nilai 0 pada peta bit berarti unit tsb masih
bebas
◦ Nilai 1 berarti unit tsb digunakan.
0 0 1 N
0 7 7

0 1 2 3 4 5 6 7
0 1 1 1 1 0 0 1 1

1 1 1 1 1 1 1 0 0

2 0 1 1 1 1 0 1 .

3 . . . . . . . .

4 . . . . . . . .

N . . . . . . . .
 Keunggulan
◦ Dealokasi dapat dilakukan secara mudah,
hanya tinggal menge-set bit yang
berkorespondensi dengan unit yang telah tidak
digunakan dengan 0
 Kelemahan
◦ Harus dilakukan penghitungan lubang memori
saat unit memori bebas
◦ Memerlukan ukuran peta bit besar untuk
memori yang besar.
Pencatatan Menggunakan Senarai
Berkait
 Sistem operasi mengelola senarai berkait
(link list) untuk blok-blok memori yang
dialokasikan dan bebas
 Blok memori menyatakan memori untuk
proses atau memori yang bebas (lubang)
0 0 1 N
0 7 7

P 0 4 H 4 2 P 6 8

H 14 3 P 17 4 H 21 1

P 22 1
 Keunggulan
◦ Tidak ada penghitungan blok lubang memori
karena sudah tercatat pada simpul
◦ Memori yang diperlukan relatif lebih kecil
 Kelemahan
◦ Dealokasi sulit dilakukan karena terjadi
beberapa operasi penggabungan simpul di
senarai.
Strategi Alokasi Memori
 Terdapat beragam strategi alokasi proses
ke memori antara lain :
◦ First-fit algorithm
◦ Next-fit algorithm
◦ Best-fit algorithm
◦ Worst-fit algorithm
◦ Quick-fit algorithm
First-fit algorithm
 Strategi ini dapat dilakukan pada
pencatatan dengan bitmap atau senarai
berkait
 Manajemen memori menelusuri bitmap
atau senarai berkait sampai menemukan
lubang besar yang memadai untuk
ditempatkanya proses.
 Keunggulan
◦ Algoritma ini akan mememukan lubang
memori paling cepat dibandingkan algoritma
lain.
Next-fit algorithm
 Strategi ini dapat dilakukan pada
pencatatan bit dengan bitmap atau senarai
berkait
 Mekanisme algoritma sama dengan first-
fit algorithm, hanya saja penelusuran tidak
dimulai dari awal tetapi dimulai dari
posisi terakhir kali menemukan segmen
untuk proses.
 Simulasi oleh bays(1977) menunjukkan
next-fit algorithm berkinerja buruk
dibanding first-fit algorithm.
Best-fit algorithm
 Strategi ini dapat dilakukan pada
pencatatan memori dengan bitmap atau
senarai berkait.
 Algoritma mencari sampai akhir dan
mengambil lubang terkecil yang dapat
memuat proses.
 Algoritma ini mencoba menemukan
lubang yang mendekati ukuran lubang
yang diperlukan.
 Kelemahan
◦ Best-fit algorithm sangat lambat dibanding
first-fit algorithm karena selalu menelusuri
seluruhnya setiap kali digunakan.
◦ Menghasilkan pemborosan memori lebih
banyak dibanding first-fit atau next-fit
algorithm karena first-fit dan next-fit selalu
mengisi lubang kecil yang tidak digunakan.
Worst-fit algorithm
 Dapat dilakukan pada pencatatan memori
dengan bitmap atau senarai berkait.
 Algoritma ini mencari lubang besar yang
tersedia, sehingga lubang dapat dipecah
menjadi cukup besar agar dapat digunakan
proses selanjutnya.
 Simulasi menunjukkan worst-fit bukan
gagasan yang bagus.
Quick-fit algorithm
 Strategi ini hanya untuk pencatatan
memori dengan senarai berkait.
 Keempat algoritma dapat dipercepat
dengan mengelola dua senarai yaitu ;
◦ Senarai untuk proses
◦ Senarai untuk lubang memori
 Keunggulan
◦ Teknik ini mempercepat pencarian lubang atau
penempatan proses.
 Kelemahan
◦ Kompleksitas dealokasi memori bertambah
dan melambatkan dealokasi memori karena
memori yang dibebaskan harus dipindah dari
senarai proses ke senarai lubang.
Sistem Buddy
 Adalah algoritma pengelolaan memori yang
memanfaatkan kelebihan penggunaan bilangan biner
untuk pengalamatan memori.
 Karakteristik bilangan biner digunakan untuk
mempercepat penggabungan lubang-lubang
berdekatan ketika proses berakhir / dikeluarkan.
 Manajemen memori mengelola senarai blok bebas
berukuran 1,2,4,5,16 byte dan seterusnya sampai
kapasitas memori.
Mekanisme pengelolaan
 Contoh :
◦ Awalnya semua proses bebas dan hanya satu
senarai 1 Mbyte (1024 KByte), senarai lain masih
kosong.
◦ Datang proses baru berukuran 85 Kilobyte, maka
mekanisme yang dijalankan sbb :
◦ Proses 85 Kilobyte harus dialokasikan ke ukuran
terdekat yakni 128 Kilobyte.
◦ Karena tidak tersedia blok berukuran 128 Kilobyte
atau 256 atau 512 Kilobyte, maka blok 1 Megabyte
dipecah menjadi dua blok 512 Kilobyte. Blok
pecahan disebut buddies.
◦ Salah satu blok 512 Kilobyte yang beralamat 0
dipecah menjadi dua blok buddies 256
Kilobyte. Satu beralamat mulai dari 0 dan
lainya mulai 256
◦ Blok 256 pada alamat 0 dipecah menjadi dua
blok buddies 128 Kilobyte.
◦ Blok yang pertama dialokasikan ke proses
baru.
 Keunggulan
◦ Alokasi dan dealokasi pada sistem buddy
dapat dilakukan dengan cepat.
 Kelemahan
◦ Utilisasi memori pada sistem buddy sangat
tidak efisien.
◦ Banyak terjadi fragmentasi internal.

Anda mungkin juga menyukai