Завжди було відомо, що операції з диском повільні, і ми знаємо причини, чому вони повільні. Тож питання тут, чому нам доводиться чекати вводу-виводу або чому існує таке поняття, як IOWait тощо?
Я маю на увазі, що я помітив, що коли ви виконуєте якісь завдання вводу-виводу у фоновому режимі, ваш комп'ютер, в основному, стає набагато повільніше, особливо я помітив, що при використанні Linux, якщо ви виконуєте кілька довших завдань вводу / виводу , ОС стає майже непридатним до їх завершення.
Дійсно, я також знайшов цю тему в статті, є фрагмент:
Очікування вводу / виводу становить 12,1%. Цей сервер має 8 ядер (через cat / proc / cpuinfo). Це дуже близько до (1/8 ядер = 0,125)
Таким чином, це означає, що це уповільнює роботу комп'ютера багато, чому це так? Я маю на увазі гаразд, зараз у нормального комп’ютера є щонайменше 2 ядра, іноді 4, а іноді їх більше через гіперточення чи щось подібне. Але тепер питання полягає в тому, чому процесору насправді доводиться залишатися там, практично не роблячи нічого іншого, як просто чекати IO? Я маю на увазі основну ідею або архітектуру управління процесом, тепер я не знаю, чи відповідальна за це ОС, чи це зводиться до апаратної частини, але процесор повинен зробити можливість чекати або регулярно перевіряйте, фактично виконуючи безліч інших завдань і повертаючись до процесу вводу-виводу тільки тоді, коли він буде готовий. Дійсно, якщо це таке непросте завдання, і процесор повинен буде почекати, чому ж t що ефективніше керувати обладнанням? Як, наприклад, може бути якийсь міні-процесор, який би просто дочекався його і доставив невелику частину даних на реальний процесор, як тільки він повернеться до процесу, і таким чином процес повториться, і у нас не було б практично присвятити ціле ядро процесора для процесу копіювання даних ... Або я був би тим, хто повинен вигадати подібні речі та отримати нобелівський приз за це? : S
Тепер гаразд, я дійсно ставлю це зараз з точки зору спостерігачів, і я дійсно не заглиблювався в цю тему, але я дійсно не розумію, чому процесор повинен працювати зі швидкістю жорсткого диска, хоча це може просто зробіть щось інше і поверніться до жорсткого диска, як тільки він буде готовий. Ідея полягає не в тому, щоб пришвидшити додаток, якому потрібна операція вводу-виводу або процес копіювання, або інше, а ідея полягає в тому, щоб мінімально впливати на споживання процесора під час виконання цієї операції, щоб ОС могла використовувати його для інших процесів та користувача не довелося б відчувати загальний комп’ютерний відставання під час деяких операцій з копіювання ...