Blogger Backgrounds

Breaking Dawn Soundtrack


Sunday, April 18, 2010

Alokasi Memori Yang Berdampingan

Alokasi Memori Yang Berdampingan

Memori biasanya dibagi menjadi dua bagian, yakni:

1. Sistem Operasi (Operating System).
2. Proses Pengguna (User Processes).

Sistem Operasi dapat dialokasikan pada memori bagian bawah (low memory) mau
pun memori bagian atas (high memory). Hal ini tergantung pada letak vektor interupsi
(interrupt vector) pada memori tersebut. Jika vektor interupsi lebih sering berada pada
memori bawah, maka sistem operasi juga biasanya diletakkan pada memori bawah.

Memori memerlukan suatu perlindungan yang disebut dengan istilah memory
protection yakni perlindungan memori terhadap:

1. Sistem operasi dari proses pengguna;
2. Proses pengguna yang satu dari proses pengguna lainnya.

Perlindungan memori tersebut dapat diakomadasikan menggunakan suatu register
pengalokasian kembali (relocation register) dengan suatu register batasan (limit register).

Register batasan berisi jarak dari alamat logik (logical address), sementara register
pengalokasian kembali berisi nilai dari alamat fisik (physical address) yang terkecil.
Dengan adanya register pengalokasian kembali dan register batasan ini, mengakibatkan
suatu alamat logik harus lebih kecil dari register batas an dan memori akan memetakan
(mapping) alamat logik secara dinamik dengan menambah nilai dalam register
pengalokasian kembali.

register batasan register pengalokasian kembali
| |
|Prosesor|-->(alamat logik)-->|<|->(ya)-->|+|-->(alamat fisik)-->|MAR|
|(no)

perangkap: kesalahan pengalamatan

Gambar 4-1. Alokasi Kembali.

Sistem Operasi 6Sebagaimana telah diketahui, bahwa pengatur jadual prosesor (CPU scheduler)
bertugas mengatur dan menyusun jadual dalam proses eksekusi proses yang ada.
Dalam tugasnya, pengatur jadual prosesor akan memilih suatu proses yang telah
menunggu di antrian proses (process queue) untuk dieksekusi. Saat memilih satu proses
dari proses yang ada di antrian tersebut, dispatcher akan mengambil register
pengalokasian kembali dan register batasan dengan nilai yang benar sebagai bagian dari
skalar alih konteks.

Oleh karena setiap alamat yang ditentukan oleh prosesor diperiksa berlawanan
dengan register-register ini, kita dapat melindungi sistem operasi dari program pengguna
lainnya dan data dari pemodifikasian oleh proses yang sedang berjalan.

Metode yang paling sederhana dalam mengalokasikan memori ke proses-proses
adalah dengan cara membagi memori menjadi partisi tertentu. Secara garis besar, ada
dua metode khusus yang digunakan dalam membagi-bagi lokasi memori:

A. Alokasi partisi tetap (Fixed Partition Allocation) yaitu metode membagi memori menjadi
partisi yang telah berukuran tetap.

Kriteria-kriteria utama dalam metode ini antara lain:

• Alokasi memori: proses p membutuhkan k unit memori.
• Kebijakan alokasi yaitu "sesuai yang terbaik": memilih partisi terkecil yang cukup
besar (memiliki ukuran = k).
• Fragmentasi dalam (Internal fragmentation) yaitu bagian dari partisi tidak
digunakan.
• Biasanya digunakan pada sistem operasi awal (batch).
• Metode ini cukup baik karena dia dapat menentukan ruang proses; sementara
ruang proses harus konstan. Jadi sangat sesuai dengan parti si berukuran tetap
yang dihasilkan metode ini.
• etiap partisi dapat berisi tepat satu proses sehingga derajat dari pemrograman
banyak multiprogramming dibatasi oleh jumlah partisi yang ada.
• etika suatu partisi bebas, satu proses dipilih dari masukan antrian dan
dipindahkan ke partisi tersebut.
• Setelah proses berakhir (selesai), partisi tersebut akan tersedia (available) untuk
proses lain.

B. Alokasi partisi variabel (Variable Partition Allocation) yaitu metode dimana sistem
operasi menyimpan suatu tabel yang menunjukkan partisi memori yang tersedia dan
yang terisi dalam bentuk s.

• Alokasi memori: proses p membutuhkan k unit memori.
• Kebijakan alokasi:
1. Sesuai yang terbaik: memilih lubang (hole) terkecil yang cukup besar untuk
keperluan proses sehingga menghasilkan sisa lubang terkecil.

2. Sesuai yang terburuk: memilih lubang terbesar sehingga menghasil kan sisa
lubang.

3. Sesuai yang pertama: memilih lubang pertama yang cukup besar untuk
keperluan proses
• Fragmentasi luar (External Fragmentation) yakni proses mengambil
ruang, sebagian digunakan, sebagian tidak digunakan.

Bab 4 Memori 7• Memori, yang tersedia untuk semua pengguna, dianggap sebagai suatu
blok besar memori yang disebut dengan lubang. Pada suatu saat
memori memiliki suatu daftar set lubang (free list holes).

• Saat suatu proses memerlukan memori, maka kita mencari suatu lubang
yang cukup besar untuk kebutuhan proses tersebut.

• Jika ditemukan, kita mengalokasikan lubang tersebut ke proses tersebut
sesuai dengan kebutuhan, dan sisanya disimpan untuk dapat digunakan
proses lain.

4. Suatu proses yang telah dialokasikan memori akan dimasukkan ke memori
dan selanjutnya dia akan bersaing dalam mendapatkan prosesor untuk
pengeksekusiannya.

5. Jika suatu proses tersebut telah selesai, maka dia akan melepaskan kembali
semua memori yang digunakan dan sistem operasi dapat
mengalokasikannya lagi untuk proses lainnya yang sedang menunggu di
antrian masukan.

6. Apabila memori sudah tidak mencukupi lagi untuk kebutuhan proses, sistem
operasi akan menunggu sampai ada lubang yang cukup untuk dialokasikan
ke suatu proses dalam antrian masukan.

7. ika suatu lubang terlalu besar, maka sistem operasi akan membagi lubang
tersebut menjadi dua bagian, dimana satu bagian untuk dialokasikan ke
proses tersebut dan satu lagi dikembalikan ke set lubang lainnya.

8. Setelah proses tersebut selesai dan melepaskan memori yang
digunakannya, memori tersebut akan digabungkan lagi ke set lubang.

Fragmentasi luar mempunyai kriteria antara lain:

• Ruang memori yang kosong dibagi menjadi partisi kecil.

• Ada cukup ruang memori untuk memenuhi suatu permintaan, tetapi memori itu tidak
lagi berhubungan antara satu bagian dengan bagian lain (contiguous) karena telah
dibagi-bagi.

• Kasus terburuk (Worst case): akan ada satu blok ruang memori yang kosong yang
terbuang antara setiap dua proses.

• Aturan 50 persen: dialokasikan N blok, maka akan ada 0.5N blok yang hilang akibat
fragmentasi sehingga itu berarti 1/3 memori akan tidak berguna.

Perbandingan kompleksitas waktu dan ruang tiga kebijakan alokasi memori.

Waktu Ruang
===================
Sesuai yang Terbaik Buruk Baik
Sesuai yang Terburuk Buruk Buruk
Sesuai yang Pertama Baik Baik

Gambar 4-2. Alokasi Kembali.

Sesuai yang pertama merupakan kebijakan alokasi memori paling baik secara praktis.