MANAJEMEN MEMORY
1. Penjelasan Manajemen Memory
Definisi Memory Management
Memori manajemen adalah tindakan mengelola memori komputer. Kebutuhan utama manajemen memori adalah untuk menyediakan cara untuk secara dinamis mengalokasikan bagian-bagian dari memori untuk program atas permintaan mereka, dan membebaskan untuk digunakan kembali ketika tidak lagi diperlukan. Ini sangat penting untuk setiap sistem komputer canggih di mana lebih dari satu proses mungkin berlangsung setiap saat.
Alamat Memori
a) Alamat memori mutlak (alamat fisik)
Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka disebut juga alamat mutlak.
b) Alamat memori relatif (alamat logika)
Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita menggunakan alamat 1, maka kitapun menggunakan alamat 2,3, … dan untuk 1 informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini, maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat yang menyimpan informasi maka dikenal alamat memori logika. Contoh : alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya = 14726-0 = 14726.
Entitas Memori sendiri ada 4 macam:
1. Used-RAM : RAM yang terpakai.
2. Cached-RAM: RAM yang dipakai sebagai tempat
simpan sementara untuk aplikasi jika
dieksekusi kembali.
3. Free-RAM : RAM yang tidak terpakai.
4. Swap : memori tambahan menggunakan harddisk.
▪ Pemetaan file diperlukan karena file dipetakan
secara teratur sehingga bisa mendapatkan akses
ke sumber daya dan metadata dari dalam memori.
2. Fungsi Manajemen Memory
1. Mengelola informasi yang dipakai dan tidak dipakai.
2. Mengalokasikan memori ke proses yang memerlukan.
3. Mendealokasikan memori dari proses telah selesai.
4. Mengelola swapping atau paging antara memori utama dan disk.
Partisi memori adalah pembagian harddisk menjadi beberapa bagian yang digunakan untuk mempermudah manajemen file.
Terdapat 2 jenis partisi memori, yaitu :
1. Fixed Partitioning
Ciri-ciri :
– Pembagian memori ditentukan di awal dan tidak dapat dirubah
– Ukuran partisi bisa sama (equal-size) atau berbeda (unequal-size)Kesulitan yang dihadapi :
– Ukuran program > ukuran partisi
– Penggunaan memori yang tidak efisien
– Internal Fragmentation
Contoh OS yang menggunakan : IBM OS/MFT (Multiprogramming with a Fixed Number of Tasks)
2. Dynamic Partitioning
Dalam dynamic memory partitioning,,memori dipartisi menjadi bagian-bagian dengan jumlah dan besar yang tidak tentu.Ciri-ciri :
– Alokasi memori ditentukan saat runtime
– Setiap proses diberikan alokasi sesuai yang dibutuhkan
Kesulitan yang dihadapi :
– External Fragmentation
– Ruang kosong di memori banyak, tetapi terbagi-bagi
STRATEGI ALOKASI MEMORI
1. First-fit Algorithm
Manajer memori menelusuri peta bit sampai menemukan ruang yang memadai untuk ditempati proses.
ruang dibagi dua, untuk proses dan ruang yang tidak digunakan kecuali ketika besar ruang tepat sama dengan ukuran yang diperlukan proses.
2. Next-fit Algorithm
Penelusuran sama dengan first-fit algorithm, namun dimulai dari posisi terakhir kali menemukan segmen untuk proses.
3. Best-fit Algorithm
Algoritma mencari sampai akhir dan mengambil ruang terkecil yang dapat memuat proses.
4. Worst-fit algorithm
Selalu mencari ruang besar yang tersedia
5. Quick-fit algorithm
Hanya untuk pencatatan pada peta bit berkait. Hanya menelusuri peta bit ruang memori bukan di peta bit proses.
MANAJEMEN MEMORY BERDASARKAN ALOKASI MEMORY
- Alokasi memori berurutan
Masing-masing proses menempati satu blok tunggal lokasi memori yang berturutan
- Alokasi memori tak berurutan
berdekatan. Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.
3. Contoh Manajemen Memory di Windows dan Linux
Manajemen Memory pada Windows
Windows memiliki memori fisik dan virtual yang dibutuhkan oleh proses sebuah program atau lebih (multitasking). Singkatnya, Virtual Memory selalu dimiliki oleh sebuah sistem operasi untuk mencegah terjadinya deadlock antar aplikasi maupun sistem itu sendiri.
Kita dapat memanggil task manager melalui beberapa cara :
1) Melalui Ctrl + Shift + Esc
2) Melalui Ctrl + Alt + Del dan pilih Start Task Manager
Contoh Manajemen Memory diWindows:
Windows memiliki memori fisik dan virtual yang dibutuhkan oleh proses sebuah program atau lebih (multitasking). Sebelum kita membahas tentang memory-nya kita patut mengetahui dulu apa itu proses. Proses adalah sebuah program yang sedang dieksekusi, sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.
Manajemen Memory pada Linux
Linux memanfaatkan virtual memori untuk mendukung kinerja sistem. Sebagai sistem operasi multiprogramming, virtual memori dapat meningkatkan efisisensi sistem. Sambil proses menunggu bagiannya diswap masuk ke memori, menunggu selesainya operasi masukan/keluaran dan proses diblocked. Jatah waktu pemroses dapat diberikan ke proses-proses lain
Manajemen memori Linux menyediakan:
Ruang alamat besar, ruang alamat dapat lebih besar dibanding memori fisik yang tersedia
Proteksi, tiap proses di sistem mempunyai ruang alamat maya tersendiri. Ruang-ruang alamat maya itu sepenuhnya terpisah. Proses yang berjalan di satu aplikasi tidak dapat mengganggu proses lainnya.
Pemetaan memori, dilakukan pemetaan antara memori maya ke memori fisik yang tersedia.
Memori maya bersama (shared virtual memory), memori maya bersama ini untuk menghemat ruang memori, seperti pustaka dinamis bagi beberapa proses.
Linux menempatkan proses pada memori yang dibagi menjadi sejumlah partisi. Pemartisian ini bersifat dinamis maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan partisi sesuai kebutuhan. Linux menciptakan ruang disk tempat swap terlebih dahulu, saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat-tempat berbeda setiap kali terjadi swap-out. Ketika proses berakhir, ruang swap pada disk didealokasikan.
Contoh Manajemen Memory diLinux:
Bagian ini menjelaskan bagaimana linux menangani memori dalam sistem. Memori manajemen merupakan salah satu bagian terpenting dalam sistem operasi. Karena adanya keterbatasan memori, diperlukan suatu strategi dalam menangani masalah ini. Jalan keluarnya adalah dengan menggunakan memori virtual. Dengan memori virtual, memori tampak lebih besar daripada ukuran yang sebenarnya.
Dengan memori virtual kita dapat:
- Ruang alamat yang besar sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.
- Pembagian memori fisik yang dil, manajemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.
- Perlindungan memori manajemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut.
- Penggunaan memori virtual bersama, memori virtual mengizinkan dua buah proses berbagi memori diantara keduanya, contohnya dalam shared library. Kode library dapat berada di satu tempat, dan tidak dikopi pada dua program yang berbeda.
Komentar
Posting Komentar