Из Википедии, бесплатной энциклопедии
  (Перенаправлен с привязки к вводу-выводу )
Перейти к навигации Перейти к поиску

В информатике , I / O связан относится к состоянию , в котором время, необходимое для завершения вычислений определяется главным образом периода , проведенного в ожидании ввода / вывода операций должны быть завершены. Это противоположно задаче, связанной с ЦП . Это обстоятельство возникает, когда скорость, с которой запрашиваются данные , ниже, чем скорость, с которой они потребляются, или, другими словами, больше времени тратится на запрос данных, чем на их обработку. [1]

Ограничение ввода-вывода как неотъемлемая проблема вычислений [ править ]

Связанное состояние ввода-вывода было идентифицировано как проблема в вычислениях почти с момента его появления. Архитектура фон Неймана , которая используется во многих вычислительных устройствах, включает в себя несколько возможных решений, таких как реализация логически отдельного центрального процессора, который наряду с хранением инструкций программы также извлекает фактические данные, обычно из основной памяти, и использует их в большей степени. доступные данные для работы. Когда процесс завершается, он записывает результаты обратно в исходное хранилище (обычно в основную память ).

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

В новейшей истории узкое место фон Неймана стало более очевидным. Философия дизайна современных компьютеров основана на физическом разделении ЦП и основной памяти. Можно заставить ЦП работать с высокой скоростью передачи данных, потому что данные перемещаются между местами внутри них на крошечные расстояния. Однако для физического разделения ЦП и основной памяти требуется шина данных для перемещения данных на сравнительно большие расстояния в сантиметры и более. Проблема обеспечения того, чтобы эта часть системы работала достаточно быстро, чтобы не отставать от процессора, была большой проблемой для разработчиков. [2]

Ограничение ввода-вывода как практическая проблема [ править ]

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

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

Или проще:

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

Это означает, что процессы, связанные с вводом-выводом, медленнее, чем процессы без привязки к вводу-выводу, а не быстрее. Это связано с увеличением скорости обработки данных в ядре, в то время как скорость, с которой данные передаются из хранилища в процессор, не увеличивается вместе с ней. По мере увеличения тактовой частоты ЦП, позволяя выполнять больше инструкций в заданном временном окне, ограничивающим фактором эффективного выполнения является скорость, с которой инструкции могут доставляться процессору из хранилища и отправляться от процессора к месту назначения. Короче говоря, программы естественным образом становятся все более привязанными к вводу-выводу. [3]

Сравнение с ограничением ЦП [ править ]

Предположим, у нас есть один процесс, связанный с процессором, и множество процессов, связанных с вводом-выводом. По мере того как процессы протекают по системе, может возникнуть следующий сценарий. Процесс, связанный с ЦП, получит и удержит ЦП. В это время все остальные процессы завершат свои операции ввода-вывода и перейдут в очередь готовности, ожидая процессора. Пока процессы ждут в очереди готовности, устройства ввода-вывода простаивают. В конце концов, процесс, связанный с ЦП, завершает пакетную работу ЦП и переходит к устройству ввода-вывода. Все процессы, связанные с вводом-выводом, которые имеют короткие всплески ЦП, выполняются быстро и возвращаются в очереди ввода-вывода. В этот момент ЦП простаивает. Затем процесс, связанный с ЦП, переместится обратно в очередь готовности, и ему будет выделен ЦП. Опять же, все процессы ввода-вывода в конечном итоге ждут в очереди готовности, пока не завершится процесс, связанный с процессором. Есть эффект конвояпоскольку все другие процессы ждут, пока один большой процесс не выйдет из процессора. Этот эффект приводит к более низкому использованию ЦП и устройства, чем это было бы возможно, если бы более короткие процессы выполнялись первыми. [4]

См. Также [ править ]

Ссылки [ править ]

  1. ^ Определение дисковых систем, связанных с вводом-выводом
  2. ^ Блог Эрика Энгбрехта: Что на самом деле означает привязка ввода-вывода?
  3. ^ слебетман . "почему-io-связанные-процессы-быстрее" . Проверено 9 августа 2014 . CS1 maint: обескураженный параметр ( ссылка )
  4. ^ Зильбершац, Авраам; Гальвин, Питер Б .; Гань, Грег (2013). Понятия операционной системы . 9 . Джон Вили и сыновья. ISBN 978-1-118-06333-0.