По каким причинам вообще может зависнуть компьютер?
Компьютеры не зависают - зависают программы. Может зависнуть даже целая операционная система, но сам компьютер (железо) не зависает никогда. Он либо работает, либо нет. Когда прога зависла, комп продолжает работать: проц перемалывает все, что ему подают. Проблема в программах.
Вот примитивное сравнение. Вы вращаете ручку мясорубки, но фарш перестает из нее выходить. Загрузить новые исходники вы не можете, ибо все пространство внутри занято - тем что не выходит. Такое случается. Так вот, зависла не мясорубка, завис фарш)))
Программа может зависнуть в результате какого-то сбоя, конфликта между одновременно выполняемыми задачами. Она начинает "цыклить" - повторять уже выполненное действие, ибо не выполнены условия перехода к следующему циклу.
Еще один примитивный пример. Представьте себе, что вы выполняете программу "утренний туалет". В одном из циклов вы выполняете следующий алгоритм:
войти в ванную
__взять зубную щетку
__открыть тюбик
__выдавить пасту на щетку
__открыть кран
__почистить зубы
__закрыть кран
__закрыть тюбик
выйти из ванной
В процессе выполнения оказалось, что воды в кране нет. Вы не сможете почистить зубы. Как человек мыслящий, вы найдете другое решение. Но как машина вы зависнете и будете открывать-закрывать кран до тех пор, пока вода не появится или пока вас не перезагрузят. Но поскольку дело происходит в компьютере, вода уже не появится, ибо вы открыванием-закрыванием перехватили управление, и чтобы прекратить зависание, нужно либо принудительно завершить работу зависшего приложения, либо перезагрузить компьютер.
Долго думал, добавить "свои 5 копеек" или где! Излагаю "мыслю".
В том случае, когда железо работает нормально, отсутствуют hard-причины зависания РС. Если железо нестабильно (самая страшная ситуация - нельзя локализовать причину), то причин - миллион!
А вот soft-причины зависания РС, в конечном счете, сводятся к одной - нет ответа на прерывание! Протокольные нестыковки рассматривать не будем, поскольку они суть свидетельство некомпетентности разработчика.
Что же есть прерывание? При выполнении любой программы, особенно входящей в состав ОС, рано или поздно наступает момент, когда она прерывает свою работу в ожидании ответа от внешнего объекта взаимодействия (не имеет значения, программа это или железо) на отправленный запрос. Именно в такой ситуации мы видим на дисплее текст: "Эта программа не отвечает..." Нет ответа - программа висит или повторяет запрос (как с водой при чистке зубьев).
Как ни странно, все запросы, в конечном опять же счете, сводятся к ответу на простой вопрос: "Ты, гад, сделал то, что я просила (требовала), или ты получил, что просил (в инете - свой пакет)? Пошто молчить, мерзавец?"
Для предотвращения подобных зависаний в ожидании ответа вводят ограничения на время ожидания (ошибки тайм-аута) или количества повторений запроса. И вот если программист что-либо не предусмотрел в подобной ситуации или предусмотрел что-либо не то (раньше это хорошо было видно при работе с дискетами - досовские программы не хотели принудительно прекращать работу без дискеты в дисководе), ведущая программа зависает.
Безусловно, когда много или даже очень много программ, входящих в ОС, ожидают ответа на свой запрос, операционка может зависнуть. Если в такой ситуации в Windows можно запустить диспетчера задач и позакрывать "висящие" приложения и процессы, то ОСь оживёт, иначе только RESET.
Я это хорошо знаю потому, что еще в 1980 г. венгерский дисплейный комплекс не присылал моей программе подтверждение о завершении одной единственной команды "Записать по конкретному адресу". Все остальное он, мерзавец, выполнял без ошибок! Я долго бился с жестянщиками "смертным боем", доказывая про неверблюда. Редчайший случай в программистской практике тех времен - доказал, что не верблюд! Сильно они меня с тех пор "зауважали", потому что долго ползали на карачках, обвешивая этот ДК неонками для отлова электрического сигнала с ответом на запрос о завершении операции.
PS. На сладкое напомню первую заповедь программиста, справедливость которой контора Билли подтверждает одним своим существованием: "До конца отлаженная программа никому не нужна!"
Причин зависания компьютера может быть очень много. Перечислю некоторые из них:
1) Есть вирусы, трояны. Смените антивирус, проверьте компьютер другим антивирусом. Проверьте антитрояном. Посмотрите подозрительные процессы в системе. Проверьте, что у Вас стоит в автозагрузке, может быть, какой-то очень подозрительный процесс, уберите его из автозагрузки. Возможно придется запустить компьютер в безопасном режиме и там провести проверку на вирусы и трояны, а также другое malware (вредоносное ПО).
2) Неправильная работа жесткого диска. Кстати, попробуйте сделать дефрагментацию.
3) Включены абсолютно не нужные службы windows. Просто их отключить.
Также могут быть и другие более серьезные причины, но нужно начать с этих трех.
У меня чаще всего от того, что включу какой-нибудь ролик -грузиться. Или поставлю качать что-то. Иногда бывает плохая связь с интернетом, по причине провайдера, ремонтных работ или еще чего. Но это редко. Да, если внизу на панели много открыто разных программ одновременно, то тоже. Еще грузит множество приложений браузера. Иногда помогало включить переполненный Эксплорер функция -"включить без надстроек".Думаю, причина скорее всего именно в этом -обилии дополнительных функций.
Здесь может быть несколько причин связанные с зависанием компьютера. Это может быть переполненная память, программа не подходящая к Вашей ОС, одновременно работает много программ, вирусы, устаревшие драйвера видеокарты, сама ОС. Надо время от времени чистить комп и обновлять драйвера, проводить дефрагментацию и т.д.
Добавить комментарий