Tuesday, May 26, 2015

I/O Buffering

A. Pengertian Buffering

Buffering adalah suatu proses melakukan buffer dimana buffer merupakan area memori yang menyimpan data ketika data tersebut sedang dipindahkan antara dua device atau antara device dan aplikasi. 

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 sistem operasi)

Ketika proses memberi perintah untuk perangkat I/O , maka data akan masuk ke dalam buffer di sistem operasi. Untuk perangkat berorientasi blok , transfer masukan akan dibuat ke buffer sistem dan setelah transfer selesai , proses akan memindahkan blok data ke user proses dan segara meminta blok lain.

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

Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O.

4. Circular Buffering
Pada circular buffering sistem operasi menggunakan lebih dari dua buffer karena jika proses melakukan operasi I/O yang berturutan dengan cepat maka double buffering tidak dapat mengatasinya. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri disebut sebagai circular buffer. Tiap buffer individu adalah satu unit di circular buffer.


B. Alasan dilakukannya Buffering

Buffering dilakukan atas 3 alasan , yaitu :


1. Untuk mengatasi adanya kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data.

2. Untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data.
Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali.

3. Untuk mendukung copy semantics untuk aplikasi I/O.

www.skyconnectiva.com
www.binus.ac.id

1 comment: