0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan27 halaman

Manajemen Memori Dinamis dan Strategi Alokasi

Diunggah oleh

aditjansa2226240064
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan27 halaman

Manajemen Memori Dinamis dan Strategi Alokasi

Diunggah oleh

aditjansa2226240064
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Memory 2

Topik
Manajemen Memori :
1. Manajemen memori pemartisian dinamis
2. Perbedaan partisi statis dan dinamis
3. Strategi alokasi memori partisi dinamis
Multiprogramming dengan pemartisian Dinamis
Pemartisian statis tidak menarik karena memori terlalu banyak diboroskan proses-proses lebih kecil
dibandingkan dengan partisi yg ditempatinya. Dengan pemartisian dinamis maka jumlah, lokasi dan ukuran
proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yg akan masuk ke memori segera
dibuatkan partisi untuknya sesuai kebutuhan. Teknik ini meningkatkan utilitas memori

Kelemahan pemartisian dinamis adalah :

1. Dapat terjadi lubang-lubang kecil memori diantara partisi-partisi yg dipakai .

2. Merumitkan alokasi dan dealokasi


Contoh Terjadinya Lubang-lubang Kecil Memori

Memori untuk
Sistem Operasi Memori untuk
Sistem Operasi
Proses 1 berakhir
dan
Proses 0 membebaskan
memorinya Proses 0

Proses 1
Proses 2
Proses 2
Proses 3
Proses 3
Proses 4

Proses 4 Proses 5
Proses 6
Proses 5
Proses 6
Proses 3 berakhir dan
Proses 5berakhir dan
membebaskan
membebaskan memorinya
memorinya

Proses 0
Memori untuk
Sistem Memori untuk
Operasi Sistem Operasi
bebas

Proses 2 Proses 0

bebas
bebas
Proses 4
Proses 2
bebas
Proses 5 bebas
Proses 6 Proses 4

Proses 6
Lubang-lubang kecil (berwarna putih) diantara blok-blok memori yg digunakan
dapat diatasi dengan pemadatan memori (memori completion). Pemadatan
memori adalah operasi menggabungkan semua lubang kecil menjadi satu lubang
besar dengan memindahkan semua proses agar saling berdekatan.
Lubang-lubang memori dan pemadatan memori

Memori untuk Memori untuk


Sistem Operasi Sistem Operasi

Proses 0 Proses 0

Proses 2
bebas

Proses 4
Proses 2
bebas
Proses 6

Proses 4

bebas
bebas

Proses 6
Kelemahan utama teknik pemadatan memori

1. Memerlukan waktu yang sangat banyak


2. Sistem harus menghentikan sementara semua proses selagi melakukan
pemadatan. Hal ini meningkatan waktu tanggapan di sistem interaktif dan
tidak mungkin digunakan di sistem waktu nyata.
Proses Tumbuh dan Berkembang
1. Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang,
segmen data proses dapat tumbuh, misalnya karena :
2. Heap u/ data dinamis
3. Stack u/ pemanggilan prosedur dan variabel lokal
4. Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tidak dipakai,
proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses
bersebelahan dengan proses-proses lain.
1. Peringkat alternatif penyelesaian adalah :
2. Bila masih terdapat lubang besar yg dapat memuat proses, maka proses dipindah ke lubang memori yg
cukup dapat memuat.
3. Satu proses atau lebih di-swap ke disk agar memberi lubang cukup besar u/ proses yg berkembang.
4. Jika proses tidak dapat tumbuh di memori dan daerah swap di disk telah penuh, proses harus menunggu
atau disingkirkan.

10
Pencatatan Pemakaian Memori
1. Memori yg tersedia harus dikelola, dilakukan dengan pencatatan pemakaian memori.
Terdapat 3 cara utama pencatatan pemakaian memori, yaitu :
2. Pencatatan memakai peta bit (bit map)
3. Pencatatan memakai senarai berkait
4. Pencatatan memakai sistem buddy
Pencatatan Memakai Peta Bit
Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit
alokasi adalah satu bit pada peta bit (bit map).
1. Nilai 0 pada peta bit berarti unit itu masih bebas
2. Nilai 1 berarti unit digunakan.
Peta Bit untuk Pengelolaan Pemakaian Memori

