Fungsi Manajemen Memori :
- Mengelola Informasi memori yang dipakai dan tidak dipakai
- Mengalokasikan memori ke proses yang memerlukan
- Mendealokasikan memori dari proses telah selesai
- Mengelola swapping antara memori utama dan disk
- Teknik-teknik manajemen memori (1), (2), (3) dan (4) :
–Merupakan pengelolaan dengan kapasitas memori sebatas memori fisik tersedia
–Tidak dapat digunakan untuk memuat program-program yang lebih besar daripada kapasitas fisik memori yang tersedia
- Teknik-teknik manajemen memori (5), (6) dan (7)
–Dapat digunakan untuk mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program yang lebih besar dari pada kapasitas memori tersedia
- Dengan chace memory, bagian program yang akan digunakan dicopy dulu ke chace sebelum dieksekusi
- Pada chace memory instruksi dapat dieksekusi dengan lebih cepat daripada di memori utama
Manajemen Memori Pemartisian Statis
- Menggunakan manajemen memori tanpa swapping
–Monoprogramming
–Multiprogramming dengan pemartisian statis
- Menggunakan manajemen memori dengan swapping
–Monoprogramming
- Merupakan manajemen memori paling sederhana
- Sistem komputer hanya mengizinkan satu program/pemakai berjalan pada satu waktu
- Semua sumber daya sepenuhnya dikuasai proses yang sedang berjalan
- Alokasi memori dilakukan berurutan
- Teknik ini digunakan sampai sekitar tahun 1960, lalu ditinggalkan karena setiap proses harus berisi device driver perangkat I/O yang digunakan
Tiga cara organisasi memori untuk monoprogramming
- Menunjukkan seluruh kebutuhan (SO, device driver dan proses pemakai) di RAM
- SO dan program pemakai di RAM yang sama
- Device driver dapat ditempatkan di SO atau di setiap proses pemakai, tergantung perancang SO
- Menunjukkan SO ditempatkan di ROM
- Program pemakai ditempatkan di RAM
- Menunjukkan device driverdi ROM
- Device driver di ROM sering disebut : ROM-BIOS (Read Only Memory Basic Input-Output Systems)
Proteksi pada monoprogramming
- Pemakai mempunyai kendali penuh terhadap seluruh memori utama
- Memori terbagi menjadi 3 bagian :
- Bagian yang berisi rutin-rutin SO
- Bagian yang berisi program pemakai
- Bagian yang tidak digunakan
- Masalah proteksi adalah :
- cara memproteksi rutin SO dari penghancuran program pemakai
- Program pemakai dapat tersesat sehingga memanipulasi (menempati ruang memori rutin SO), hal ini dapat merusak SO
Proteksi pada Monoprogramming sederhana
Cara Proteksi :
- menggunakan satu register batas (boundary register) di pemroses.
- setiap kali program pemakai mengacu alamat memori, maka dibandingkan dengan register batas untuk memastikan proses pemakai tidak merusak SO (tidak melewati register batas)
- register batas berisi : alamat memori tertinggi yang dipakai SO
- Multiprogramming dengan pemartisian statis
Alasan penggunaan multiprogramming :
–Mempermudah pemrogram
program dapat dipecah menjadi beberapa proses
–Agar dapat memberikan layanan interaktif ke beberapa orang secara simultan
Lebih dari satu proses harus bisa ditempatkan semuanya di memori agar diperoleh kinerja yang baik
–Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil
–Dapat mengerjakan sejumlah job secara simultan
- Pemartisian statis : memori dibagi menjadi sejumlah partisi tetap
- Partisi statis berdasarkan ukuran partisi-partisinya terbagi 2 :
–Partisi berukuran sama
- ukuran semua partisi memori adalah sama
- beberapa proses yang ukurannya lebih kecil atau sama dengan ukuran partisi akan dimasukkan ke sembarang partisi yang tersedia
–Partisi berukuran berbeda
- Strategi penempatan program ke partisi :
–Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi)
–Satu antrian tunggal untuk seluruh partisi
- Relokasi
- Proteksi
- Fragmentasi
Kelemahan partisi berukuran sama
- Bila ukuran program lebih besar dari ukuran partisi maka :
–Tidak dapat dimuatkan ke memori
–Pemrogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar akan dieksekusi-lah yang dimasukkan ke memori utama dan saling bergantian
–Untuk overlay diperlukan SO yang mendukung swapping
- Untuk program yang sangat kecil dari ukuran partisi maka :
–Banyak ruang yang tidak terpakai (boros)
–Disebut fragmentasi internal
Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi)
- Proses ditempatkan ke partisi paling kecil yang dapat memuatnya
- Keuntungannya dapat meminimalkan pemborosan memori
- Kelemahannya dapat terjadi antrian panjang di suatu partisi sementara antrian partisi-partisi lain kosong
Satu antrian Tunggal untuk seluruh partisi
- Proses-proses diletakkan pada satu antrian tunggal untuk semua partisi
- Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat
- Keuntungannya lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian
- Kelemahannya proses dapat ditempatkan pada partisi yang banyak diboroskan, yaitu : proses kecil ditempatkan pada partisi besar
Relokasi
Relokasi adalah penempatan proses sesuai alamat fisik sehubungan alamat partisi memori penempatan
- Proses dapat ditempatkan pada partisi berbeda menurut keadaan pada saat itu
- Pengalamatan fisik secara absolut untuk proses tidak dapat dilakukan
Proteksi
Proteksi pada multiprogramming :
- Dikhawatirkan proses menggunakan atau memodifikasi daerah yang dikuasai proses lain (yang bukan hak-nya)
- Bila hal ini terjadi, maka :
–Proses lain dapat terganggu
–Hasil yang diperoleh dapat menjadi kacau
Fragmentasi
- Fragmentasi : penyiaan/ pemborosan memori pada setiap organisasi penyimpanan
- Ada 2 fragmentasi
–Fragmentasi internal (proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses)
–Fragmentasi eksternal (partisi tidak dapat digunakan karena ukuran proses lebih besar dari partisi yang tersedia)
Sumber : aristysaputri3.wordpress.com