Пиковая загрузка ЦП или ввода-вывода

Пиковая загрузка ЦП или ввода-вывода

Если процесс, который в данный момент выполняется, сталкивается с пакетом ввода-вывода, получит ли следующий доступный процесс пакет ЦП или процессор будет ждать, пока пакет ввода-вывода первого процесса не завершится, чтобы продолжить выполнение первого процесса.

Также влияет ли на это то, является ли алгоритм упреждающим или нет?

Спасибо!

решение1

Короче говоря, да. Когда задача, связанная с ЦП, становится ограниченной по вводу/выводу, ОС перепланирует задачу до тех пор, пока она не будет готова выполнить больше работы ЦП. Это означает, что другие процессы (имеющие работу для ЦП) получат время ЦП вместо этого.

Если говорить более подробно, то это был первый раз, когда я столкнулся с этими конкретными терминами. Я смог найти только несколько страниц, где это упоминалось, и, похоже, это стратегия оптимизации, а не физическая функция ЦП или операционной системы. Это не «фаза всплеска» в операционной системе или ЦП, которая может быть разделена между процессами, это просто процесс «всплеск», когда у него есть работа в одном или другом домене. Оптимизируя свой рабочий процесс, чтобы делать одно больше, чем другое, и сохраняя работу для другого, вы можете сделать эти «всплески» работы более эффективными.

Таким образом, не имеет значения, является ли операционная система вытесняющей или невытесняющей. Она просто знает, что процесс застрял в ожидании или готов к запуску, и запланирует его соответствующим образом. Если процесс выполнял вычисления и внезапно пытается прочитать файл, то он остановится и будет перепланирован, когда данные станут доступны.

Единственная причина, по которой эти "всплески" имеют значение, заключается в том, что вы должны убедиться, что вы эффективно используете запланированные временные интервалы вашей операционной системы. Если у вас много операций ввода-вывода, вставленных в задачу, связанную с ЦП, то вы остановитесь и, возможно, потеряете часть запланированного времени в ожидании этих операций ввода-вывода. Если вы объединяете ввод-вывод в "всплески", то ваш процесс лучше использует свое время на ЦП и получает полный временной интервал.

Связанный контент