Jump to content

Повесить (вычисление)

В вычислениях зависание процесс или зависание происходит, когда или система перестают реагировать на входные данные . компьютера Типичным примером является ситуация, когда графический интерфейс пользователя (например, Microsoft Windows) [а] ) больше не реагирует на то, что пользователь печатает на клавиатуре или перемещает мышь. Этот термин охватывает широкий спектр поведения как клиентов , так и серверов и не ограничивается проблемами графического пользовательского интерфейса.

Зависания имеют различные причины и симптомы, включая программные или аппаратные дефекты, такие как бесконечный цикл или длительные непрерывные вычисления, истощение ресурсов ( перегрузка ), неэффективное оборудование ( регулирование ), внешние события, такие как медленная компьютерная сеть , неправильная конфигурация, и проблемы совместимости . Основная причина обычно заключается в истощении ресурсов: ресурсы, необходимые для работы некоторой части системы, недоступны из-за того, что они используются другими процессами, или просто недостаточны. Часто причиной является взаимодействие множества факторов, из-за чего «зависание» становится расплывчатым термином не техническим, а .

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

Зависание отличается от сбоя , при котором сбой происходит немедленно и не связан с реагированием на входные данные. [ нужна ссылка ]

Многозадачность

[ редактировать ]

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

Напротив, современные операционные системы в основном используют вытесняющую многозадачность , например Windows 2000 и ее преемники, а также Linux и Apple от macOS Inc. В этих случаях застревание одного потока не обязательно приведет к зависанию системы, поскольку операционная система вытеснит его по истечении его временного интервала, позволяя запустить другой поток. Если поток все-таки зависает, планировщик может переключиться на другую группу взаимозависимых задач, чтобы все процессы не зависали. [1] Тем не менее, застрявший поток все равно будет потреблять ресурсы: по крайней мере, запись в планировании, а если он запущен (например, застрял в бесконечном цикле), он будет потреблять циклы процессора и мощность, когда запланирован, замедляя работу системы, несмотря на это. не вешает его.

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

Перемещение по окну поверх зависшей программы во время зависания может привести к перерисовке следа окна. [2]

Оборудование может привести к зависанию компьютера либо потому, что оно работает с перебоями, либо потому, что оно не соответствует другому оборудованию компьютера. [3] (это может произойти при обновлении ) . Оборудование также может со временем выйти из строя из-за загрязнения или теплового повреждения.

Зависание может произойти и из-за того, что программист установил неверные условия завершения цикла или , в кооперативной многозадачной операционной системе , забыл уступить другим задачам. Иными словами, многие зависания, связанные с программным обеспечением, вызваны тем, что потоки ожидают события, которое никогда не произойдет. [4] Это также известно как бесконечный цикл .

Другой причиной зависаний является состояние гонки при взаимодействии между процессами . Один процесс может отправить сигнал второму процессу, а затем остановить выполнение до тех пор, пока не получит ответ. Если второй процесс занят, сигнал будет вынужден ждать, пока процесс не сможет добраться до него. Однако если второй процесс был занят отправкой сигнала первому процессу, то оба процесса будут вечно ждать, пока другой ответит на сигналы, и никогда не увидят сигнал другого (это событие известно как взаимоблокировка ) . Если процессы непрерывны, они зависнут и их придется завершить. Если хотя бы один из процессов является критическим процессом ядра , вся система может зависнуть и ее придется перезапустить.

Может показаться, что компьютер зависает, хотя на самом деле он просто обрабатывает данные очень медленно. Это может быть вызвано слишком большим количеством программ, запущенных одновременно, недостатком памяти ( ОЗУ ) или ее фрагментацией , медленным доступом к оборудованию (особенно к удаленным устройствам), медленными системными API и т. д. Это также может быть вызвано установленными скрытыми программами. тайно, например, шпионское ПО .

Во многих случаях может показаться, что программы зависли, но выполняются медленно, и ожидание в несколько минут позволит завершить задачу.

Современные операционные системы предоставляют механизм завершения зависших процессов, например, с помощью Unix команды уничтожения или с помощью графических средств, таких как диспетчера задач кнопка «Завершить задачу» в Windows (выберите конкретный процесс в списке и нажмите « завершить задачу»). Старые системы, например, работающие под управлением MS-DOS , ранних версий Windows или классической Mac OS, часто требовали полного перезапуска в случае зависания.

На встроенных устройствах , где взаимодействие с человеком ограничено, сторожевой таймер может перезагрузить компьютер в случае зависания.

Примечания

[ редактировать ]
  1. ^ Windows добавляет текст « (Не отвечает) » к заголовку окна. Начиная с Windows Vista , содержимое окна становится серым при попытке взаимодействия с пользователем, чтобы было ясно, что программа не отвечает.

См. также

[ редактировать ]
  1. ^ США 6052707 , Д'Суза, Дэвид, «Упреждающая многозадачность с совместными группами задач», опубликовано 21 июня 1996 г., выпущено 18 апреля 2000 г.  
  2. ^ «Ностальгия: перетаскивание диалогового окна ошибки Windows XP» . Архивировано из оригинала 19 января 2022 г. Проверено 19 января 2022 г.
  3. ^ «Как устранить зависание компьютера во время обнаружения оборудования» . Поддержка Майкрософт. 27 января 2007 г. Архивировано из оригинала 14 марта 2016 г. Проверено 13 апреля 2018 г.
  4. ^ Кэлвин Ся (15 ноября 2006 г.). «Вот бесконечный цикл, из-за которого ваша машина зависнет» . Блоги Майкрософт . Архивировано из оригинала 14 апреля 2018 г. Проверено 13 апреля 2018 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1f7f44d4be2ed57ef2f02ff918570637__1705242960
URL1:https://arc.ask3.ru/arc/aa/1f/37/1f7f44d4be2ed57ef2f02ff918570637.html
Заголовок, (Title) документа по адресу, URL1:
Hang (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)