Pencatatan Pemakaian memori

advertisement
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 1
Proses 2
Proses 0
Proses 1 berakhir
dan
membebaskan
memorinya
bebas
Proses 2
Proses 3
Proses 3
Proses 4
Proses 4
Memori untuk
Sistem Operasi
Memori untuk
Sistem Operasi

Contoh terjadinya lubang-lubang kecil
memori.
(c)
Proses 0
bebas
Proses 3
kemudian
berakhir dan
membebaskan
memorinya
(d)
Proses 0
Proses 2
Proses 2
Proses 4
bebas
Proses 4
Memori untuk
Sistem Operasi
bebas
Lubang memori
dipadatkan
sehingga
terbentuk lubang
memori besar
yang bebas
Memori untuk
Sistem Operasi
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
0
7
1
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
.
.
.
.
.
.
.
.
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
P
0
7
0
4
1
7
H 4
H 14 3
2
P 17 4
P 22 1
N
P
6
8
H 21 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 firstfit 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.
Download