Memory manager merupakan salah satu bagian sistem operasi yang mempengaruhi dalam menentukan
proses mana yang diletakkan pada antrian.
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. CPU mengambil instruksi dari memory berdasarkan nilai dari
program counter. Sedangkan 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.
Memori merupakan pusat untuk operasi system komputer, dalam system uniprogramming memori
dibagi menjadi 2 yaitu satu bagian untuk system operasi dan satu bagian lagi untuk program yang
sedang berjalan. Namun dalam system multiprogramming bagian dari memori user harus dibagi lagi
untuk mengakomodasi proses yang berjumlah banyak. Memori digunakan untuk menyimpan data
sementara pada komputer, memori menyimpan data dalam binary digit yaitu 1 dan 0. Dalam sostem
operasi aspek yang paling sulit untuk di rancang adalah menejemen memori dimana seiring
bertambahnya ukuran memori diikuti dengan aplikasi-aplikasi yang berukuran besar saat proses aktif.
Jika dalam system multiprogramming hanya terdapat beberapa proses didalam memori utama maka
sebagian besar waktu proses akan digunakan dalam menunggu I/O ataupun proses idle pada processor.
Maka dari itu manajemen perlu dilakukan.
Jenis Memori :
a) Memori Kerja
b) ROM/PROM/EPROM/EEPROM
c) RAM
d) Cache memory
e) Memori Dukung
f) Floppy, harddisk, CD, dll.
Alamat Memori :
a) Alamat memori mutlak (alamat fisik)
b) Alamat memori relatif (alamat logika)
c) Hubungan antara alamat multak dan alamat relatif
d) Jenis memori dan alamat memori
Isi Memori :
a) Sistem bahasa penataolahan
b) Sistem Utilitas
c) Inti Sistem Operasi
d) Sistem Operasi
e) Pengendali alat (device drivers)
f) File pemakai
System manajement memori dapat dibagi menjadi 2 kelas yaitu pemindahan proses (back and forth) dan
tidak ada pemindahan proses.Fungsi management memori:
• Mengatur dan mengelola memori yang dipakai dan tidak dipakai
• Mengalokasikan memori ke proses yang lebih memerlukan
• Mengelola swapping antara memori utama dan disk
• Mendealokasikan memori dari proses yang telah selesai
Strategi yang dikenal untuk mengatasi hal tersebut adalah memori maya. Memori maya menyebabkan
sistem seolah-olah memiliki banyak memori dibandingkan dengan keadaan memori fisik yang
sebenarnya. Memori maya tidak saja memberikan peningkatan komputasi, akan tetapi memori maya
juga memiliki bberapa keuntungan seperti :
Proteksi.
Setiap proses di dalam sistem memiliki virtual address space. Virtual address space tiap proses berbeda
dengan proses yang lainnya lagi, sehingga apapun yang terjadi pada sebuah proses tidak akan
berpengaruh secara langsung pada proses lainnya.
Memory Mapping
Memory mapping digunakan untuk melakukan pemetaan image dan file-file data ke dalam alamat
proses. Pada pemetaan memori, isi dari file akan di link secara langsung ke dalam virtual address space
dari proses.
Proses adalah program yang dieksekusi sedangkan Penjadwalan merupakan kumpulan kebijaksanaan
dan mekanisme di sistem yang berkaitan dengan urutan kerja yang dilakukan. Pada sistem operasi,
penjadwalan bertugas memutuskan Proses yang harus berjalan dan Kapan dan selama berapa lama
proses itu berjalan.
Tipe penjadwalan
Penjadwalan dibagi menjadi 3 yaitu :
• Penjadwal jangka pendek. Penjadwalan ini digunakan untuk menentukan proses apa yang
akan dijalankan berikutnya setelah proses saat ini berakhir. Proses yang dipilih adalah
proses-proses yang telah dinyatakan siap untuk dieksekusi oleh pemroses (CPU).
• Penjadwal jangka menengah. Penjadwal ini digunakan untuk menanganai proses-proses
yang perlu dipindahkan dari memori utama ke memori sekunder. Pemindahan ini dikenal
dengan sebutan swapping. Swapping terhadap suatu proses dilakukan apabila proses
tersebut perlu melakukan akses ke perangkat masukan/keluaran (I/O) atau pemanggilan
system call.
• Penjadwal jangka panjang. Dengan adanya penjadwal ini akan memungkinkan sistem
operasi menjalankan proses-proses yang memiliki prioritas rendah.
Strategi penjadwalan
Terdapat dua strategi penjadwalan, yaitu:
• Penjadwalan nonpreemptive (run-to-completion). Pada penjadwalan ini proses yang
mendapatkan kesempatan dieksekusi oleh pemroses (CPU) akan dijalankan sampai
selesai sebelum menjalankan proses lainnya.
• Penjadwalan preemptive. Ini merupakan kebalikan dari nonpreemptive, dimana untuk satu
proses yang sedang dieksekusi oleh pemroses memiliki kemungkinan untuk dihentikan
sementara dan eksekusi dialihkan ke proses lainnya.
Algoritma penjadwalan
Terdapat sangat banyak algoritma penjadwalan, baik nonpreemptive ataupun preemptive.
Algoritma-algoritma yang menerapkan strategi nonpreemptive di antaranya:
a) FIFO (First In First Out)
b) SJF (Shortest Job First)
c) HRN (Highest Ratio Next)
d) MFQ (Multiple Feedbback Queues)