kebutuhan pengaksesan I/O secara langsung. Buffering adalah cara untuk
meningkatkan efisiensi sistem operasi dan kinerja proses-proses. Terdapat
beragam cara buffering, antara lain:
a. Single Buffering
Teknik ini merupakan buffering paling sederhana. Ketika proses
pemakai memberikan perintah I/O, sistem operasi menyediakan buffer
bagian memori utama sistem untuk operasi.
Untuk peralatan berorientasi blok, transfer masukan dibuat ke buffer sistem.
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. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya akhir
barisan pemrosesan maka blok yang dibaca tidak diperlukan.
Pendekatan ini umumnya meningkatkan kecepatan dibanding tanpa
buffering.
b. Double buffering
Peningkatan atas single buffering dapat dibuat dengan mempunyai
dua buffer sistem untuk operasi. Proses dapat transfer ke (atau dari) satu
buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain.
Double buffering menjamin proses tidak akan menunggu operasi I/O.
Peningkatan atas single buffering diperoleh, namun harus dibayar dengan
kompleksitas yang meningkat.
c. Circular buffering
Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari dengan menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circular buffer. Tiap buffer individu adalah satu unit di circular buffer.
Tidak ada komentar:
Posting Komentar