MANAJEMEN MEMORI
Wulandari Tampongangoy (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.
Wulandari Tampongangoy (NIM. 10 311 177)
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 register
Makasih atas ilmunya, sangat bermanfaat
BalasHapusmy blog