Anda di halaman 1dari 25

Manajemen Memori

Nama Kelompok
I Made Reza Kharisma Putra (190010007)
I Putu Andi Setyawan Putra (190010062)
Made Agus Fajar Prasetya Putra (190010073)
I Noman Krisna Aditya (190010132)
I Kadek Gede Purnawijaya (190010139)
Apa itu Managemen
Memori ??
Manajemen Memori
Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat
penyimpanan informasi yang harus diatur dan dijaga sebaik – baiknya. Memori adalah array besar
dari word atau byte, yang disebut alamat.

Manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini
menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan
untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi
proses.

Pengelolaan memori utama sangat penting untuk sistem komputer, penting untuk memproses
dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak
mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori
fisik di sistem komputer.
Fungsi Managemen
Memori
1. Utilitas CPU meningkat.
2. Data dan instruksi dapat diakses dengan cepat oleh CPU.
3. Tercapai efisiensi dalam pemakaian memori yang terbatas.
4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
5. Mengelola informasi yang dipakai dan tidak dipakai.
Syarat Pengelolaan
Memori
Relokasi
Mengkonversi alamat logika program ke alamat fisik memori.
Protection
Diperlukan untuk menjamin operasi – operasinya sesuai dengan tepat.
Sharing
Memori dipakai bersama – sama.
Organisasi logika
OS & hw berhubungan dengan user program dalam 1 modul.
Organisasi Fisik
Ada pengaturan yang jelas antara memori utama dan memori skunder pada long term
scheduling.
Konsep Dasar
Konsep Binding
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 “mengikat” alamat simbolik ke
alamat relokasi.
Address Binding dapat berlangsung dalam 3 tahap yang berbeda, yaitu :

• Compile Time
• Loading Time
• Execution Time
Compile Time
Apabila dimungkinkan letak / alamat fisik memori diketahui sebelum diekseskusi agar langsung
dapat ditulis pada source code.
Loading Time
 Dilakukan pada saat loading program ke memori utama.
 Hasil kompilasi disimpan dalam file yang berisi alamat fisik.
 Jika terjadi perubahan relokasi maka code di-load ulang.
Execution Time
 Membutuhkan perangkat keras seperti MMU (Memory Management Unit).
 MMU bertanggung jawab membantu proses perhitungan transasi alamat logika ke alamat
fisik pada saat eksekusi.
 Dimungkinkan suatu proses berpindah alamat sewaktu dieksekusi.
Cara Sistem Operasi Menempatkan Program Didalam
Memori :
Kompilasi dan Linking menerjemahkan semua simbol data berdasarkan alamat acuan absolut.

Proses relokasi (proses mapping program dari lokasi memori) terjadi apabila :
a. Jika program berada di memori, maka semua alamat lojik dalam program harus dikonversi
ke alamat fisik.
b. Statis : relokasi alamat dilakukan sebelum program dijalankan
c. Dinamis : relokasi alamat dilakukan pada saat referensi setiap instruksi atau data
Dynamic Loading
Dengan dynamic loading, suatu routine tidak diload sampai dipanggil. Semua routine disimpan
pada disk sebagai format relocatable load.
Mekanisme Dasar :
 Program utama di-load dan dieksekusi.
 Pada saat suatu routine butuh memanggil routine yang lain, maka pertama routine pemanggil

mengecek apakah rotine yang dibutuhkan sudah pernah diambil. Jika belum, maka routine
yang dipanggil tersebut akan diambil dan dialokasikan di memori utama
Keuntungan Dynamic Loading :
 Rutin yang tidak digunakan tak akan pernah di-load ke memori.
 Untuk menghindari pemakaian rutin yang salah dalam program dengan jumlah kode yang
besar.
 Tidak memerlukan bantuan sistem operasi. Metode ini menjadi tanggung jawab
user/programmer. SO hanya menyediakan routine library
Dynamic Linking
Konsep dynamic linking sama dengan dynamic loading. Karena Pada saat loading, linking
ditunda hingga waktu eksekusi.

Program-program user tidak perlu menduplikasi system library


• System library dipakai bersama
• Mengurangi pemakaian space
Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana meload library
jika routine tidak tersedia saat itu) :
• Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah berada di dalam
memori(diakses oleh proses lain yang run), kalau belum ada maka rutin tersebut diload
•Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut
Overlay
Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses,
teknik overlay biasanya digunakan untuk kasus ini. Teknik Overlay biasanya digunakan untuk
memungkinkan sebuah proses mempunyai jumlah yang lebih besar dari memori fisik daripada
alokasi memori yang diperuntukkan.
Overlay tidak membutuhkan dukungan khusus dari sistem operasi. User dapat
mengimplementasikannya secara lengkap menggunakan struktur file sederhana, membaca dari
file ke memori dan meloncat ke memori dan mengeksekusi instruksi read yang lebih baru.
Ruang Alamat Logika
dan Fisik
Pengalamatan Secara Fisik
Pengalamatan memori secara fisik, alamat yang ditulis pada kode instruksi program hasil
kompilasi merupakan alamat fisik memory utama yang sesungguhnya.
Konsekuensinya adalah pada saat penyalinan image proses ke memori utama, maka kode
instruksi dan data program harus disalin pada posisi yang sesuai dengan referensi tersebut.
Pengalamatan Secara Logika
Pada pengalamatan secara logika, alamat yang ada pada kode program merupakan suatu alamat
logika yang masih perlu diterjemahkan atau ditranslasikan ke alamat fisik memori utama pada
saat eksekusi. Umumnya, translasi alamat untuk pengalamatannya secara logika terjadi pada
saat eksekusi.
Kelebihan pengalamatan ini adalah relokasi program dapat dilakukan secara fleksibel, bahkan
ruang atau kapasitas alamat logika program dapat lebih besar dari kapasitas fisik memori
utama. Misalnya program dapat menggunakan ruang alamat logika sebesar 2Giga, sedangkan
emori utama fisik di mana program tersebut dijalankan hanya memiliki kapasitas 256 Meg.
Swapping
Swapping adalah Suatu metode pengalihan proses yang bersifat sementara dari memori utama
ke suatu tempat penyimpanan sementara (disk) dan dipanggil kembali ke memori jika akan
melakukan eksekusi.
Penukaran dapat terjadi pada lingkungan dengan multiprogramming dengan penjadwalan CPU
Round Robin atau Priority.
Bila waktu kuantum habis atau proses yang datang mempunyai prioritas lebih tinggi, maka
memory manager akan mulai swap out proses yang telah selesai atau proses yang yang
prioritasnya lebih rendah dan swap in proses lainnya ke memori.
Thank you

Anda mungkin juga menyukai