Tuesday, November 15, 2011

Overlay

Overlay

Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan
untuk proses, teknik overlay biasanya digunakan untuk kasus ini. Teknik Overlay
biasanya digunakan untuk memungkinkan sebuah proses mempunyai jumlah yang lebih
besar dari memori fisik daripada alokasi memori yang diperuntukkan. Ide dari overlay
adalah menyimpan di memori hanya instruksi dan data yang diperlukan pada satu
waktu. Jika intruksi lain diperlukan, maka instruksi tersebut diletakkan di ruang
memori menggantikan instruksi yang tidak digunakan lagi.
Sebagai contoh misalnya terdapat two-pass assembler. Selama pass 1, dibangun
table symbol, dan selama pass 2 dibangkitkan kode bahasa mesin. Kita dapat membagi
assembler ke dalam kode pass 1, kode pass 2, tabel symbol dan rutin umum yang
digunakan baik pada pass 1 maupun pass 2. Diasumsikan ukuran komponen sebagai
berikut :

     Pass 1 70K
     Pass 2 80K
     Tabel symbol 20K
     Rutin umum 30K

Apabila semua diletakkan di memori memerlukan 200K. Jika hanya tersedia tempat
150K, proses tidak dapat dijalankan. Pass 1 dan pass 2 tidak perlu berada di memori
pada waktu yang sama. Dengan menggunakan overlay, rutin dibagi dalam 2 overlay.
Overlay A adalah tabel symbol, rutin umum dan pass1 (membutuhkan total 120K) dan
overlay B terdiri dari tabel symbol, rutin umum dan pass 2 (membutuhkan 130K).
Ditambahkan 10K untuk driver overlay dan dimulai dari overlay A. Setelah selesai
dijalankan overlay B dengan mengganti tempat dari overlay A. Overlay tidak membutuhkan
dukungan khusus dari sistem operasi. User dapat mengimplementasikannya secara 
lengkap menggunakan struktur file sederhana, membaca dari file ke memori dan 
meloncat ke memori dan mengeksekusi instruksi read yang lebih baru. Sistem operasi 
memberitahu hanya jika terdapat I/O yang melebihi biasanya. Penggunaan overlay 
terbatas untuk beberapa sistem yang mempunyai jumlah memori fisik terbatas dan 
kekurangan dukungan H/W untuk teknik yang lebih lanjut.

No comments:

Post a Comment