Manajemen Memori (2)

12:53 AM

1.       Manajemen memori pada sistem monoprogramming
2.       Manajemen memori pada sistem multiprogramming

Pada Sistem Monoprograming ciri-cirinya :
1.       Hanya ada satu proses pada suatu saat dan menggunakan seluruh area memori
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
2.       Alokasi tidak berurut(non contiguous)àpaging, segmentasi, kombinasi.


Contiguous Allocation : Memori harus mengakomodasi kebutuhan Operating System dan proses user, memori utama biasanya terbagi dalam 2 bagian yaitu Resident operating System, biasanya tersimpan di alamat memori rendah dan User process yang menggunakan memori beralamat tinggi/besar.
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
Enhanced by Zemanta

You Might Also Like

2 comments

  1. makasih kaka, kebetulan besok ada OS, jadi bisa ikutan baca juga, sekalian ninggalin link hehe

    ReplyDelete