MANAJEMEN MEMORI SISTEM OPERASI
MANAJEMEN MEMORI (NIM. 10 311 177)
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
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.
Dalam
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 di sistem 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) di pemroses. Setiap kali program
pemakai mengacu alamat memori dibandingkan register batas untuk memastikan
proses pemakai tidak merusak sistem operasi, yaitu tidak melewati
nilai register batas.
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.
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 :
· Mempermudah
pemogram
Pemrogram dapat memecah program
menjadi dua proses atau lebih.
· Agar dapat
memberi layanan interaktif ke beberapa orang secara simultan
Untuk itu diperlukan kemampuan
mempunyai lebih dari satu proses di memori agar memperoleh kinerja yang baik.
· 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.
· Eksekusi
lebih murah jika proses besar dipecah menjadi beberapa proses kecil
· 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 registersumber : http://wulantampongangoy.blogspot.co.id
Tidak ada komentar:
Posting Komentar