Sistem buddy
-
Upload
bayu-1 -
Category
Technology
-
view
64 -
download
1
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