Manajemen Memori

download Manajemen Memori

of 44

  • date post

    23-Jan-2016
  • Category

    Documents

  • view

    91
  • download

    3

Embed Size (px)

description

Manajemen Memori. (Contd). Manajemen Memori. Manajemen memori pada sistem Monoprogramming Manajemen memori pada sistem Multiprogramming. Manajemen memori pada sistem Monoprogramming. Ciri-ciri: Hanya ada satu proses pada suatu saat dan menggunakan seluruh area memori. - PowerPoint PPT Presentation

Transcript of Manajemen Memori

  • Manajemen Memori(Contd)

  • Manajemen Memori Manajemen memori pada sistem MonoprogrammingManajemen memori pada sistem Multiprogramming

  • Manajemen memori pada sistem MonoprogrammingCiri-ciri:Hanya ada satu proses pada suatu saat dan menggunakan seluruh area memori.Program diletakkan seluruhnya ke memori dari disk.Program mengambil kendali seluruh sumber daya komputer.

  • Manajemen memori pada sistem MultiprogrammingCiri-ciri:Terdapat sejumlah proses yang menempati memoriAlokasi memori ke proses dapat berurutan atau tidakDimungkinkan suatu lokasi memori utama diakses bersama oleh sejumlah proses (memory sharing)

  • Manajemen memori pada sistem MultiprogrammingBerdasarkan pengalokasian memori

    Alokasi pada sistem multiprogrammingAlokasi berurut (contiguous)Alokasi tidak berurut (non-contiguous)Partisi statisPartisi dinamisSistem buddyPaging Segmentasikombinasi

  • Contiguous AllocationMemori harus mengakomodasi kebutuhan SO dan proses userMemori utama biasanya terbagi dalam dua bagian:Resident operating system, biasanya tersimpan di alamat memori rendah.User proces menggunakan memori beralamat tinggi/besar. Terbagi menjadi:Partisi statisPartisi dinamisSistem buddy

  • Pengalokasian berurut dengan partisi statisCiri-ciriMemori dibagi menjadi partisi-partisi dengan ukuran yang tetap.Satu proses hanya memakai satu partisi. Jika proses sudah selesai, partisi tersebut dapat digunakan proses yang lain.Dibagi menjadi 2 bagian:Berukuran samaBerukuran tidak sama

  • Pengalokasian berurut dengan partisi statis dengan ukuran samaBanyak kelemahan, antara lain:Proses yang ukurannya lebih besar dari ukuran partisi tidak dapat dialokasikan.Sebaliknya bila ukuran proses lebih kecil daripada ukuran partisi, maka akan terjadi pemborosan ruang memori (Fragmentasi internal).

  • Pengalokasian berurut dengan partisi statis dengan ukuran tidak samaUntuk 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 strategi:Satu antrian untuk setiap partisiSatu antrian untuk seluruh partisi

  • Pengalokasian berurut dengan partisi statis dengan ukuran tidak samaSatu antrian untuk setiap partisiTiap 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 partisiSemua proses dimasukkan pada satu antrian yang samaAlgoritma penjadwalan melakukan pemilihan partisiKelemahan: jika proses yang berukuran kecil terpaksa masuk ke partisi sisa yang besar, sehingga terjadi pemborosan ruang.

  • Pengalokasian berurut dengan partisi dinamisCiri-ciri:Pada kondisi awal, memori tidak dibagi menjadi partisi-partisiPemartisian 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.Keuntungan : tidak terjadi fragmentasi internal alokasi memori disesuaikan dengan besarnya image proses.

  • Pengalokasian berurut dengan partisi dinamisCara kerja:Pengalokasian dilakukan dengan mencari hole suatu ruang memori utama yang kosong, yang cukup besar untuk menampung image proses.Hole sisa kadang kala terlalu kecil untuk dapat dialokasikan ke proses lainnya sehingga tidak bisa digunakan lagi fragmentasi eksternal.

  • Pengalokasian berurut dengan partisi dinamisSalah satu cara untuk mengatasi masalah ini adalah melakukan memory compaction.Yaitu: menggeser image proses-proses yang ada di memori sehingga hole terkumpul di satu tempat saja.

  • 1000

  • Pengalokasian berurut dengan partisi dinamisKelemahan: proses alokasi dan dealokasi menjadi lebih rumit Perlu pengelolaan informasi area memori yang masih kosong.Ada 2 metode pengelolaan memori kosong:Peta bit (bitmap)Linked list

  • Pengalokasian berurut dengan partisi dinamisPeta bit (bitmap)Menggunakan area memori khusus untuk mencatat seluruh area kosong pada memori utama.Memakai nilai 0 dan 1Nilai 0 alamat memori tersebut masih kosongNilai 1 alamat memori tersebut sudah terisi

  • Pengalokasian berurut dengan partisi dinamisLinked listInformasi 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.

  • Pengalokasian berurut dengan partisi dinamisDiperlukan algoritma untuk menentukan hole mana yang akan dialokasikan ke suatu proses.Algoritma Best-fitAlgoritma First-fitAlgoritma Next-fitAlgoritma Worst-fit

  • Pengalokasian berurut dengan partisi dinamisAlgoritma Best-fitMencari memori blok yang paling kecil yang dapat menampung image prosesMemerlukan waktu lama karena harus searching seluruh blok memori utamaFragmentasi eksternal dapat ditekan sekecil mungkin

  • Pengalokasian berurut dengan partisi dinamisAlgoritma First-fitMencari memori kosong dari alamat awal sampai menemukan blok yang dapat menampung image prosesSederhana dan cepat.Algoritma Next-fitHampir sama dengan First-fit.Bedanya: proses searching dimulai dari alamat alokasi terakhir

  • Pengalokasian berurut dengan partisi dinamisAlgoritma worst-fitMencari hole yang paling besar di seluruh area memori utama.Tujuannya: hole sisa yang tercipta setelah alokasi masih cukup besar untuk dialokasikan ke proses lainnya.

  • Pengalokasian berurut dengan sistem buddyBerupa pemartisian secara dinamisCiri khusus adalah partisi yang terbentuk senantiasa berukuran besar sebesar bilangan 2n 2,4,8,16..256,512,1024(1Mb)

  • Pengalokasian berurut dengan sistem buddyAlokasi memori pada sistem buddy:Menentukan ukuran partisiDitentukan ukuran partisi untuk menampung image proses yaitu ukuran bilangan pangkat 2 terkecilMisal : ukuran image proses = 12kbmaka ukuran partisi yang bisa digunakan adalah 16kb.

  • Pengalokasian berurut dengan sistem buddyPengalokasianSelanjutnya adalah mencari hole yang ukurannya sebesar perhitungan.Jika tidak ada maka dicarikan hole yang berukuran sedikit lebih besar. Kemudian dipecah secara bertahap sesuai dengan aturan bilangan pangkat 2.Misal : ukuran image proses = 12kbdan hole yang paling kecil adalah 64kb.maka dipecah menjadi 2 partisi 32kb, selanjutnya dipecah lagi menjadi 2 partisi 16kb.dan partisi 16kb pertama yang bisa dipakai untuk image proses 12kb.

  • 128

  • Pengalokasian tak berurut dengan sistem pagingPada 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 pagePada sistem paging , perlua adanya translasi alamat ke memori fisik yang dipartisi secara statis yang disebut frame, yang ukurannya sama dengan page pada ruang alamat logika

  • Pengalokasian tak berurut dengan sistem pagingKonsep 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 frameLoading time: page-page image proses diletakkan pada frame-frame kosong dan dicatat pada page table

  • Proteksi Memori pada sistem pagingBerfungsi menghindari pengaksesan memori secara ilegal.misal: pengaksesan bagian memori yang sudah ditempati proses lain.Proteksi frame dilakukan dengan cara menambahkan bit proteksi untuk tiap entry page table misal: cek apakah frame tersebut bersifat read atau read-write.cek apakah alamat logika yang dituju suatu proses valid atau invalid.

  • Memory Sharing pada sistem pagingUntuk 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 table nya.

  • Pengalokasian tak berurut dengan sistem segmentationMemakai sistem partisi dinamis.Pada pengalamatan logika, image proses dibagi menjadi bagian-bagian yang disebut segmen.Pembagian segmen biasanya mengikuti struktur program oleh kompiler, yang biasanya tiap segmen berupa main program, stack, routine, symbol tablePartisi memori utama terjadi pada saat alokasi yang besarnya sesuai dengan besar segmen program yang dialokasikan

  • Pengalokasian tak berurut dengan sistem segmentationKonsep 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)

  • Segmentasi

  • Proteksi memori pada sistem segmentationMembandingkan 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 (addresing error)

  • Memori sharing pada sistem segmentationSharing segmen antara 2 atau lebih proses dapat dilakukan dengan mencatat lokasi alokasi segmen tersebut ke tabel segmen masing-masing proses.