вопрос, который интервьюер задавал в интервью. Я всегда думал, что это глупый вопрос.
Предположим, один процессор, а не двухъядерный.
Да, если DMA недоступен. В этом случае вы могли бы в конечном итоге использовать ЦП для перемещения данных из ввода-вывода в ввод-вывод через центральную память, если пропускная способность ввода-вывода на обоих устройствах достаточно высока, вы эффективно насыщаете ЦП.
Да. В Simple два запущенных процесса: один использует весь процессор, а другой использует все возможные операции ввода-вывода. Это сделает это. Реальная проблема заключается в том, о чем говорят I / O. В любой системе есть несколько шин, и все они могут быть связаны в любой момент времени.
Да, вы можете! (Звучит как клише, верно?) Но на самом деле, есть такая вещь, как неблокирующая IO. Вы можете делать много вещей, пока вы используете данные, используя 100% ввода-вывода.
Я бы также искал места, где устройства ввода-вывода виртуализированы и зашифрованы. Это, вероятно, необычный случай, но не невозможный случай.