MANAJEMEN MEMORI
- Manajemen memori adalah mengelola penggunaan memori pada saat komputer aktif dan menjalankan proses-proses.
- Fungsi manajemen memori:
- Mengelola informasi memori yang dipakai dan tidak terpakai
- Mengalokasikan memori ke proses yang memerlukan
- Mengatur memori dari proses telah selesai
- Mengelola swapping atau paging antara nenori utama dan disk
- Meningkatkan kinerja CPU terutama dalam kecepatan akses CPU terhadap data dan instruksi
- Meningkatkan efisiensi pemakaian memori yang terbatas
- Jenis-jenis memori:
- Register
- Memori Cache
- Memori utama: ROM, RAM
- Memori sekunder: hdd, floppy disk
- (semakin ke atas semakin cepat, kapasitas kecil, dan harga persatuan byte makin mahal.)
- Pengalamatan memori:
-
- Pengalamatan secara fisik (mutlak)
- Alamat yang ditulis pada kode instruksi program hasil kompilasi merupakan alamat fisik memori utama yang sesungguhnya atau nomornya mutlak/sama
- Tidak membutuhkan translasi alamat memori
- Pengalamatan secara Relative
- Digunakan pada sistem yang menggunakan alokasi memori berurut dimana image proses harus terletak pada satu area memori utuh
- Membutuhkan translasi alamat memori pada saat eksekusi
- Translasi alamat memori -> MMU (Memory Management Unit)
- Pengalamatan secara Logika
- Mmerlukan translasi alamat yang dilakukan saat eksekusi proses
- Kelebihan: relokasi program dapat dilakukan secara fleksibel, kapasitas lebih besar, image proses dapat dialokasikan secara parsial dan tersebar pada memori uatama
- Sistem di logika di bagi dua: paging dan segmentasi
- Pengalamatan secara fisik (mutlak)
- Swapping
- Swapping = pengalihan sementara suatu proses dari memori ke suatu tempat penyimpanan, lalu kembali lagi ke memori untuk melanjutkan proses tersebut.
- Pembagian berdasarkan keberadaan swapping:
- Manajemen tanpa swapping
- Manajemen dengan swapping
- Monoprogramming
- Monoprogramming = hanya ada satu proses pada satu waktu dan seluruh sumber daya sepenuhnya dikuasi proses yang sedang berjalan.
- Program dimuatkan seluruhnya ke memori dari disk/type
- Alokasi memori dilakukan secara berurutan
- Memori utama: SO di RAM, Program pemakai di RAM, Memori tidak dipakai
- Multiprogramming
- Multiprogramming = banyak proses pada satu waktu di memori utama.
- Partisi = metode yang digunakan untuk membagi hardisk pada komputer agar proses lebih efektif
- Partisi statis
- Pembagian berdasarkan ukuran:
- Partisi berukuran sama = ukuran semua partisi sama atau kurang, lalu dimasukkan ke sembarang partisi tersedia
- Kelemahan: ukuran partisi yang lebih besar tidak dapat dijalankan, maka harus mempersiapkan overlay (program dipecah menjadi beberapa bagian yang dapat dimuat ke memori) dan so yang mendukung swapping. Bila ukurannya lebih kecil, maka akan ada ruang yang tidak dipakai sehingga menyebabkan pemborosan memori (fragmentasi internal)
- Solusi: membuat partisi tetap dengan ukuran yang berbeda
- Partisi berukuran berbeda = ukuran semua partisi berbeda
- Partisi berukuran sama = ukuran semua partisi sama atau kurang, lalu dimasukkan ke sembarang partisi tersedia
- Pembagian berdasarkan ukuran:
-
- Fragmentasi = pemborosan memori yang terjadi pada setiap organisasi penyimpanan
- Internal = proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses
- Eksternal = partisi tidak dapat digunakan karena ukuran partisi lebih kecil dibandingkan ukuran proses yang menunggu.
- Fragmentasi = pemborosan memori yang terjadi pada setiap organisasi penyimpanan
- Partisi Dinamis
- Jumlah, lokasi, dan ukuran proses di memori dapat beragam sepanjang waktu, proses yang akan masuk ke memori akan sesuai dengan prosesny
- Strategi alokasi memori:
- Algoritma First to First
- Dimulai dari awal dan akan berhenti jika ditemukan lokasi pertama yang cukup besar untuk ditempati proses
- Partisi kosong: 4kb, 3kb, 2kb, 6kb
- Data ukuran 3kb datang, maka akan menempati partisi ukurun 4k
- Algoritma Next-fit
- Tidak dimulai dari awal, tetapi dimulai dari lokasi terakhir kali menemukan segmen yang cocok, akan berhenti jika ditemukan lokasi pertama yang cukup besar sesuain proses
- Partisi kosong: 4kb, 3kb, 2kb, 6kb
- Data ukuran 3kb datang, maka akan menempati partisi ukurun 3kb
- Algoritma Wort Fit
- Dimulai dari awal dan berhenti di lokasi yang paling besar yang sesuai proses
- Partisi kosong: 4kb, 3kb, 2kb, 6kb
- Data ukuran 3kb datang, maka akan menempati partisi ukurun 6kb
- Algoritma Best-fit
- Dimulai dari awal dan berhenti di lokasi terkecil pertama sesuai proses
- Partisi kosong: 4kb, 3kb, 2kb, 6kb
- Data ukuran 3kb datang, maka akan menempati partisi ukurun 3kb
- Algoritma First to First