Manajemen Memori

Manajemen Memori. 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. Instruksi ini menyebabkan penambahan muatan dari dan ke alamat memori tertentu. 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.
Manajemen memori sangat 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.
Fungsi manajemen memori
1. Mengelola informasi memori yang dipakai dan tidak dipakai.
2. Mengalokasikan memori ke proses yang memerlukan.
3. Mendealokasikan memori dari proses yang telah selesai.
4. Mengelola swapping antara memori utama dan disk.
Manajemen Memori dibedakan menjadi dua, berdasarkan ada tidaknya proses swap. dengan swapping adalah manajemen memori dengan pemindahan proses antara memori utama dan disk selama eksekusi. Manajemen Memori tanpa swapping adalah Manajemen Memori tanpa pemindahan proses antara memori utama dan disk selama eksekusi.
Sistem memori virtual memisahkan alamat memori yang digunakan oleh suatu proses dari alamat fisik yang sebenarnya, yang efektif meningkatkan jumlah RAM yang tersedia menggunakan disk swapping. Manajer memori virtual memiliki pengaruh besar pada kinerja sistem secara keseluruhan.
Sebelum kita menginjak materi lebih jauh, ada baiknya kita mendefinisikan dulu beberapa istilah. Multiprogramming adalah proses yang hanya menggunakan satu processor dan setiap program yang berjalan, hanya diperbolehkan satu program saja dan sisanya harus menunggu sampai proses dari program yang pertama selesai. Contohnya pada saat kita mengetik dan saat kita selesai mengetik, baru kita membuat presentasinya. Multitasking adalah proses yang hanya menggunakan satu processor dan memungkinkan dua program atau lebih berjalan seakan-akan “bersamaan”, karena pada kenyataannya satu processor tidak dapat menjalankan dua program sekaligus. Contohnya pada saat kita mengetik dengan word processor dan memutar lagu. Pada dasarnya jalannya kedua program itu bergantian, hanya saja dalam pembagian waktu yang sangat singkat dan kita merasakannya sebagai “bersamaan”.
Memori sistem manajemen multitasking pada sistem operasi biasanya melakukan proses-proses berikut ini.
1. Relokasi
Dalam sistem dengan memori virtual, program-program dalam memori harus mampu berada di berbagai bagian dari memori pada waktu yang berbeda. Hal ini karena ketika program swap kembali ke dalam memori setelah menukar untuk sementara tidak selalu dapat ditempatkan di lokasi yang sama. Memori virtual unit pengelolaan juga harus berurusan dengan concurrency. Memori manajemen pada sistem operasi karenanya harus dapat memindahkan program di memori dan memori menangani referensi dan alamat dalam kode program sehingga mereka selalu menunjuk ke lokasi yang tepat di memori.
2.Perlindungan
Proses seharusnya tidak dapat mengatur memori untuk proses lain tanpa izin. Hal ini disebut proteksi memori, dan mencegah kode berbahaya atau tidak berfungsi dalam salah satu program yang mengganggu pengoperasian program yang sedang berjalan lainnya.
3.Berbagi / Sharing
Meskipun memori untuk proses yang berbeda biasanya dilindungi dari satu sama lain, kadang-kadang perlu proses yang berbeda untuk dapat berbagi informasi dan akses yang sama karena itu bagian dari memori. Shared memory adalah salah satu teknik tercepat untuk Inter-proses komunikasi.
4. Pengaturan Ruang Alamat Logika
Program sering diatur dalam modul. Beberapa modul ini dapat dibagi antara program yang berbeda, ada yang hanya membaca dan beberapa berisi data yang dapat diubah. Manajemen memori bertanggung jawab untuk menangani pengaturan alamat logika yang berbeda dari fisik ruang alamat linier. Salah satu cara untuk mengatur organisasi ini adalah segmentasi.
5. Pengaturan Ruang Alamat Fisik
Memori biasanya dibagi menjadi cepat dan lambat penyimpanan utama penyimpanan sekunder. Memori manajemen pada sistem operasi bergerak menangani informasi antara kedua tingkat memori.
Kondisi tanpa swapping, bisa dikondisikan sebagai berikut :


1. Monoprogramming.
Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu      program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan.


2. Multiprogramming dengan pemartisian statis
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan.