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
Posting Komentar