Binary IO OPERASI FILE

2008 | Direktorat Pembinaan SMK 415 dalam kapasitas data besar atau sampai sebuah buffer disegarkan kembali. Sebuah program yang mengikuti dirancang untuk dicetak pesan cepat sampai setiap bagian terselesaikan. Perhatikan potongan program dibawah ini: cout mulai ; do_step_1 ; cout langkah 1 complete ; do_step_2 ; cout langkah 2 complete ; do_step_3 ; cout langkah 3 complete\n ; sebagai ganti dari menulis sebuah pesan sampai pada tiap langkah selesai, cout pesan tersebut diletakan dalam sebuah buffer. Hanya setelah program selesai maka selanjutnya buffer memperleh penyegaran atau pengosongan dan semua pesan yang datang ditumpahkan keluar dengan seketika. Sebuah manipulator IO flush akan menyegarkan buffer-buffer tersebut. Sifat yang ditulis diatas diberikan contoh seperti pada program dibawah ini: cout mulai flush; do_step_1 ; cout Langkah 1 complete flush; do_step_2 ; cout langkah 2 complete flush; do_step_3 ; cout langkah 3 complete\n flush; karena tiap pernyataan keluaran berakhir dengan flush, sebuah keluaran akan ditampilkan secara langsung. Ini artinya bahwa penyelesaian pesan akan datang sesuai dengan waktunya. Dalam IO buffer, data ditahan dan kemudian dikirim dalam bentuk file, sedangkan dalam IO tidak terbuffer data secara langsung dikirim dalam bentuk file. Analogi ini disampaikan dalam bentuk kejadian di lingkunang kita pada sejumlah penjepit kertas yang jatuh kelantai seseorang dapat mengambilnya dalam mode buffer atau tanpa buffer. Dengan mode buffer jika anda menggunakan tangan kanan untuk mengambil penjepit kertas dan kemudian memindahkan penjepit ke tangan kiri. Proses tersebut diulang- ulang sampai pada tangan kiri penuh kemudian penjepit tersebut dipindahkan ke dalam kotak yang ada diatas meja. Dengan buffer IO akan ada media sementara yang digunakan untuk menampung sebelum dipindahkan ke media yang utama dan lebih besar. Dalam mode tanpa buffer, dapat dianalogikan seperti anda mengambil sejumlah penjepit kertas yang jatuh dilantai dan langsung memasukan kedalam kotak yang berada diatas meja. Pekerjaan ini dilakukan dengan tangan kanan tanpa menggunakan tangan kiri sebagai penampung sementara. Dalam kebanyakan kasus, IO dengan buffer sering digunakan daripada tanpa buffer. Dalam IO tanpa buffer tiap pembacaan dan penulisan membutuhkan pemanggilan system. Beberapa pemanggilan pada sisem operasi sangat mahal dan membutuhkan waktu yang banyak, sehingga dengan IO yang menggunakan