MANAJEMEN MEMORI
MANAJEMEN MEMORI
A. Berdasarkan
keberadaan swapping :
1.
Manajemen tanpa swapping.
Manajemen memori tanpa pemindahan citra proses antara memori
utama dan disk selama
ekseskusi.
2.
Manajemen dengan swapping.
Manajemen memori dengan pemindahan
citra proses antara
memori utama dan disk selama
ekseskusi.
B. Manajemen Memori
Berdasarkan Alokasi Memori
terdapat dua cara
menempatkan informasi ke dalam memori kerja
1. Alokasi Memori
Berurutan (contigouos Allocation)
- Pada alokasi memori berurutan, setiap proses menempati satu
blok
tunggal lokasi memori yang berurutan.
- Kelebihan : sederhana, tidak ada rongga memory
bersebaran, proses berurutan dapat dieksekusi secara
cepat.
- Kekurangan : memori boros,
tidak dapat disisip apabila tidak ada
satu blok memori yang mencukupi.
2. Alokasi Memori Tak Berurutan (Non
Contiguous Allocation)
- Program / proses ditempatkan pada beberapa sagmen
berserakan,
tidak perlu saling berdekatan atau berurutan. biasanya digunakan
untuk lokasi memori maya sebagai
lokasi page-page.
- Kelebihan : sistem dapat memanfaatkan memori utama secara lebih
efisien, dan system operasi masih
dapat menyisip protes bila
jumlah lubang-lubang memori cukup
untuk memuat proses yang
akan dieksekusi.
- Kekurangan : memerlukan
pengendalian yang lebih rumit dan
memori jadi banyak berserakan
tidak terpakai.
Terdapat 2 manajemen
memori:
a. manajemen memori
statis
Dengan pemartisian statis, jumlah, lokasi, dan ukuran prosesdi memori
tidak beragam sepanjang waktu secara tetap.
b. manajemen memori dinamis
Dengan pemartisian dinamis, jumlah, lokasi, dan ukuran proses di
memori dapat berseragam sepanjang waktu secara dinamis.
MANAJEMEN MEMORI
PEMARTISIAN STATIS
Kondisi tanpa swapping :
a. 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.
b. 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.
*MONOPROGRAMMING :
1. Hanya terdapat satu
proses pada satu saat, sehingga proses baru akan
menimpa proses lama yang sudah
selesai eksekusi.
2. Hanya satu proses
mengunakan semua memori.
3. Pemakai memusatkan
program keseluruh memori dari disk atau tape.
4. Program mengambil
kendali seluruh mesin.
MONOPROGRAMMING :
- Masih dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang
menempel atau
terdapat disistem lain.
- Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti
Intel 8051,
dan sebagainya.
- Sistem ini biasanya untuk mengendalikan satu alat sehingga
menjadi bersifat
intelejen (intelegent devices)
dalam menyediakan satu fungsi spesifik. Karena
hanya satu fungsi
spesifik, dapat diprogram di mikroprosesor dengan memori
kecil (1-64 Kb).
MASALAH PROTEKSI DI MONOPROGRAMMING
Merupakan cara memproteksi
rutin sistem operasi dari penghancuran program pemakai. Program
pemakai dapat tersesat sehingga memanipulasi atau menempati ruang memori
rutin sistem operasi. Aktivitas program pemakai ini dapat merusak sistem
operasi. Untuk mengatasinya Sistem operasi harus
diproteksi dari modifikasi program pemakai.
Proteksi ini diimplementasikan menggunakan satu register batas (boundary register)
dipemroses.Setiap kali
program pemakai mengacu alamat memori dibandingkan register
batas untuk memastikan proses pemakai tidak merusak sistem operasi, yaitu
tidak melewati nilai register batas.
MANAJEMEN MEMORI MULTIPROGRAMMING
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.
Melakukan dua aktivitas :
1. Proteksi memori dengan isolasi ruang-ruang alamat secara
disjoint (terpisah).
2. Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori
bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat
ditingkatkan.
MULTIPROGRAMMING
pemartisian statis,
Terdapat beberapa
alasan :
a. Mempermudah pemogram.
Pemrogram dapat memecah program menjadi dua proses atau lebih.
b. Agar dapat
memberi layanan interaktif ke beberapa orang secara simultan.
Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori
agar memperoleh kinerja yang baik.
c. Efisiensi
penggunaan sumber daya.
Bila pada multiprogramming maka proses
tersebut diblocked (hanya DMA
yang bekerja) dan proses lain mendapat
jatah waktu pemroses, maka DMA
dapat meningkatkan efisiensi sistem.
d. Eksekusi
lebih murah jika proses besar dipecah menjadi beberapa proses kecil.
e. Dapat
mengerjakan sejumlah job secara simultan.
PEMARTISIAN STATIS
BERDASARKAN UKURAN
Partisi-partisinya
terbagi dua :
1. Pemartisian menjadi partisi berukuran sama
(ukuran semua partisi
memori sama), yaitu:
Beberapa proses yang ukurannya kurang atau sama dengan ukuran
partisi
dimasukkan ke sembarang
partisi yang tersedia.
Kelemahan :
- Bila program
berukuran lebih besar dibanding partisi yang tersedia, maka
tidak dapat dimuatkan, tidak dapat
dijalankan. Pemogram harus
mempersiapkan overlay sehingga hanya bagian
program yang benar-
benar dieksekusi yang dimasukkan
ke memori utama dan saling
bergantian. Untuk overlay diperlukan sistem
operasi yang mendukung
swapping.
- Untuk program
yang sangat kecil dibanding ukuran partisi yang
ditetapkan, maka banyak ruang yang tak
dipakai yang diboroskan,
disebut fragmentasi internal. Kelemahan ini
dapat dikurangi dengan
partisi-partisi tetap berukuran berbeda.
2. Pemartisian menjadi partisi-partisi
berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda
Strategi
penempatan program ke partisi
DESKRIPSI :
a. Strategi
penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan
proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi
yang kosong.
b. Strategi penempatan pada pemartisian
menjadi partisi-partisi berukuran berbeda.
Satu antrian untuk
tiap partisi (banyak antrian untuk seluruh partisi).
Proses ditempatkan ke partisi paling kecil
yang dapat memuatnya.
Keuntungan :
teknik ini
adalah meminimalkan pemborosan memori.
Kelemahan :
dapat terjadi
antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong.
Satu antrian untuk
seluruh partisi.
Proses-proses diantrikan di satu antrian tunggal untuk semua
partisi. Proses segera ditempatkan di partisi bebas paling kecil yang dapat
memuat.
Keunggulan :
Lebih fleksibel serta
implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
Kelemahan :
Proses dapat ditempatkan di partisi
yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat
besar.
Fragmentasi pada
pemartisian statis
Fragmentasi yaitu :
Penyiaan/pemborosan memori akan terjadi pada setiap organisasi
penyimpanan.
Fragmentasi pada
pemartisian tetap terdiri dari:
a. Fragmentasi internal.
Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.
b. Fragmentasi
ekstenal.
Partisi dapat tidak
digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang
menunggu di antrian, sehingga tidak digunakan
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.
Deskripsi Hirarki memori :
1.
Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan
kinerja dan utilisasi memori secara dinamik.
2.
Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding
memori utama.
3.
Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache
relatif kecil.
Address Binding
- Sebelum eksekusi,
program/proses berada di dalam disk, dan pada saat
dieksekusi ia perlu berada pada suatu lokasi
dalam memori fisik.
- Address binding adalah
menempatkan address relatif program/proses ke
dalam address fisik meori (real memory
address). Dapat berlangsung
dalam salah satu tahapan :
kompilasi, load atau eksekusi
Tahapan Running Program
1. Tahapan Kompilasi :
source program (source code) dikompilasi menjadi
object module (object code).
2. Tahapan link &
load : object module di-link dengan object module lain
menjadi load module (execution
code) kemudian di-load ke memori
untuk dieksekusi.
3. Tahapan eksekusi :
mungkin juga dilakukan dynamic
linking dengan resident library.
Address Binding Saat
Kompilasi
1. Jika lokasi dari
proses sudah diketahui sebelumnya maka saat
kompilasi address-address instruksi dan
data ditentukan dengan alamat
fisik.
2. Jika terjadi
perubahan pada lokasi tersebut maka harus di rekompilasi.
Address Binding Saat
Load
1. Code hasil kompilasi
masih menunjuk address-address secara relatif,
saat di-load address-address disubstitusi
dengan alamat fisik berdasar
relokasi proses yang diterima.
2. Jika terjadi
perubahan relokasi maka code di-load ulang.
Address Binding Saat
Eksekusi
1. Binding (ikatan) bisa
dilakukan ulang selama proses
–Hal ini untuk memungkinkan pemindahan
proses dari satu lokasi
ke lokasi lain selama run.
2. Perlu adanya dukungan
hardware untuk pemetaan address
– Contoh : base register dan limit
register
0 Response to "MANAJEMEN MEMORI "
Posting Komentar