MANAJEMEN MEMORI SEDERHANA 1 Dekripsi Manajemen Memori Manajemen memori berkaitan dengan memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersama di antara sejumlah proses yang aktif. Manajemen memori juga berkaitan dengan usaha agar pemrograman atau proses tidak dibatasi oleh kapasitas memori fisik yang terdapat pada sistem komputer. 2 Fungsi-fungsi manajemen memori Mengelola informasi memori yang terpakai dan yang tidak terpakai. Mengalokasikan memori ke proses yang memerlukan. Mendealokasikan memori dari proses telah selesai. Mengelola swapping antara memori utama dan disk. Parameter-parameter untuk mengukur kinerja manajemen memori Kapasitas memori yang disiakan. Kompleksitas waktu pemroses pengelolaan memori. Overhead untuk pengaksesan memori. 3 Manajemen Memori pada Sistem Multiprogramming Pemisah ruang-ruang alamat. Pemakaian bersama memori. 4 Klasifikasi Manajemen Memori Nyata Nyata Maya (1) Sistem khusus untuk pemakai tunggal Sistem multiprogramming dengan memori nyata Sistem multiprogramming degan memori nyata Multiprogramming dengan pemartisian tetap (2) Ditempatkan secara absolut (4) Multiprogram ming dengan pemartisian dinamis (5) Sistem paging murni (6) Sistem segmentasi murni (7) Kombinasi paging dan segmentasi (3) Dapat direlokasi Gambar 1. Klasifikasi manajemen memori. 5 Manajemen memori berdasarkan ada tidaknya swapping Manajemen tanpa swapping Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama eksekusi. Manajemen swapping Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama eksekusi. 6 Hirarki Organisasi Memori Chace Memori Memori Utama Memori Sekunder Gambar 2. Hubungan chace memory, memori utama dan memori sekunder. 7 Alokasi Memori Alokasi memori terbagi dua Alokasi memori berurutan (kontigu) Alokasi memori tak berurutan (non-kontigu) 8 Monoprogramming Sederhana Sistem Operasi di RAM Sistem Operasi di ROM Sistem Operasi di RAM Program Pemakai di RAM Program Pemakai RAM Program Pemakai di RAM Memori tak dipakai Memori tak dipakai Memori tak dipakai (a) (b) Device driver di ROM (c) = RAM = ROM Gambar 3. Tiga cara organisasi memori satu proses tunggal. 9 Embedded Systems Teknik monoprogramming masih dipakai untuk sistem-sistem kecil yaitu sistem-sistem tempelan (embedded systems) yang menempel atau terdapat pada sistem lain. Sistem-sistem tempelan adalah sistem menggunakan microprosesor kecil (seperti Intel 8051, dan sebagainya) biasa untuk mengendalikan satu alat sehingga alat bersifat intelegent (intelegentdevice) dalam memberikan satu fungsi spesifik. Karena hanya satu fungsi spesifik maka dapat diprogram pada mikroprocessor dengan memori terbatas (antara 1-64 Kb). 10 o Proteksi pada Monoprogramming Sederhana Memori terbagi menjadi tiga bagian Bagian yang berisi rutin-rutin sistem operasi. Bagian yang berisi program pemakai. Bagian yang tidak digunakan. 11 o Proteksi pada Monoprogramming Sederhana Sistem Operasi di RAM Pemroses Register Batas Program Pemakai di RAM Memori tak dipakai Gambar 4. Proteksi pada monoprogramming. 12 Multiprogramming dengan Pemartisian Statis Terdapat beberapa alasan kenapa multiprogramming digunakan Agar mempermudah pemrogram yaitu saat pemrogram memecahm proses menjadi dua proses atau lebih. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan. Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses di memori agar memperoleh kinerja yang baik. Kebanyakan proses menghabiskan banyak waktu selama menunggu selesainya operasi masukan/keluaran. Bila pada multiprogramming maka proses tersebut di-blocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem. Lebih murah untuk dieksekusi jika proses besar dipecah menjadi beberapa proses kecil. Dapat mengerjakan sejumlah job secara simultan. 13 Pemartisian statis berdasarkan ukuran partisi-partisi Partisi-partisi berukuran sama. Partisi-partisi berukuran berbeda. Kesulitan partisi yang sama besar adalah Bila suatu program ukurannya lebih besar daripada partisi yang ada maka tidak dapat dimuatkan ke sistem, yang berarti tidak dapat dijalankan. Pemrogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar perlu dieksekusi yang dimasukan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping. Untuk program yang sangat kecil dibanding ukuran partisi yang tetap, maka banyak ruang yang tak dipakai disiakan 14 Multiprogramming dengan Pemartisian Statis Partisi 1 50 Kbyte Partisi 2 75 Kbyte Partisi 3 100 Kbyte Partisi 4 200 Kbyte Partisi 5 150 Kbyte Sistem Operasi 100 Kbyte 15 Gambar 5. Multiprogramming dengan pemartisian tetap berukuran berbeda. strategi penempatan program ke partisi Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi) Satu antrian untuk seluruh partisi. 16 Satu antrian untuk tiap partisi (banyak antrian untuk setiappartisi) Partisi 1 50 Kbyte Partisi 2 75 Kbyte Partisi 3 100 Kbyte Partisi 4 200 Kbyte Partisi 5 150 Kbyte Sistem Operasi 100 Kbyte Gambar 6. Multiprogramming dengan pemartisian tetap dengan banyak antrian. 17 Satu antrian tunggal untuk seluruh partisi Partisi 1 50 Kbyte Partisi 2 75 Kbyte Partisi 3 100 Kbyte Partisi 4 200 Kbyte Partisi 5 150 Kbyte Sistem Operasi 100 Kbyte 18 Gambar 7. Multiprogramming dengan pemartisian tetap dengan satu antrian. Pemartisian statis mempunyai dua masalah yang harus diatasi Relokasi Proteksi 19