Manajemen Memori
Memory Management Memori utama dibagi Sistem operasi (tempat monitor, kernel) Program-program yang akan dieksekusi beberapa sub bagian untuk mengakomodasi multiple processes Memori perlu dialokasikan secara efisien untuk mengemasi beberapa proses kedalam memori
Kebutuhan Manajemen Memori Relokasi Programer tidak mengetahui dimana program akan ditempatkan didalam memori ketika dieksekusi Ketika program sedang dieksekusi, mungkin saja dapat ditukar (swap) ke disk dan dikembalikan ke memori utama disuatu tempat yang berbeda (relokasi) Acuan memori harus diterjemahkan kode ke alamat memori fisik yang aktual
Kebutuhan Manajemen Memori Protesi Proses tidak dapat menempatkan referensi memori didalam proses lain tanpa izin Tidak memungkinkan untuk memeriksa alamat obsolut didalam program selama program dapat direlokasi Harus diperiksa selama eksekusi Sistem Operasi tidak dapat mengantisipasi seluruh referensi memori suatu program yang akan dibuat
Kebutuhan Manajemen Memori Sharing Mengizinkan beberapa proses mengakses bagian yang sama dari memori Yang terbaik mengizinkan masing-masing proses mengakses untuk menduplikasi program yang sama dibandingkan dengan memisahkan duplikasi sendiri
Kebutuhan Manajemen Memori Organisasi Logis Program – program ditulis dalam bentuk modul-modul Modul – modul dapat ditulis dan di-kompile dengan bebas Derajat berbeda memberikan perlindungan ke modul-modul read-only, execute-only Berbagi module
Kebutuhan Manajemen Memori Organisasi Fisik Memori yang tersedia untuk program yang lebih datanya memungkinkan tidak cukup Overlaying mengisinkan berbagai modul untuk ditugakan didaerah memori yang sama Programer tidak mengetahui berapa banyak tempat yang akan tersedia
Mempartisi tertentu Partisi dengan ukuran yang sama Proses manapun yang ukuran lebih kecil atau sama dengan ukuran partisi dapat di-load kedalam partisi yang tersedia Jika seluruh partisi penuh, sistem operasi dapat menukar (swap) sebuah proses diluar partisi Sebuah program tidak cocok dengan partisi. Programer harus mendisain program dengan overlay (lapisan)
Algoritma Penempatan dengan Partisi Ukuran partisi yang sama Sebab ukuran seluruh partisi sama bukan berarti partisi tidak digunakan Ukuran pertisi yang tidak sama Dapat menentukan masing-masing proses ke partisi yang lebih kecil dengan yang lebih cocok Antrian untuk setiap partisi Paroses yang ditentukan untuk memperkecil sisa didalam partisi
Partisi Dinamis Partisi yang berubah-ubah panjang dan jumlahnya Proses yang dialokasikan persis sebanyak memori yang diperlukan Akhirnya memberikan ruang didalam memori. Ini disebut fragmentasi Harus menggunakan rekanan (compaction) untuk mengeser proses, sehingga saling berdekatan dan seluruh memori yang bebas didalam satu block