A B
6
1 1 1 1 1 0 0 1
1 1 1 1 0 0 1 1
0 0 1 1 1 0
Masalah
1. Masalah pada peta bit adalah penetapan mengenai ukuran unit lokasi memori, yaitu :
2. Unit alokasi memori berukuran kecil berarti membesarkan ukuran peta bit
3. Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori banyak disiakan pada unit terakhir
masing-masing proses jika ukuran proses bukan kelipatan unit alokasi
4. Keunggulan
Dealokasi dapat dilakukan secara mudah, hanya tinggal meng-set bit yang berkorespondensi dengan unit yg
telah tidak digunakan dengan 0.

5. Kelemahan
1. Harus dilakukan penghitungan blok lubang memori saat unit memori bebas
2. Memerlukan ukuran peta bit besar untuk memori yang besar
Pencatatan Memakai Senarai Berkait
Pencatatan Memakai Senarai Berkait
Keunggulan : Kelemahan :
1. Tidak ada penghitungan blok lubang 1. Dealokasi sulit dilakukan karena terjadi
memori karena sudah tercatat di beberapa operasi penggabungan
simpul. simpul-simpul di senarai
2. Memori yg diperlukan relatif lebih
kecil
STRATEGI ALOKASI MEMORI
Alokasi harus mencari sekumpulan blok memori yg ukurannya mencukupi untuk memuat proses yaitu lubang kosong yang
sama atau lebih besar dibanding ukuran memori yg diperlukan proses
First-fit-algorithm
Manajer memori menelusuri peta bit atau senarai berkait sampai menemukan lubang besar yg memadai u/ ditempati proses.
Lubang dibagi dua, untuk proses dan lubang yg tidak digunakan kecuali ketika besar lubang itu tepat sama dengan ukuran yg
diperlukan proses
Next-fit-algorithm
Algoritma ini sama dengan algoritma First-fit-algorithm, hanya penelusuran tidak dimulai dari awal tapi dimulai dari posisi
terakhir kali menemukan segmen u/ proses.
Best-fit-algorithm
Algoritma ini mencari sampai akhir dan mengambil lubang terkecil yg dapat
memuat proses. Algoritma tsb menemukan lubang yg mendekati ukuran yg
diperlukan
Worst-fit-algorithm
Algoritmanya selalu mencari lubang besar yg tersedia sehingga lubang dapat
dipecah menjadi cukup besar agar berguna untuk proses-proses berikutnya
Quick-fit-algorithm
Algoritma ini menggunakan pencatatan memori dengan senarai berkait dengan
cara mempercepat keempat algoritma diatas dengan mengelola 2 senarai, yaitu :
senarai u/ proses dan senarai u/ lubang memori
18
Sistem Buddy
Sistem buddy merupakan algoritma pengelolaan alokasi memori dimana pengalokasian
memori untuk suatu proses dilakukan dengan memecah satu blok memori bebas menjadi dua
bagian yang sama besar. Pemecahan dilakukan secara rekursif sehingga didapat blok yang
besarnya sesuai kebutuhan.
Ilustrasi alokasi memori dengan sistem buddy
Mekanisme alokasi memori dengan sistem Buddy
• Pada awalnya terdapat satu blok memori bebas berukuran 1 MB
• Proses A dengan ukuran 80 KB memasuki memori tersebut.
• Karena tidak tersedia blok berukuran 80 KB, maka blok 1MB dipecah menjadi 2 blok 512 KB. Blok-
blok pecahan ini disebut buddies. Blok pertama beralamat mulai dari 0 dan blok lainnya mulai
alamat 512. Kemudian Blok 512 KB pertama dipecah lagi menjadi dua blok buddies 256 KB. Blok
256 KB pertama dipecah lagi menjadi dua blok buddies 128 KB. Jika blok 128 dipecah lagi menjadi
2 blok buddies 64 KB, maka blok tersebut tidak bisa memenuhi request proses tersebut yang
besarnya 80 KB. Oleh karena itu blok yang dialokasikan untuk proses 80 KB tersebut adalah blok
pertama yang berukuran sebesar 128 KB.
• Proses B dengan ukuran 210 KB memasuki memori tersebut. Karena blok pertama sudah
dialokasikan untuk proses A, maka dicarilah blok berikutnya yang masih dalam keadaan bebas.
Namun karena blok selanjutnya hanya berukuran 128 KB, maka proses tersebut dialokasikan ke
blok berikutnya yang berukuran 256 KB.
• Proses C dengan ukuran 55 KB memasuki memori tersebut. Sama seperti sebelumnya, karena
blok pertama sudah dialokasikan, maka dicarilah blok berikutnya yang masih dalam keadaan
bebas. Karena blok kedua belum dialokasikan dan masih berukuran 128 KB, maka blok
tersebut dipecah lagi menjadi dua blok buddies berukuran 64 KB. Proses C dialokasikan pada
blok 64 KB pertama.
• Kemudian, proses A dibebaskan.
• Proses D dengan ukuran sebesar 45 KB datang memasuki memori. Karena blok pertama sudah
bebas, maka blok pertama dapat dialokasikan. Blok tersebut dipecah lagi menjadi dua blok
buddies berukuran 64 KB. Proses D dengan ukuran 45 KB mendapat alokasi memori sebesar 64
KB.
• Proses C dibebaskan. Dengan sistem buddy, kernel akan melakukan penggabungan dari
pasangan blok buddy yang bebas dengan ukuran k ke dalam blok tunggal dengan ukuran 2k.
Maka ketika proses C dibebaskan, blok tersebut akan digabung dengan blok bebas di
sebelahnya menjadi blok tunggal bebas sebesar 128 KB. Sama juga halnya ketika proses D dan
B di-release. Nanda Prasetia, ST 22
Contoh skema alokasi memori dengan sistem buddy
Sistem Buddy
Keunggulan : Kelemahan :
Sistem buddy mempunyai keunggulan Utilisasi memori pada sistem buddy sangat tidak
dibandingkan dengan algoritma-algoritma yg efisien. Masalah ini muncul dari kenyataan semua
mengurutkan blok-blok berdasar ukuran. Ketika permintaan dibulatkan ke terdekat yg dapat
blok berukurandibebaskan, maka manajer memuat. Proses berukuran 35 Kilobyte harus
memori hanya mencari pada senarai lubanguntuk dialokasikan di 64 Kilobyte, terdapat 29 Kilobyte
memeriksa apakah dapat dilakukan yg disia-siakan.
penggabungan. Pada algoritma-algoritma lain yg
memungkinkan blok-blok memori dipecah dalam Overhead ini disebut fragmentasi internal karena
sembarang ukuran, seluruh senarai harus dicari. memori yg disia-siakan a/ internal terhadap
segmen-segmen yg dialokasikan.

