Sistem buddy

Post on 31-Jul-2015

64 views 1 download

Transcript of Sistem buddy

Bayu Kristian

Simulasi Sistem buddy( SO )

AwalMisalkan kita punya memori sebesar 1 Megabyte maka pada awal mula memori masih Kosong/bebas hanya 1 senarai 1Megabyte berisi satu isian tunggal satu lubang 1 Megabyte

Memori 1 Megabyte

Proses pertama datang dengan ukuran 85 kilobyte(lanj)

Proses pertama(P1) masuk sebesar 85 kilobyte,Maka akan dialokasikan sebesar 2 pangkat k yang terkecil yang dapat memuat ukuran proses yaitu 2 pangkat 7 atau 128 kilobyte .

Memori 1 Megabyte

Proses pertama datang dengan ukuran 85 kilobyte(lanj)

Pertama Karena belum tersedia blok berukuran 128 , 256 atau 512 maka blok memori 1 megabyte dipecah menjadi dua blok 512 kB, satu beralamat mulai dari 0 dan satunya 512

Memori 1 Megabyte

0 512

Proses pertama datang dengan ukuran 85 kilobyte(lanj)

Kemudian salah satu blok dipecah lagi (Sebelah kiri) menjadi dua bagian 256 Kilobyte.

Memori 1 Megabyte

0 512256

Proses pertama datang dengan ukuran 85 kilobyte(lanj)

Kemudian blok sebesar 256 tadi dipecah lagi (Sebelah kiri) menjadi dua bagian 128 kB.

Memori 1 Megabyte

0 512256128

Proses pertama datang dengan ukuran 85 kilobyte(lanj)

Karena ukuran yang diminta sudah terpenuhi 128 kilobyte yang dibutuhkan oleh proses pertama pemecahan blok diberhentikan dahulu.

Memori 1 Megabyte

0 512256128

Proses pertama datang dengan ukuran 85 kilobyte(lanj)

P1

Blok diisi dengan proses pertama.

Memori 1 Megabyte

0 512256128

Proses kedua datang dengan ukuran 45 kilobyte

P1

Karena blok pertama yang beralamatkan dari 0 sudah terisi maka yang digunakan adalah blok paling kiri yang tidak digunakan (mulai alamat 128). Proses kedua membutuhkan 45 kilobyte maka 2 pangkat 6 atau 64 adalah yang paling dekat dan memenuhi ukuran proses kedua.

Memori 1 Megabyte

0 512256128

Proses kedua datang dengan ukuran 45 kilobyte

P1

Blok kedua yang berukuran 128 kilobyte dipecah menjadi 2 kembali karena kita hanya membutuhkan 64 kilobyte saja untuk proses kedua maka akan menghasilkan 2 blok dengan ukuran 64 kilobyte.

Memori 1 Megabyte

0 512256128 192

Proses kedua datang dengan ukuran 45 kilobyte

P1 P2

Blok sudah memenuhi ukuran yang diminta yaitu sebesar 64 kilobyte maka proses kedua ditempatkan.

Memori 1 Megabyte

0 512256128 192

Proses ketiga datang dengan ukuran 75 kilobyte

P1 P2

Memori 1 Megabyte

0 512256128 192

Proses ketiga dengan ukuran 75 kilobyte maka 2 pangkat k yang mendakati adalah 2 pangkat 7 atau 128 kilobyte, tempatkan kembali proses ketiga ke blok paling kiri yang belum terisi.

Proses ketiga datang dengan ukuran 75 kilobyte

P1 P2

Memori 1 Megabyte

0 512256128 192

Namun karena pada blok paling kiri tersebut tidak cukup besar untuk memuat ukuran proses ketiga maka kita gunakan blok sebelah kanannya

Proses ketiga datang dengan ukuran 75 kilobyte

P1 P2

Memori 1 Megabyte

0 512256128 192

Blok yang beralamatkan mulai dari 256 dibagi 2 kembali karena kita hanya membutuhkan 128 kilobyte untuk proses ketiga yang berukuran 75 kilobyte maka dihasilkan blok dengan masing masing besar 128 kilobyte.

384

Proses ketiga datang dengan ukuran 75 kilobyte

P1 P2 P3

Memori 1 Megabyte

0 512256128 192

Ukuran terpenuhi yaitu 128 kilobyte, maka proses ditempatkan ke blok.

384

Proses pertama dealokasi

P1 P2 P3

Memori 1 Megabyte

0 512256128 192 384

Proses pertama dealokasi

P2 P3

Memori 1 Megabyte

0 512256128 192 384

Blok yang berisi proses pertama dibebaskan.

Proses keempat datang dengan ukuran sebesar 55 Kilobyte

P2 P3

Memori 1 Megabyte

0 512256128 192 384

Proses keempat membutuhkan 55 kilobyte sehingga alokasi memori yang akan diberikan 2 pangkat 6 atau 64 kilobyte

Proses keempat datang dengan ukuran sebesar 55 Kilobyte

P2 P3

Memori 1 Megabyte

0 512256128 192 384

Karena sebelumnya sudah ada blok yang berukuran sebesar 64 kilobyte maka blok itu terlebih dahulu yang akan diisi bukan blok yang paling kiri, karena jika mengambil yang paling kiri harus memecah kembali blok tersebut sampai menjadi 64 kilobyte (asal 128 kilobyte)

Proses keempat datang dengan ukuran sebesar 55 Kilobyte

P2 P4 P3

Memori 1 Megabyte

0 512256128 192 384

Proses keempat ditempatkan

Proses kedua dealokasi

P2 P4 P3

Memori 1 Megabyte

0 512256128 192 384

Proses kedua dealokasi

P4 P3

Memori 1 Megabyte

0 512256128 192 384

Blok yang ditempati oleh proses kedua dibebaskan

Blok kosong yang berdekatan dapat digabungkan

P4 P3

Memori 1 Megabyte

0 512256128 192 384

Blok kosong beralamat mulai dari 0 dan 128 yang kosong tidak bisa digabung menjadi satu blok kosong karena aturan sistem buddy yang mengharuskan setiap blok berukuran 2 pangkat k sehingga jika digabung atau sebesar 192 kilobyte bukan dari 2 pangkat k.

Proses keempat dealokasi

P4 P3

Memori 1 Megabyte

0 512256128 192 384

Proses keempat dealokasi

P3

Memori 1 Megabyte

0 512256128 192 384

Blok yang ditempati proses keempat dibebaskan.

Blok kosong digabungkan

P3

Memori 1 Megabyte

0 512256128 192 384

Blok yang sudah dealokasi tadi jika dijumlahkan ukurannya sebesar 256 atau memenuhi syarat sistem buddy, maka blok kosong tadi dapat digabungkan.

Blok kosong digabungkan

P3

Memori 1 Megabyte

0 512256 384

Proses ketiga dealokasi

P3

Memori 1 Megabyte

0 512256 384

Proses ketiga dealokasi

Memori 1 Megabyte

0 512256 384

Blok memori yang ditempati proses 3 dibebaskan

Blok kosong digabungkan

Memori 1 Megabyte

0 512256 384

Blok kosong digabungkan

Memori 1 Megabyte

0 512256

Blok kosong digabungkan

Memori 1 Megabyte

0 512

Memori kosong kembali menjadi 1 senarai 1 megabyte

Memori 1 Megabyte

Selesai