Anda di halaman 1dari 21

Memory Management

Latar Belakang
Untuk dpt dieksekusi, program harus
dibawa ke memori dan menjadi suatu
proses
Tugas sistem operasi:
mengatur peletakan banyak proses pada suatu
memori
Meminimalkan waktu akses memori utama
Bagaimana urutan alamat memori yang
dibuat oleh proses ?
Binding Instruksi & Data ke Memori
 Binding alamat instruksi dan data ke alamat
memori dapat terjadi dalam 3 tahap yg berbeda:
Compile time: jika lokasi memori tlh diketahui
sebelumnya, kode absolut dpt dibangkitkan; kompilasi
ulang kode jika lokasi awal berubah
Load time: harus membangkitkan kode relocatable jika
lokasi memori tidak diketahui pada saat kompilasi
Execution time: Binding ditunda hingga run time jika
proses dapat dipindahkan dari satu segmen memori ke
segmen lainnya selama eksekusi berlangsung; butuh
dukungan H/W utk pemetaan alamat
Binding Instruksi & Data ke Memori
Dynamic Loading
Rutin tdk di-load hingga dipanggil
Rutin yang tidak digunakan tidak di-load
 penggunaan ruang memori lebih baik
Bermanfaat jika banyak kode yang
diperlukan untuk menangani kasus yg
jarang terjadi
Tidak ada dukungan khusus dari OS yg
diperlukan; diimplementasikan melalui
rancangan program
Overlays
Diperlukan jika ukuran proses lebih besar
dari memori yg dialokasikan untuknya
Idenya untuk menjaga agar di dalam
memori berisi hanya instruksi dan data
yang dibutuhkan dalam satuan waktu.
Diimplementasikan oleh user, tidak ada
dukungan khusus dari OS
Rutinnya dimasukkan ke memori secara
bergantian
Overlays
Ruang Alamat Logika vs Fisik
Alamat Logika  alamat yang dibentuk di
CPU, disebut juga alamat virtual.
Alamat fisik  alamat yang telihat
(diketahui) oleh memori
CompileTime dan Load Time
menghasilkan daerah dimana alamat
logika dan alamat fisik sama
Execution Time menghasilkan alamat fisik
dan logika yang berbeda
Ruang Alamat Logika vs Fisik
Kumpulan alamat logika yang dibuat oleh
program adalah ruang alamat logika
Kumpulan alamat fisik yang
berkorespondensi dengan alamat logika
disebut ruang alamat fisik
Untuk mengubah dari alamat logika ke
alamat fisik diperlukan suatu perangkat
keras yang bernama Memory
Management Unit (MMU)
Memory Management Unit
Memory Management Unit
MMU: perangkat hardware yg memetakan
alamat virtual ke alamat fisik
Pada MMU, nilai di register relokasi
ditambahkan ke setiap alamat yg
dibangkitkan oleh proses user pd saat
dikirim ke memori
Program user hanya berurusan dgn
alamat logika, tidak pernah dgn alamat
fisik yg sebenarnya
Swapping
 Proses bisa di-swap sementara dari memori ke backing store,
dan nantinya dibawa kembali untuk meneruskan eksekusi
 Backing store – fast disk yg cukup besar utk mengakomodasi
salinan semua image memori utk semua user; harus
menyediakan akses langsung ke memori image ini
 Roll out, roll in – varian swapping yg digunakan utk algoritma
penjadwalan berbasis prioritas; proses dgn prioritas lebih
rendah di-swap out sehingga proses prioritas lebih tinggi dpt
di-load dan dieksekusi
 Kebanyakan waktu swap terpakai utk melakukan transfer;
waktu transfer total terkait langsung dgn banyaknya memori
yg di-swap
 Versi modifikasi dari swapping digunakan pd berbagai sistem,
seperti UNIX dan Microsoft Windows
Swapping
Alokasi Memori Berkesinambungan
 Alokasi memori berkesinambungan berarti
alamat memori diberikan kepada proses
secara berurutan dari kecil ke besar.
 Keuntungan :
 Sederhana
 Cepat
 Mendukung proteksi memori
 Kerugian :
apabila tidak semua proses dialokasikan di
waktu yang sama, akan menjadi sangat tidak
efektif sehingga mempercepat habisnya
memori.
Alokasi Memori Berkesinambungan
 Alokasi memori berkesinambungan dapat
dilakukan pada sistem partisi banyak maupun
sistem partisi tunggal
 Sistem partisi tunggal  alamat memori yang
akan dialokasikan untuk proses adalah alamat
memori pertama setelah pengalokasian
sebelumnya
 Sistem partisi banyak  sistem operasi
menyimpan informasi tentang semua bagian
memori yang tersedia untuk dapat diisi oleh
proses-proses (disebut lubang)
Sistem Partisi Banyak

Sistem partisi banyak kemudian dibagi dua:


sistem partisi banyak tetap
memori dipartisi menjadi blok-blok yang
ukurannya tetap yang ditentukan dari awal
sistem partisi banyak dinamis
memori dipartisi menjadi bagian-bagian dengan
jumlah dan besar yang tidak tentu
Permasalahan Alokasi Penyimpanan
Dinamis
? bagaimana memenuhi permintaan sebesar n dari
kumpulan lubang-lubang yang tersedia
Solusi :
 First fit: Mengalokasikan lubang pertama ditemukan
yang besarnya mencukupi. Pencarian dimulai dari
awal.
 Best fit: Mengalokasikan lubang dengan besar
minimum yang mencukupi permintaan.
 Next fit: Mengalokasikan lubang pertama ditemukan
yang besarnya mencukupi. Pencarian dimulai dari
akhir pencarian sebelumnya.
 Worst fit: Mengalokasikan lubang terbesar yang ada.
Permasalahan Alokasi Penyimpanan
Dinamis
Permasalahan Alokasi Penyimpanan
Dinamis
Keuntungan dan Kerugian :
Menggunakan best fit dan worst fit berarti
harus selalu memulai pencarian lubang
dari awal, kecuali apabila lubang sudah
disusun berdasarkan ukuran.
Metode worst fit akan menghasilkan sisa
lubang yang terbesar, sementara metoda
best fit akan menghasilkan sisa lubang
yang terkecil.
Alokasi Memori dan Fragmentasi
 Fragmentasi adalah munculnya lubang-lubang
yang tidak cukup besar untuk menampung
permintaan dari proses
 Fragmentasi eksternal – total ruang memori
tersedia utk memenuhi suatu permintaan,
namun letaknya tidak berkesinambungan atau
terpecah menjadi beberapa bagian kecil
sehingga proses tidak dapat masuk
 Fragmentasi internal – memori yg dialokasikan
sedikit lebih besar dari memori yg diminta;
kelebihan bersifat internal, namun tidak
digunakan
Alokasi Memori dan Fragmentasi
 Fragmentasi ekstern dapat diatasi dengan
beberapa cara :
Pemadatan, yaitu mengatur kembali isi memori agar
memori yang kosong diletakkan bersama di suatu
bagian yang besar, sehingga proses dapat masuk ke
ruang memori kosong tersebut.
Penghalamanan.
Segmentasi.
 Fragmentasi intern hampir tidak dapat
dihindarkan apabila menggunakan sistem partisi
banyak berukuran tetap, mengingat besar hole
yang disediakan selalu tetap.

Anda mungkin juga menyukai