Alokasi dan dealokasi pada sistem buddy dpt


dilakukan dengan cepat
Alokasi Ruang Swap pada Disk
Strategi dan algoritma yg dibahas adalah u/ mencatat memori utama. Ketika
proses akan dimasukkan ke memori utama (swap in), sistem dapat menemukan
ruang u/ proses-proses itu.
Terdapat dua strategi utama penempatan proses yg dikeluarkan dari memori
utama (swap out) ke disk, yaitu :
1. Ruang disk tempat swap dialokasikan begitu diperlukan
2. Ruang disk tempat swap dialokasikan lebih dahulu
DUA STRATEGI UTAMA PENEMPATAN PROSES
YG DIKELUARKAN DARI MEMORI UTAMA
• Ruang Disk Tempat Swap Dialokasikan Begitu Diperlukan
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera
dialokasikan sesuai ukuran proses . Untuk itu, diperlukan algoritma u/
mengelola ruang disk seperti u/ mengelola memori utama. Ketika proses
dimasukkan kembali ke memori utama, sgera ruang disk u/ swap
didealokasikan
• Ruang Disk Tempat Swap Dialokasikan Lebih Dahulu
Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses
harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang
yg telah dialokasikan , bukan ke tempat –tempat berbeda setiap kali terjadi
swap out. Ketika proses berakhir, ruang swap pada disk didealokasikan.

Anda mungkin juga menyukai