Manajemen Buffer

Single Buffering

Gambar di atas menunjukkan struktur data dari buffer dalam bentuk yang sederhana, yang terdiri dari satu record per-block dan satu buffer per-berkas,dimana buffer ini berfungsi mengisikan permintaan dari sebuah program. Struktur buffer ini berisi sebuah pointer pada alamat awal & channel program untuk berkas.
Struktur dasar dari channel program untuk mengisi buffer:

  • Tunggu instruksi READ dari program.
  • Memberitahukan instruksi start I/O ke unit kontrol.
  • Tunggu hingga buffer dikosongkan.
  • Memberitahukan interupsi pada program sehingga dapat mulai membaca dari buffer.

Masalah yang timbul di sini adalah pemakai program menganggur pada saat menunggu buffer diisi.

Anticipatory Buffering
Pendekatan lain yang dapat menghilangkan beberapa hal yang mungkin untuk menunggu CPU adalah dengan menggunakan Anticipatory Buffering.
Dengan anticipatory buffering, sistem kontrol I/O akan berusaha mendahulukan kebutuhan program akan data. Diusahakan agar buffer selalu penuh. Channel selalu menguji flag ini. Jika buffer mendekati kosong, karena pemakai program telah membaca isinya maka flag itu akan direset dan channel program akan menginitates pengisian kembali buffer.
Struktur dasar channel program untuk mengisi sebuah buffer dengan anticipatory buffer diperlihatkan pada gambar di bawah ini:

Double Buffering
Untuk mengurangi kemungkinan dari program menunggu, maka double buffer dapat digunakan. Dua dari tempat buffer yang ada, hanya satu yang ditetapkan untuk berkas.
Ide dasar dari double buffering adalah jika consumer mengosongkan salah satu buffer, maka producer dapat mengisikan ke dalam buffer yang lain, pada saat buffer pertama sudah kosong, maka buffer yang kedua harus dalam keadaan penuh. Kemudian consumer dapat mengkosongkan buffer yang kedua, pada saat producer mengisi buffer yang pertama, demikian seterusnya.

Three Buffers

pfill : yang menunjukkan buffer berikutnya akan diisi atau sedang diisi
pempty : yang menunjukkan buffer berikutnya akan dikosongkan atau sedang dikosongkan

About falaq83jie

Suka yang Memacu adrenalin

Posted on July 18, 2010, in sistem operasi. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: