manajemen memory
TRANSCRIPT
Memori merupakan sumber daya komputer yang di kelola oleh sistem
operasi. Pengelolaan memori berkaitan dengan ruang dan letak. Karena itu,
selain sebagai pengingat memori juga bertindak selaku penyimpan. Itu
sebabnya ada orang yg beranggapan bahwa memori sebagai penyimpan,
serta pengelola’an/manajemen memory sebagai pengelola’an penyimpan.
Manajemen memori sangat penting untuk memproses dan sebagaifasilitas masukan/keluaran secara efisien, sehingga memori dapatmenampung sebanyak mungkin proses dan sebagai upaya agarpemrogram atau proses tidak dibatasi kapasitas memori fisik di dalamcomputer.
Fungsi dari manajemen memori :1. Mengelola informasi memori yang dipakai dan tidak dipakai.2. Mengalokasikan memori ke proses yang memerlukan.3. Mendealokasikan memori dari proses yang telah selesai.4. Mengelola swapping antara memori utama dan disk.
Manajemen memori dibedakan menjadi 2, berdasarkan ada tidaknya
proses swap. Manajemen memori dengan swapping adalah
manajemen memori dengan pemindahan proses antara memori
utama dan disk selama eksekusi. Sementara Manajemen memori
tanpa swapping adalah manajemen memori tanpa pemindahan
proses antara memori utama dan disk selama eksekusi.
Beberapa bagian dalam Manajemen Memori :
1. Konsep Binding
A. Dynamic Loading
B. Dynamic Linking
C. Overlay
2. Strategi Manajemen Memori
3. Ruang Alamat Logika dan Fisik
4. Swapping dan Pengalokasian Berurutan
1. Konsep Binding
Sebelum eksekusi, program berada di dalam disk, dan saat dieksekusi
program tersebut perlu berada pada suatu lokasi dalam memori fisik.
Address Binding adalah cara instruksi dan data (yang berada di disk sebagai
file executable) dipetakan ke alamat memori. Alamat (Address) pada source
program umumnya merupakan alamat simbolik. Sebuah compiler biasanya
membutuhkan pengikat alamat simbolik ke alamat relokasi. Berikut
berbagai bagian dalam konsep binding :
A. Dynamic Loading
Untuk memperoloeh utilitas ruang memori dapat menggunakan
A. Dynamic Loading
Untuk memperoloeh utilitas ruang memori dapat menggunakan dynamic
loading. Dengan dynamic loading , sebuah rutin tidak disimpan di memori
sampai dipanggil. Semua rutin disimpan pada disk dalam format relocatable
load. Untuk mekanisme dasar dapat di uraikan sebagai berikut :
• Program utama diload lebih dulu lalu dieksekusi.
• Bila suatu routine perlu memanggil routine lain, maka routine yang
dipanggil lebih dulu diperiksa apakah routine yang dipanggil sudah
diload. Jika tidak, relocatable linking loader dipanggil untuk meload
routine yang diminta ke memori.
B. Dynamic Linking
Konsep Dynamic Linking sama dengan Dynamic Loading. Pada saat loading,
linking ditunda sampai waktu eksekusi. Terdapat kode kecil yang disebut
stub digunakan untuk meletakkan rutin library di memori dengan tepat.
Stub di isi dengan alamat rutin dan mengeksekusi rutin. Sistem operasi
perlu memeriksa apakah rutin berada di alamat memori. contoh file
dynamic linking: *.dll, *.sys, *.drv.
C. Overlay
Teknik Overlay biasanya digunakan untuk memungkinkan sebuah proses
mempunyai jumlah yang lebih besar dari memori fisik daripada alokasi
memori yang diperuntukkan. Ide dari overlay adalah menyimpan di memori
hanya instruksi dan data yang diperlukan pada satu waktu. Jika intruksi lain
diperlukan, maka instruksi tersebut diletakkan di ruang memori
menggantikan instruksi yang tidak digunakan lagi.
2. Strategi Manajemen Memori
Strategi yang dikenal untuk mengatasi hal tersebut adalah memori maya.
Memori maya menyebabkan sistem seolah-olah memiliki banyak memori
dibandingkan dengan keadaan memori fisik yang sebenarnya. Memori
maya tidak saja memberikan peningkatan komputasi, akan tetapi memori
maya juga memiliki beberapa keuntungan seperti :
• Large Address Space
Membuat Sistem Operasi seakan – akan memiliki jumlah memori
melebihi kapasitas memori fisik yang ada
• Proteksi
Setiap proses di dalam sistem memiliki virtual address space. Virtual
address space tiap proses berbeda dengan proses yang lainnya lagi,
sehingga apapun yang terjadi pada sebuah proses tidak akan
berpengaruh secara langsung pada proses lainnya.
• Memori Mapping
Digunakan untuk melakukan pemetaan image dan file – file data ke dalam
alamat proses.
• Fair Physical Memory Allocation
Digunakan oleh Manajemen Memori untuk membagi penggunaan memori
fisik secara “adil” ke setiap proses yang berjalan pada sistem.
• Shared Virtual Memory
Meskipun tiap proses menggunakan address space yang berbeda darimemori maya, ada kalanya sebuah proses dihadapkan untuk salingberbagi penggunaan memori.
3. Ruang Alamat Logika dan Ruang Alamat Fisik
Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address)
dimana alamat terlihat sebagai uni memory yang disebut alamat fisik
(physical address). Tujuan utama manajemen memori adalah konsep
meletakkan ruang alamat logika ke ruang alamat fisik.
Memory Manajement
Unit (MMU) adalah
perangkat keras yang
memetakan alamat
virtual ke alamat fisik.
Pada skema MMU, nilai
register relokasi
ditambahkan ke setiap
alamat yang
dibangkitkan oleh
proses user pada waktu
dikirim ke memori.
Gambar diatas merupakan skema yang membutuhkan dukungan perangkat
keras. Register basis disebut register relokasi. Nilai dari register relokasi
ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu
dikirim ke memori. sebagai contoh, apabila basis 14000, maka user mencoba
menempatkan ke alamat lokasi 0 dan secara dinamis direlokasi ke lokasi 14000.
Pengaksesan ke lokasi logika 346, maka akan dipetakan ke lokasi 14346. Sistem
operasi MS-DOS yang masih keluarga intel 80X86 menggunakan empat register
relokasi ketika proses loading dan running.
4. Swapping
Sebuah proses harus berada di memori untuk dieksekusi. Proses juga
dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian
dibawa kembali ke memori untuk melanjutkan eksekusi. Backing store berupa
disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari
semua memory image untuk semua user, sistem juga harus menyediakan akses
langsung ke memory image tersebut. Contohnya, sebuah lingkungan
multiprogramming dengan penjadwalan CPU menggunakan algoritma round-
robin.