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 sebagai 
fasilitas masukan/keluaran secara efisien, sehingga memori dapat 
menampung sebanyak mungkin proses dan sebagai upaya agar 
pemrogram atau proses tidak dibatasi kapasitas memori fisik di dalam 
computer. 
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 dari 
memori maya, ada kalanya sebuah proses dihadapkan untuk saling 
berbagi 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.
Proses Swapping

Manajemen Memory

  • 2.
    Memori merupakan sumberdaya 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.
  • 3.
    Manajemen memori sangatpenting untuk memproses dan sebagai fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di dalam computer. 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.
  • 4.
    Manajemen memori dibedakanmenjadi 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.
  • 5.
    Beberapa bagian dalamManajemen 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
  • 6.
    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
  • 7.
    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.
  • 8.
    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.
  • 9.
    C. Overlay TeknikOverlay 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.
  • 10.
    2. Strategi ManajemenMemori 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
  • 11.
    • Proteksi Setiapproses 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.
  • 12.
    • Fair PhysicalMemory 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 dari memori maya, ada kalanya sebuah proses dihadapkan untuk saling berbagi penggunaan memori.
  • 13.
    3. Ruang AlamatLogika 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.
  • 15.
    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.
  • 16.
    Gambar diatas merupakanskema 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.
  • 17.
    4. Swapping Sebuahproses 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.
  • 18.