RINGKASAN MATERI BUFFERING

Buffering merupakan teknik untuk melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O secara langsung. Buffering adalah cara untuk meningkatkan efisiensi sistem operasi dan kinerja proses-proses.Buffering dilakukan untuk tiga buah alasan.

Terdapat 4 cara buffering yaitu :


1. No Buffering (tidak terdapat buffer dalam sistem operasi).



Ketika proses memberi perintah untuk perangkat I/O , maka data akan langsung melewati sistem operasi dan langsung dikirim ke proses user.


2. Single Buffering (terdapat satu buffer dalam system operasi)


Teknik ini merupakan buffering paling sederhana. Ketika transfer selesai, proses memeindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan bahwa blok tersebut akan segera diperlukan.  Pendekatan ini umumnya meningkatkan kecepatan dibanding tanpa 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:

o Tunggu instruksi READ dari program.

o Memberitahukan instruksi start I/O ke unit kontrol.

o Tunggu hingga buffer dikosongkan.

o Memberitahukan interupsi pada program sehingga dapat mulai membaca dari buffer.

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


3. Double Buffering (terdapat 2 buffer pada system operasi)


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. Double buffering menjamin proses tidak akan menunggu operasi I/O. Peningkatan atas single buffering diperoleh, namun harus dibayar dengan kompleksitas yang meningkat.

4. Circular Buffering



Sebuah skema dari buffer ganda seharusnya mulus keluar dari alur data diantara device I/O dan proses. Buffering ganda dapat tidak mencukupi  jika proses melakukan operasi I/O yang berurutan dengan cepat. Masalah ini dapat dihindari dengan menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri yang diacu sebagai sirkular buffer.dengan masing-masing buffer tunggal menjadi satu unit buffer sirkular.


Comments