Manajemen Memori (Memory Management)
salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian. Mekanisme pengaturan memori pada sistem operasi DOS. Sistem operasi berjalan dalam modus real dengan
arsitektur berbasis prosesor intel x86. Dalam modus real, hanya
20-bit pertama dari bus alamat yang akan digunakan oleh sistem operasi
untuk mengakses memori, sehingga menjadikan jumlah memori yang dapat
diakses hanya mencapai 220=1048576 bytes (1 MB) saja, dari yang seharusnya 32-bit/40-bit pada prosesor-prosesor modern. 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.
Beberapa Contoh memori kerja untuk memori tetap adalah :
- ROM/PROM/EPROM/EEPROM
- RAM
- Cache memory
Pada
prinsipnya memori dalam sistem komputer dapat dibedakan menjadi dua
bagian yaitu memori kerja dan memori backing store. Memori Kerja
bertugas untuk menampung pekerjaan pada saat sebelum atau sesudah
pekerjaan itu dilaksanakan oleh prosesor dan untuk menampung segala hal
yang diperlukan oleh prosesor
Fungsi manajemen memori :
Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :
- Utilitas CPU meningkat.
- Data dan instruksi dapat diakses dengan cepat oleh CPU.
- Tercapai efisiensi dalam pemakaian memori yang terbatas.
- Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
- Mengelola informasi yang dipakai dan tidak dipakai.
- Mengalokasikan memori ke proses yang memerlukan.
- Mendealokasikan memori dari proses telah selesai.
- Mengelola swapping atau paging antara memori utama dan disk.
Sistem operasi
memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan
mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk
program yang akan berjalan maupun untuk sistem operasi itu sendiri.
Tujuan dari manajemen memori adalah agar utilitas CPU meningkat dan
untuk meningkatkan efisiensi pemakaian memori.
Manajemen memori terbagi menjadi dua yaitu :
- Manajemen tanpa swapping atau paging, adalah manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan.
- Manajemen dengan swapping atau paging, dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan.
Didalam
sistem juga dapat kita lihat bahwa sistem operasi terletak berdekatan
dengan program lain di RAM sehingga kemungkinan sistem operasi ter
ganggu atau terubah oleh proses yang sedang berjalan sangat besar .Hal
itu tidak boleh terjadi.Untuk
mencegah terganggu sitem operasi tersebut maka alamat tertinggi dari
sistem operasi dletakkan pada register batas dalam CPU. Jika ada proses
yang mengacu ke alamat itu atau yang lebih rendah dari itu maka proses
di hentikan dan program akan menampilkan pesan kesalahan.
Strategi Manajemen Memori
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
beberapa keuntungan seperti :
- Large Address Space
Membuat sistem operasi seakan-akan memiliki jumlah memori melebihi kapasitas memori fisik yang ada. Dalam hal ini memori maya memiliki ukuran yang lebih besar daripada ukuran memori fisik. - 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. - Fair Physical Memory Allocation
Digunakan oleh Manajemen Memori untuk membagi penggunaan memori fisik secara “adil” ke setiap proses yang berjalan pada sistem. - Shared Virtual Memory
Meskipun tiap proses menggunakan address space yang berbeda dari memori maya, ada kalanya sebuah proses dihadapkan untuk saling berbagi penggunaan memori.
Partisi memori adalah pembagian harddisk menjadi beberapa bagian yang digunakan untuk mempermudah manajemen file.
Terdapat 2 jenis partisi memori, yaitu :
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)
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
Ruang Alamat Logika dan Fisik
Alamat Logika
adalah alamat yg dibentuk di CPU, disebut juga alamat virtual. Alamat
fisik adalah alamat yang terlihat oleh memori. Untuk mengubah dari
alamat logika ke alamat fisik diperlukan suatu perangkat keras yang
bernama MMU (Memory Management Unit). Pengubahan dari alamat logika ke
alamat fisik adalah pusat dari manajemen memori. Alamat yang
dibangkitkan oleh CPU disebut alamat logika (logical address) dimana
alamat terlihat sebagai uni memory yang disebut alamat fisik (physical
address). Tujuan utama manajemen memori adalah konsep meletakkan ruang
alamat logika ke ruang alamat fisik. Hasil skema waktu kompilasi dan
waktu pengikatan alamat pada alamat logika dan alamat memori adalah
sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi
berbeda.
Dalam hal ini,
alamat logika disebut dengan alamat maya (virtual address). Himpunan
dari semua alamat logika yang dibangkitkan oleh program disebut dengan
ruang alamat logika (logical address space) himpunan dari semua alamat
fisik yang berhubungan dengan alamat logika disebut dengan ruang alamat
fisik (physical address space). Memory Manajement Unit (MMU) adalah
perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada
skema MMU, nilai register relokasi ditambahkan ke setiap alamat yang
dibangkitkan oleh proses user pada waktu dikirim ke memori.
Swapping
Sebuah proses,
sebagaimana telah diterangkan di atas, harus berada di memori sebelum
dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori
untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah
proses lain yang sedang membutuhkan sejumlah alokasi memori untuk
dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast
disk dengan kapasitas yang dapat menampung semua salinan dari semua
gambaran memori serta menyediakan akses langsung ke gambaran tersebut.
Jika eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa
saat kemudian, maka ia akan dibawa kembali ke memori dari tempat
penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja
yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready
queue berisikan semua proses yang terletak baik di penyimpanan
sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU
akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses
bersangkutan sudah ada di memori ataukah masih berada dalam penyimpanan
sementara. Agar teknik swapping dapat lebih efisien, sebaiknya
proses-proses yang di- swap hanyalah proses-proses yang benar-benar
dibutuhkan sehingga dapat mengurangi waktu swap. Oleh karena itulah,
sistem harus selalu mengetahui perubahan apapun yang terjadi pada
pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan
fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia
meminta memori dan kapan membebaskan ruang memori tersebut.
Tiap sistem
operasi memiliki versi masing-masing pada teknik swapping yang
digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya tidak
diaktifkan, namun akan dimulai jika banyak proses yang membutuhkan
alokasi memori yang banyak. Swapping akan dinonaktifkan kembali jika
jumlah proses yang dimasukkan berkurang. Pada sistem operasi Microsoft
Windows 3.1, jika sebuah proses baru dimasukkan dan ternyata tidak ada
cukup ruang di memori untuk menampungnya, proses yang lebih dulu ada di
memori akan dipindahkan ke disk. Sistem operasi ini pada dasarnya tidak
menerapkan teknik swapping secara penuh, hal ini disebabkan pengguna
lebih berperan dalam menentukan proses mana yang akan ditukar daripada
penjadwal CPU. Dengan ketentuan seperti ini proses-proses yang telah
dikeluarkan tidak akan kembali lagi ke memori hingga pengguna memilih
proses tersebut untuk dijalankan.
Kesimpulan :
- 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
- Strategi Manjemen Memori 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.
- Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik. Alamat Logika adalah alamat yg dibentuk di CPU, disebut juga alamat virtual. Alamat fisik adalah alamat yang terlihat oleh memori.
- Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi.
Komentar
Posting Komentar