Manajemen Memori (2)
12:53 AM
1.
Manajemen memori pada sistem monoprogramming
2.
Manajemen memori pada sistem multiprogramming
Pada Sistem Monoprograming ciri-cirinya :
2.
Program diletakkan seluruhnya ke memori dari
disk
3.
Program mengambil kendali seluruh sumber daya computer
Pada Sistem Multiprogramming
1.
Terdapat sejumlah proses yang menempati memori.
2.
Alokasi memori ke proses dapat berurutan atau
tidak.
3.
Dimungkinkan suatu lokasi memori utama diakses
bersama oleh sejumlah proses(memory sharing).
Berdasarkan pengalokasian memori, manajemen memori pada
sistem multiprogramming dibagi menjadi:
1.
Alokasi berurut(contiguous)àpartisi statis, partisi
dinamis, sistem buddy
1.
Pengalokasian berurut dengan partisi statis.
·
Memori dibagi menjadi partisi dengan ukuran
tetap
· Satu proses hanya memakai satu partisi, Jika
proses sudah selesai, partisi tersebut dapat digunakan proses yang lain.
·
Dibagi menjadi 2 bagian : Berukuran sama dan
berukuran tidak sama.
Pengalokasian berurut dengan
partisi statis berukuran sama : kelemahannya antara lain adalah proses yang
lebih besar dari ukuran partisi tidak dapat dialokasikan, sebaliknya jika
ukuran proses lebih kecil daripada ukuran partisi, maka akan terjadi pemborosan
ruang memori (Fragmentasi Internal : terjadi jika jumlah memori yang diberikan
oleh penjadwal CPU untuk tempat proses lebih besar daripada yang diminta proses
karena adanya selisih antara permintaan proses dengan alokasi lubang yang sudah
ditetapkan)
Pengalokasian berurut dengan
partisi statis berukuran tidak sama : untuk mengatasi kelemahan dari
pengalokasian berurut dengan partisi statis dengan ukuran sama, yaitu proses
ukuran kecil diletakkan ke partisi yang kecil dan sebaliknya. Ada 2 jenis
stategi dalam pengalokasian berurut jenis ini, yaitu 1 antrian untuk setiap
partisi dan 1 antrian untuk seluruh partisi.
Satu antrian untuk setiap partisi :
setiap proses diletakkan pada partisi dengan ukuran terkecil yang dapat
dimuatnya. Kelemahan ada partisi yang memiliki antrian panjang dan ada yang
kosong.
Satu antrian untuk seluruh partisi
: Semua proses dimasukkan pada satu antrian yang sama dan menggunakan algoritma
penjadwalan yang melakukan pemilihan partisi. Kelemahan nya adalah jika proses
yang berukuran kecil terpaksa masuk ke partisi sisa yang besar, sehingga
terjadi pemborosan ruang.
2.
Pengalokasian berurut dengan partisi dinamis.
Ciri-ciri :
·
Pada kondisi awal, memori tidak dibagi menjadi
partisi-partisi.
·
Pemartisian dilakukan pada saat image proses
akan disalin ke memori utama.
·
Ukuran partisi yang dialokasikan akan
disesuaikan dengan ukuran image proses.
·
Partisi akan dibebaskan jika program sudah
selesai.
·
Keuntuan nya adalah tidak terjadi fragmentasi
internal. Alokasi memori disesuaikan dengan besarnya image proses.
Cara Kerja : Pengalokasian
dilakukan dengan mencari hole(suatu ruang memori utama yang kosong, yang cukup
besar untuk menampung image proses), hole sisa kadang terlalu kecil untuk dapat
dialokasikan ke proses lainnya sehingga tidak bisa digunakan lagi atau terjadi
fragmentasi exsternal(Muncul apabila jumlah keseluruhan memori kosong yang
tersedia memang mencukupi untuk menampung permintaan tempat dari proses, tetapi
letaknya tidak berkesinambungan atau terpecah menjadi beberapa bagian kecil
sehingga proses tidak dapat masuk.
Untuk mengatasi masalah fragmentasi
external maka dilakukan memory compaction yaitu penggeseran image proses yang
ada di memori, sehingga hole terkumpul di satu tempat saja.
Kelemahan dari pengalokasian
berurut dengan partisi dinamis adalah proses alokasi dan dealokasi menjadi
lebih rumit dan perlu pengelolaan informasi area memori yang masih kosong, ada
2 metode pengelolaan memori kosong :
1.
Peta bit(Bitmap)à
menggunakan area memori khusu untuk mencatat seluruh area kosong pada memori
utama, memakai nilai 0 dan 1 ( 0 à
alamat memori tersebut masih kosong, 1àalamat
memori tersebut sudah terisi).
2.
Linked ListàInformasi
mengenai hole kosong berikutnya dicatat pada hole kosong sebelumnya. Tidak
diperlukan area memori khusus karena seluruh informasi tercatat di area memori
kosong itu sendiri sehingga menghemat kapasitas memori utama.
Algoritma untuk menentukan hole
mana yang akan dilokasikan ke suatu proses.
1.
Algoritma Best-fit : Mencari memoriblok paling
kecil yang dapat menampung image proses, memerlukan waktu lama karena harus
searching seluruh blok memori utama, fragmentasi exsternal dapat ditekan
sekecil mungkin.
2.
Algoritma First-fit : mencari memori kosong dari
awal alamat sampai menemukan blok yang dapat menampung image proses, sederhana
dan cepat.
3.
Algoritma Next-Fit : Hampir sama dengan first-fot
bedanya adalah proses searching dimulai dari alamat alokasi terakhir.
4.
Algoritma Worst-Fit : Mencari hole yang paling
besar di seluruh area memori utama, tujuannya adalah hole sisa yang tercipta
setelah alokasi masih cukup besar untuk dialokasikan ke proses lainnya.
3.
Pengalokasian berurut dengan sistem buddy :
berupa pemartisian secara dinamis, ciri khusus adalah partisi yang terbentuk
senantiasa berukuran sebesar bilangan 2^n.
Alokasi memori pada sistem buddy:
1.
Menentukan ukuran partisi : ditentukan ukuran
partisi untuk menampung image proses yaitu ukuran bilangan pangkat 2 terkecil.
2.
Selanjutnya adalah mencari hole yang ukurannya
sebesar perhitungan, Jika tidak ada maka dicarikan hole yang berukuran sedikit
lebih besar. Kemudaian dipecah secara bertahap sesuai dengan aturan bilangan
pangkat 2.
Pengalokasian tak berurut(non contiguous) dengan sistem
paging : Pada model pengalokasian tak berurut, bagian-bagian dari image proses
dapat diletakkan secara terpisah di memori utama, pada sistem paging memerlukan
pengalamatan logika khusus yang membagi menjadi blok-blok dengan ukuran sama
yang disebut page. Pada Sistem paging perlu adanya translasi alamat ke memori
fisik yang dipartisi secara statis yang disebut frame, yang ukurannya sama
dengan page pada ruang alamat logika.
Konsep dasar alokasi memori : memori utama dibagi menjadi
frame-frame kecil berukuran sama dan diberi nomor frame sebagai referensi.
Ruang alamat logika proses dibagi menjadi page-page seukuran frame. Loading
time(page-page image proses diletakkan pada frame-frame kosong dan dicatat pada
page table)
Proteksi memori pada sistem paging : berfungsi menghindari
pengaksesan memori secara illegal(missal pengaksesan bagian memori yang sudah
ditempati proses lain). Proteksi frame dilakukan dengan cara menambahkan bit
proteksi untuk tiap entry page table(missal : cek apakah frame tersebut
bersifat read atau read-write, cek apakah alamat logika yang dituju suatu
proses valid atau invalid)
Memory Sharing pada sistem paging : untuk menghemat
penggunaan kapasitas memori. Jika ada 2 atau lebih proses yang memiliki bagian
kode instruksi, atau data yang sama maka dapat digunakan bersama dan cukup
diletakkan sekali di frame memori. Masing-masing proses mengacu ke frame yang
sama pada page tablenya.
Pengalokasian tak berurut dengan sistem segmentation :
memakai sistem partisi dinamis. Pada pengalamatan logika, image proses dibagi
menjadi bagian-bagian yang disebut segmen. Pembagian segmen biasanya mengikuti
struktur program oleh compiler, yang biasanya tiap segmen berupa main program,
stack, routine, symbol table. Partisi memori utama terjadi pada saat alokasi
yang besarnya sesuai dengan besar segmen program yang dialokasikan.
Konsep Alokasi memori : image proses dibagi menjadi beberapa
segmen yang ukurannya tidak harus sama. Segmen-segmen image proses dialokasikan
ke tempat-tempat kosong di memori utama, dan informasi alokasi dicatat pada
segmen table. Segmen table berisi nilai limit(panjang segmen) dan nilai
base(alamat awal bagian memori yang dialokasikan)
Proteksi memori : Membandingkan nilai segmen yang ada di
pengalamatan logika dengan nilai limit yang ada di segmen table. Apabila nilai
segmen yang ada di pengalamatan logika lebih besar daripada nilai limit yang
ada di segmen table, berarti terjadi usaha pengaksesan lokasi diluar area
segmen program itu sehingga memicu terjadinya trap(addressing error).
Memori Sharing : Sharing segmen antara 2 atau lebih proses
dilakukan dengan mencatat lokasi alokasi segmen tersebut ke table segmen
masing-masing proses.
Dari Konsep pengalokasian memori antara sistem paging dan
segmentation maka dapat dilihat perbedaannya sebagai berikut:
Sistem Paging
|
Sistem Segmentation
|
Statis, dibagi menjadi frame-frame dengan ukuran sama
|
Dinamis, dibagi menjadi segmen segmen yang ukurannya tidak harus sama
|
Pencatatan dilakukan menggunakan page table
|
Informasi alokasi dicatat pada segmen table
|
Proteksi dilakukan dengan menambahkan bit proteksi pada tiap page
|
Proteksi dilakukan dengan cara membandingkan nilai segmen dengan
nilai limit segmen table
|
Memori sharing: data yang sama cukup diletakkan sekali pada frame,
masing-masing proses mengacu pada frame yang sama pada page tablenya.
|
Sharing segmen dilakukan dengan mencatat lokasi alokasi segmen ke
table segmen masing-masing proses
|
Sumber : buku OS andi
Download Materi : Manajemen memori 2
Download Materi : Manajemen memori 2
2 comments
makasih kaka, kebetulan besok ada OS, jadi bisa ikutan baca juga, sekalian ninggalin link hehe
ReplyDeleteatas ane modus...
ReplyDelete