Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Bayangkan sebuah aplikasi yang membaca dan memproses file-file dari sistem file lokal. Anggaplah bahwa pembacaan file dari disk membutuhkan waktu 5 detik dan pemrosesannya membutuhkan 2 detik. Maka proses dua file akan membutuhkan :
5 detik membaca file A 2 detik pemrosesan file A 5 detik membaca file B 2 detik pemrosesan file B ----------------------- 14 detik total
Saat membaca file dari disk sebagian besar waktu CPU dihabiskan untuk menunutk disk guna membaca data. CPU mengalami idle dalam waktu tersebut. Dia dapat dimanfaatkan untuk melakukan hal yang lain. Dengan merubah urutan operasi, CPU dapat dimanfaatkan lebih baik. Perhatikan urutan berikut ini :
5 detik pembacaan file A 5 detik pembacaan file B + 2 detik pemrosesan file A 2 detik pemrosesan file B ----------------------- 12 detik total
CPU menunggu file pertama untuk dibaca. Kemudian dia memulai membaca file kedua. Saat file kedua sedang dibaca, CPU memproses file pertama. Ingat, saat menunggu file dibaca dari disk, CPU biasanya idle.
Secara umum, CPU dapat melakukan hal lain saat menunggu IO. Tidak harus IO disk. Dapat pula IO network, atau input dari user di mesin. Network dan disk IO biasanya lebih lambat dari pada CPU dan Memory IO.
Leave a Reply