Anda di halaman 1dari 22

Manajemen Memori

Sy.yuliani

http://sy-yuliani.com/ 1
Resume / Pendahuluan

Apa yang dimaksud dengan


compaction?
Apa yang dimaksud dengan
swapping?
Apa yang dimaksud dengan overlay?
Mengapa memori harus diatur/
dikelola?

http://sy-yuliani.com/ 2
Mengapa Manajemen Memori
harus dilakukan
banyak proses yang membutuhkan
resource memori,
untuk menjamin agar setiap proses yang
ready dapat segera memanfaatkan
prosessor time

http://sy-yuliani.com/ 3
5 Requirement
Manajemen Memori
Relocation
Protection
Sharing
Logical organization
Physical organization

http://sy-yuliani.com/ 4
Relokasi

Pada saat program dieksekusi,


dimungkinkan program akan di-swap ke
disk dan kemudian diambil lagi dari disk
untuk ditaruh di memori dengan lokasi
yang berbeda dengan lokasi sebelumnya
(terjadi relocation)

http://sy-yuliani.com/ 5
Proteksi

Mengapa Proteksi diperlukan? Karena


suatu proses tidak diperbolehkan
mengakses lokasi memori proses
yang lain tanpa ijin. Penanganan
proteksi memori diserahkan kepada
prosesor (secara hardware), bukan
bagian sistem operasi (software).

http://sy-yuliani.com/ 6
Sharing

Pada suatu sistem, suatu lokasi


memori harus dapat diakses oleh
lebih dari satu proses (secara legal)
Beberapa proses yang memerlukan
data yang sama, maka tidak perlu
setiap proses meng-copy data dari
disk ke memori, cukup sebuah copy
saja

http://sy-yuliani.com/ 7
Logical Organization

Main memory dikelompokkan secara


linier atau berdimensi satu yang
berupa ruang alamat yang terdiri
dari deretan byte atau word karena
sebagian besar program dibuat
dalam bentuk modul yang tidak linier
penempatannya di dalam memori
sehingga diperlukan pengaturan
secara lojik.
http://sy-yuliani.com/ 8
Physical Organization

Dikarenakan memory dikelompokkan menjadi


memori utama dan memori sekunder maka
diperlukan metode yang mengatur aliran data dari
memori utama ke memori sekunder dan
sebaliknya
Pengaturan tersebut dilakukan oleh sistem operasi,
bukan programmer, karena:
Programmer tidak tahu berapa ruang memori yang
tersedia pada saat program dijalankan
Bila ruang memori yang tersedia tidak cukup untuk
menampung program dan data maka sistem dapat
melakukan overlay
http://sy-yuliani.com/ 9
Partisi Memori

Partisi memori tetap, yang dibagi lagi


menjadi 2 kondisi :
Partisi berukuran sama
Ukuran partisi berbeda-beda
Partisi Memori Dinamis

http://sy-yuliani.com/ 10
Partisi Memori Tetap

Partisi memori tetap dan ukuran berbeda-beda


http://sy-yuliani.com/ 11
Partisi Memori tetap

Kelebihan:
+ Mudah diimplementasikan
+ Overhead sistem operasi hanya sedikit
Kekurangan:
Tidak efisien dalam penggunaan memori akibat
terjadi fragmentasi internal
Fragmentasi internal: sisa ruang memori yang
terjadi jika ukuran proses lebih kecil daripada partisi
yang digunakan
Jumlah maksimum proses yang aktif adalah
tetap dan terbatas (bergantung jumlah partisi)

http://sy-yuliani.com/ 12
Partisi Memori Dinamis

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
Dapat terjadi fragmentasi eksternal
Fragmentasi eksternal: 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

http://sy-yuliani.com/ 13
Partisi Memori Dinamis
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
http://sy-yuliani.com/ 14
Algoritma Placement

Mengapa dibutuhkan?
Algoritma yang digunakan :
Algoritma Best Fit
Algoritma Next Fit
Algoritma First Fit

http://sy-yuliani.com/ 15
Algoritma Placement
Algoritma Best-fit:
Memilih blok memori yang paling sedikit
menyisakan ruang memori
Algoritma First-fit:
Pencarian blok memori kosong dimulai dari awal
Blok memori yang dipilih adalah blok memori yang
pertama kali ditemukan dan ukurannya sesuai
Pencarian akan melewati sejumlah proses yang terletak
pada bagian ujung awal memori sebelum menemukan blok
memori yang bebas
Algoritma Next-fit:
Pencarian blok memori kosong dimulai dari lokasi
placement terakhir

http://sy-yuliani.com/ 16
Algoritma Placement

Jika Diketahui suatu


memori berukuran
seperti di bawah ini,
dan sudah digunakan
seperti yang sudah
dideskripsikan seperti
gambar di bawah ini,
kemudian akan
dimasukkan suatu
proses baru, dimana
ukuran proses baru =
16 MB. Dimanakah
penempatannya? dan
berapakah memori
sisanya?
http://sy-yuliani.com/ 17
Buddy System

http://sy-yuliani.com/ 18
Memory words available 2^k
Request of size (s) where 2^(U-1) < s <= 2^U
where
L<= K <= U
2^L is smallest block allocated
2^u largest size block is allocated; 2U is size of
entire memory
Block split into equal buddies of size 2^(U-1)
Block is split half again until smallest block
greater or equal to s is generated.

http://sy-yuliani.com/ 19
Pohon biner

Jadi bagaimanakah cara kerja algoritma buddy sistem?

http://sy-yuliani.com/ 20
Partisi Memori Dinamis
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:
Untuk compaction
Untuk menjalankan algoritma

http://sy-yuliani.com/ 21
Pustaka
Stallings, William. 2009. Operating
System: Internal and Design
Principles. 6th edition. Prentice Hall
WEB
ftp://ftp.prenhall.com/pub/esm/computer science.s41/
stallings/slides/OS5e-PPT-Slides/

http://sy-yuliani.com/ 22