Itu selalu diketahui bahwa operasi Disk lambat dan kami tahu alasan mengapa mereka lambat. Jadi pertanyaannya di sini adalah mengapa kita harus menunggu untuk I / O atau mengapa ada hal seperti IOWait, dll?
Maksud saya, saya perhatikan bahwa ketika Anda melakukan beberapa tugas I / O di latar belakang, komputer Anda pada dasarnya menjadi jauh lebih lambat, saya terutama memperhatikan bahwa ketika menggunakan Linux, jika Anda melakukan beberapa tugas I / O yang lebih lama , OS menjadi hampir tidak dapat digunakan sampai mereka selesai.
Memang, saya juga menemukan topik ini di sebuah artikel, ada cuplikan:
I / O wait adalah 12.1%. Server ini memiliki 8 core (via cat / proc / cpuinfo). Ini sangat dekat dengan (1/8 core = 0,125)
Jadi pada dasarnya itu berarti memperlambat komputer BANYAK, mengapa begitu? Maksudku OK, sekarang komputer normal setidaknya 2 core, kadang-kadang 4 atau kadang-kadang mereka memiliki lebih karena hyperthreading atau sesuatu seperti itu. Tetapi sekarang pertanyaannya adalah mengapa CPU sebenarnya harus tetap di sana, praktis tidak melakukan hal lain selain hanya menunggu IO? Maksud saya ide dasar atau arsitektur dari manajemen proses, sekarang saya tidak tahu apakah itu OS yang bertanggung jawab untuk itu, atau apakah itu turun ke bagian perangkat keras, tetapi harus dimungkinkan cpu untuk menunggu atau periksa secara teratur, sambil benar-benar melakukan banyak tugas lain dan hanya kembali ke proses IO ketika sudah siap. Memang, jika itu tugas yang sulit dan cpu harus menunggu, mengapa tidak t yang dikelola oleh perangkat keras lebih efisien? Seperti misalnya mungkin ada semacam cpu mini yang hanya akan menunggu dan mengirimkan sebagian kecil data ke cpu nyata segera setelah kembali ke proses dan proses akan diulang dan kami tidak akan memiliki untuk secara praktis mendedikasikan inti cpu keseluruhan untuk proses penyalinan data ... Atau akankah saya menjadi orang yang harus menciptakan hal semacam ini dan mendapatkan hadiah nobel untuk itu? : S
Sekarang oke, saya benar-benar meletakkannya sekarang dari sudut pandang pengamat dan saya benar-benar belum masuk terlalu jauh ke dalam topik, tapi saya benar-benar tidak mengerti mengapa cpu harus bekerja dengan kecepatan HDD, sementara itu bisa saja lakukan sesuatu yang lain dan kembali ke HDD setelah siap. Idenya bukan untuk mempercepat aplikasi yang membutuhkan operasi IO atau proses penyalinan atau apa pun, tetapi idenya adalah untuk secara minimal mempengaruhi konsumsi CPU saat melakukan operasi itu, sehingga OS dapat menggunakannya untuk proses lain dan pengguna tidak perlu merasakan kelambanan komputer saat melakukan operasi penyalinan ...