Manajemen Memory
Konsep Dasar 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.
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
(Eko, 2009). Memory
manager merupakan salah satu bagian sistem operasi yang mempengaruhi dalam
menentukan proses mana yang diletakkan pada antrian.
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.
Jenis-Jenis
Manajemen Memory
Manajemen Memory Untuk Monoprogramming Bila program komputer
yang dijalankan hanya satu jenis selama proses
berlangsung maka dikatakan mode kerja komputer itu adalah monoprogramming.
Selama komputer itu bekerja maka memory RAM seluruhnya di kuasai oleh program
tersebut. Jadi RAM tidak dapat di masuki oleh program lain. Mode serupa ini di
temui
pada komputer berbasis DOS. Penempatan program di memory diatur sedemikain rupa
sehingga (Eko, 2009) :
b) Sistem Operasi di RAM bawah (alamat rendah)
c) Program Aplikasi di RAM tengah (alamat sesudah OS terakhir)
d) Data Sementara di RAM atas (alamat sesudah Aplikasi terakhir).
Bila sistem operasi telah selasai dimuat maka tampillah prompt di layar monitor, dan itu adalah tanda bahwa komputer siap menerima program aplikasi. Letakkan disk yang berisi program aplikasi pada diskdrive yang aktif lalu eksekusi , sehingga program itu termuat seluruhnya ke RAM.
Dengan demikian program aplikasi siap
digunakan menurut semestinya.Kita lihat ketika komputer mula-mula dinyalakan maka proses yang dibaca pertama
kali adalah apa yang tertulis di dalam ROM. Setelah semua
perintah di adalam ROM BIOS selesai dibaca maka computer meminta kita
memasukkan DOS ke dalam RAM-nya.Ketika DOS dibaca maka diletakkan sebagian dari
program DOS yang terpenting saja ke dalam RAM, seperti : COMMAND.COM dan INTERNAL COMMAND.
Sedangkan program DOS yang lain masih
tetap di dalam disk dan apabila kita perlukan dapat di eksekusi. Hal itu
berguna untuk mrnjaga agar RAM tidak penuh oleh Sistem Operasi saja. Ketika
kita bekerja dengan
program aplikasi tasdi maka kita akan menghasilkan data. Data itu akan di simpan sementara di RAM yang masih tersisa.
Data yang disimpan
di RAM bersifat voletile, artinya data hanya bisa bertahan selama catudaya computer
masih ON. Untuk berjaga-
jaga biasakan menyimpan data ke disk dalam jangka waktu yang tidak terlalu
lama, misalnya setiap 5 menit sekali. Selain
menjaga data agar tidak amblas
menyimpan ke disk bertujuan juga untuk mengosongkan RAM agar tidak
cepat penuh.
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.
1.
Manajemen Memory Untuk Multiprogramming
Untuk sistem komputer yang berukuran besar (bukan small computers), membutuhkan pengaturan memori, karena dalam multiprogramming akan melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut saling bertentangan, yaitu (Ama, 2003):
a) Pemisahan ruang-ruang alamat.
b) Pemakaian bersama memori.
Manajer memori harus memaksakan isolasi ruang-ruang alamat tiap proses agar mencegah proses aktif atau proses yang ingin berlaku jahat mengakses dan merusak ruang alamat proses lain. Manajer memori di lingkungan multiprogramming sekalipun melakukan dua hal, yaitu :
a) Proteksi memori dengan isolasi ruang-ruang alamat secara dis-joint.
b) Pemakaian bersama memori.
Memungkinkan
proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep
multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.
Sebuah
model untuk mengamati pemakaian CPU secara probabilistic : CPU utilization = 1
– p n
Dengan : N menunjukkan banyaknya proses pada suatu saat, sehingga kemungkinan bahwa semua n proses akan menunggu menggunakan I/O (masalah CPU menganggur) adalah sebesar pn. Fungsi dari n disebut sebagai degree of multiprogramming.
b)
P menunjukkan besarnya waktu yang digunakan sebuah proses
B.
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 bberapa keuntungan seperti :
1.
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.
2.
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
3. 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.
4. Fair Physical Memory Allocation
Digunakan oleh Manajemen Memori untuk
membagi penggunaan memori fisik secara “adil” ke setiap proses yang berjalan
pada sistem.
5. Shared Virtual Memory.
Meskipun tiap proses menggunakan address space yang berbeda
dari memori maya, ada kalanya
sebuah proses dihadapkan untuk saling berbagi
penggunaan memori.
C.
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 (Ama, 2003)
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. Register basis disebut register relokasi. Nilai
dari register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh
proses user pada waktu dikirim ke memori, sebagai contoh, apabila basis 14000,
maka user mencoba menempatkan ke alamat lokasi
0 dan secara dinamis direlokasi ke lokasi 14000. Pengaksesan ke lokasi logika 346,
maka akan dipetakan ke lokasi 14346. Sistem operasi MS- DOS yang masih keluarga
intel 80X86 menggunakan empat register relokasi ketika proses loading dan running.
User program tidak pernah melihat
alamat fisik secara real. Program dapat membuat sebuah penunjuk ke lokasi 346,
mengirimkan ke memory, memanipulasinya, membandingkan
dengan alamat lain, semua menggunakan alamat 346. Hanya
Ketika digunakan sebagai
alamat memory akan direlokasi secara relatif ke register basis.
D.
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.
1.
Jenis Memori
a) Memori Kerja
b) ROM/PROM/EPROM/EEPROM
c) RAM
d) Cache memory
e) Memori Dukung
f) Floppy, harddisk, CD, dll
2.
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.
3. Isi Memori
a) Sistem bahasa penataolahan
b) Sistem Utilitas
c) Inti Sistem Operasi
d) Sistem Operasi
e) Pengendali alat (device drivers)
f) File pemakai
4.
Fungsi Manajemen
Memori
- 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.
5. Partisi Memori
Partisi memori adalah pembagian harddisk menjadi beberapa
bagian yang digunakan untuk mempermudah manajemen file.
Terdapat 2 jenis
partisi memori, yaitu :
a. 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)
b. 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
c.
Kesulitan yang dihadapi :
-
External Fragmentation
-
Ruang kosong di memori banyak, tetapi terbagi-bagi
-
Syarat Pengelolaan
Memori
d. Relokasi
Prosesor dan sistem operasi harus dapat
mentransfer memory referensi ( dalam bentuk kode program ) ke alamat fisik yang
mengalokasikan program dalam memory utama.
e.
Proteksi
User tidak boleh
mengakses beberapa bagian dari wilayah sistem operasi.
f. Sharing
Memory skunder pada manajemen memory
dapat mengontrol sharing
area pada memory utama.
g.
Organisasi Logika
Sistem oerasi dan hardware berusaha untuk dapat berhubungan
dengan user program dalamsatu modul.
h.
Organisasi fisik
Komentar
Posting Komentar