Аппаратные неисправности
Ошибки при работе программного обеспечения
Сбои операционной системы
Вирусы
Нежелательные программы
Резюме
Нормальная работа компьютера заключается в выполнении корректно написанных и безошибочных программ на исправном электронном оборудовании. Это идеальный случай, однако в реальной жизни все сложнее и всякая система подвержена тем или иным факторам риска, причем вероятность поломки тем больше, чем сложнее эта система устроена. Все это в полной мере относится к компьютерным системам.
Появление неисправности в любой части компьютерной системы (неважно, в аппаратной или программной) приводит либо к полной неработоспособности компьютера, либо к потере части функций, которые он должен выполнять. Все зависит от того, что за компонент пришел в негодность: если это принтер, то вы не сможете напечатать свой текст или графику, если сломается экран монитора – вы не сможете работать с компьютером вообще. Это что касается аппаратных поломок.
Если же в компьютерной системе происходит ошибка в работе программы, то все зависит от ее назначения. Если приложение входит в состав операционной системы, то последствием этой ошибки может стать зависание компьютера при попытке загрузить систему. Или же система будет загружена, но при обращении к каким-то функциям ОС отобразится сообщение об ошибке, то есть часть функциональности ОС будет утрачена.
Ошибки в работе прикладных программ, как правило, не влияют на общее функционирование компьютерной системы. Чаще всего они просто лишают вас возможности выполнять определенные действия, например подготавливать текстовые документы или выполнять какие-либо расчеты.
При работе персонального компьютера возможны ошибки обоих типов, и методы их устранения различаются. При возникновении аппаратных поломок потребуется выявить и заменить пришедший в негодность компонент. При появлении программных неисправностей необходимо будет переустановить утилиту или операционную систему. Таким образом, исправление программных ошибок обходится, как правило, значительно дешевле, чем устранение аппаратных.
Отсюда следует, что одной из основных задач определения источника ошибки в работе компьютерной системы является разделение неполадок на аппаратные и программные. Все это не так просто реализовать на практике, поскольку любая функция компьютера обеспечивается с помощью как аппаратных, так и программных средств. Например, воспроизведение видеофайла (скажем, DVD-фильма) требует наличия исправных аудио– и видеокарты (аппаратный уровень), DVD-привода, которые должны быть корректно установлены в системном блоке компьютера, а также настроены для работы в операционной системе. Для аудио– и видеокарты должны быть инсталлированы необходимые драйверы, прикладная программа-проигрыватель, соответствующие утилиты декодирования информации. Чтобы отобразить видеоинформацию, в компьютерной системе должен корректно работать монитор, а для воспроизведения звука к компьютеру должно быть подключено исправное периферийное оборудование (наушники или колонки). Неисправность любого из задействованных аппаратных и программных компонентов приводит к отсутствию изображения или звука.
Как найти источник неисправности? В процессе выполнения компьютерной системой определенной задачи происходит целая цепочка событий, в которой задействованы как программные, так и аппаратные компоненты. Путь от внешнего проявления неполадки (скажем, пропадания звука или изображения) к источнику ее возникновения называется диагностикой. Это один из методов поиска неисправности, однако иногда бывает проще пройти в обратном направлении – от места воображаемой поломки к ее последствиям. Попробуем выяснить, к чему может привести неисправность каждого из аппаратных компонентов.
Сразу замечу, что существует два типа неисправностей аппаратных компонентов.
• Окончательный выход из строя какого-либо устройства, которое уже никогда не сможет работать нормально.
• Сбои – временные нарушения работы компонентов.
Сбои возникают во время работы под влиянием внешних факторов: высокой температуры, скачков питающего напряжения и др. (мы обсудим этот вопрос чуть ниже). После исчезновения причины сбоя и перезагрузки компьютер может вновь работать нормально.
В зависимости от того, какой компонент вышел из строя, последствия могут быть различными.
Центральный процессор. Это основной компонент компьютерной системы, участвующий во всех выполняемых ею заданиях. При поломке процессора компьютер не сможет работать. Если сбой в деятельности процессора случится во время работы, компьютер, скорее всего, зависнет или начнет перезагрузку системы. Выход процессора из строя приводит к полной неработоспособности системы: компьютер не будет загружаться и реагировать на любые действия.
Оперативная память также участвует во всех заданиях, выполняемых на компьютере, поэтому неполадки в ее работе приводят к разнообразным последствиям, часто очень неприятным: в процессе загрузки системы могут появиться сообщения об ошибке памяти, после чего загрузка завершится или произойдет зависание системы.
Материнская плата несет на себе множество устройств и является одним из самых уязвимых компонентов. Внешние проявления неисправности системной платы зависят от того, какие ее компоненты повреждены. Нарушение работы цепей питания, расположенных на материнской плате, проявляется точно так же, как неисправность зависящих от этих цепей устройств. Например, если питание не поступает к процессору, компьютер не запустится; если отсутствует питание модулей оперативной памяти, компьютер сообщит о неисправности оперативной памяти.
Чипсет является «скелетом» всей компьютерной системы, поэтому его неисправность обычно приводит к полной неработоспособности машины. Поломки чипсета проявляются в виде той самой «общей ошибки материнской платы», о которой сообщают аварийные сигналы системного динамика при неудачной попытке начальной загрузки компьютера.
Повреждение контроллеров портов ввода-вывода проявляется прежде всего в том, что перестают работать устройства, подключаемые к этим портам. Например, при «горячем» отключении и подключении клавиатуры к разъему PS/2 без выключения питания компьютера вполне возможно электрическое повреждение этого порта. В таком случае перестает работать клавиатура. Точно так же можно сжечь COM-порт, и ни одно периферийное устройство, подключаемое к этому порту, не будет определяться системой.
Неисправность BIOS проявляется в самом начале загрузки компьютера в виде зависания машины. Иногда программа BIOS успевает отработать начало процедуры самопроверки и выдать какое-либо сообщение, но нередко компьютер не запускается совсем. Неисправность аккумулятора материнской платы приводит к регулярному сбросу системных часов и всех настроек BIOS.
Выход из строя видеоадаптера проявляется в отсутствии или искажении изображения на экране монитора. В наиболее наглядном случае картинка отсутствует с самого начала загрузки, монитор не включается, а программа BIOS сообщает о неисправности видеокарты звуковыми сигналами. В других случаях неисправность видеоадаптера может проявиться возникновением так называемых артефактов – цветных пятен или вырванных строк в изображении. Внешне артефакты очень напоминают ошибки драйвера видеокарты и некоторые неисправности монитора. Наконец, сбой видеоадаптера может привести к зависанию компьютера при попытке запустить какое-либо приложение.
Грубая неисправность жесткого диска на аппаратном уровне приводит к тому, что это устройство не определяется системой или определяется неправильно. Обычно в процессе загрузки появляется сообщение об аварии винчестера, и на этом загрузка прерывается. Бывает, что диск в целом исправен, но информация на нем утеряна или искажена. Это может быть связано с начинающимся повреждением магнитного слоя пластин. В ходе регулярной самопроверки и термокалибровки жесткий диск старается вовремя обнаруживать и «лечить» дефектные секторы, перенося информацию с них на неповрежденные участки. Такая процедура происходит на уровне электроники, встроенных микропрограмм и физического формата самого винчестера, причем совершенно незаметно для пользователя, операционной системы и даже для контроллера диска. После неудачного восстановления информации на диске появляются битые файлы. Хотя в файловой системе такой файл по-прежнему значится, само его содержимое повреждено. Чаще всего в компьютере установлен один жесткий диск, на котором записана и ОС, и вся остальная информация. Если удалены или испорчены файлы операционной системы, загрузка компьютера доходит до начала запуска ОС и останавливается с сообщением о невозможности найти какие-либо файлы. Если в процессе работы компьютер обращается к файлам, находящимся в дефектных секторах, выдается сообщение об ошибке.
Приводы компакт-дисков «живут» в среднем 2–3 года, а из строя обычно выходят из-за постепенного ухудшения характеристик лазерной головки. Типичным признаком загрязнения оптики или порчи лазера является то, что привод сначала перестает читать некоторые диски, а затем количество таких дисков растет. Через какое-то время привод теряет способность к распознаванию и чтению любых носителей. При попытке открыть диск в Проводнике Windows появляется сообщение Вставьте диск в дисковод, несмотря на то, что в действительности диск уже находится в приводе.
Блок питания выходит из строя довольно часто: ему достаются все скачки напряжения электросети. Быстро накапливающаяся внутри блока питания пыль заметно ухудшает и без того напряженный тепловой режим его элементов. При явной неисправности блока питания компьютер не включается, не запускаются даже вентиляторы. Сбои блока питания во время работы приводят к внезапному выключению или перезагрузке ПК. Появление таких сбоев нередко указывает на недостаточную мощность блока питания для компьютера данной конфигурации. Стоит заметить, что нестабильная работа блока питания нередко оказывается причиной выхода из строя других компонентов: материнской платы или жестких дисков.
Внешние устройства (монитор, клавиатура, мышь, колонки, принтеры, сканеры) о своих неисправностях заявляют прямо – перестают выполнять свойственные им функции. Обычно описание поломки начинается именно с одного из внешних устройств. В действительности за каждым из них стоит целый ряд внутренних компонентов системного блока и определенное программное обеспечение. Тем не менее логично начинать диагностику с этого самого внешнего устройства, особенно с идущих к нему кабелей и проводов.
На работу системного блока неполадки периферийного оборудования обычно не влияют.
Проверить периферийные устройства и кабели проще всего, подключив их к другому, заведомо исправному, системному блоку. Во многих случаях исправность внешнего оборудования можно частично проверить и без подключения к компьютеру.
Например, в современных мониторах обычно существует экранное меню (OSD). Свечение индикатора питания на мониторе и появление экранного меню при нажатии кнопок настройки монитора доказывают, что большая часть «внутренностей» монитора работает. Если же на экране появляется сообщение Check SVGA Cable (Проверьте SVGA-кабель), причина отсутствия изображения почти наверняка кроется именно в кабеле или выходном разъеме видеокарты.
Подавляющее большинство принтеров снабжено светодиодными индикаторами, сигнализирующими об их ошибках и проблемах с картриджами. Кроме того, в любом принтере предусмотрена возможность печати пробной страницы средствами самого принтера, без участия компьютера. Если пробная страница печатается успешно, неисправность остается искать на пути от системного блока к принтеру или в самом системном блоке.
Причина любой неполадки аппаратного обеспечения на физическом уровне сводится к простейшему правилу электротехники: либо контакт пропадает там, где он должен быть, либо контакт появляется там, где его быть не должно. На практике это выглядит как пробитый конденсатор, перегоревший транзистор, отошедший или окислившийся контакт разъема, трещина в печатной плате или переломившийся кабель.
Достаточно просты в определении и устранении неисправности компьютера, связанные с нарушением контакта в разъемах или с обрывами кабелей. Если пропало изображение на мониторе, перестала работать мышь или клавиатура, исчез звук в колонках, первым делом стоит проверить контакт в соответствующих разъемах на задней панели системного блока. Очень часто весь «ремонт» этим и ограничивается. Типичной неисправностью является обрыв проводов, идущих от мыши или клавиатуры, в месте выхода их из корпуса устройства или вблизи штекера. Мышь или клавиатура внезапно перестают работать или «пропадают» из системы. Стоит пошевелить провод в месте обрыва, как устройство вновь определяется и начинает работать. Иногда ломается кабель, идущий от видеокарты к монитору. Если компьютер часто переставляют с места на место, отсоединяя кабели, легко повредить тонкие штырьки разъемов PS/2, а в разъеме видеокарты разбалтываются отдельные контакты.
Практика показывает, что самопроизвольный обрыв или излом проводов, идущих от блока питания к материнской плате, встречается довольно редко, зато легко обламываются провода вблизи разъемов питания приводов. По правилам, все провода внутри системного блока должны располагаться достаточно свободно: натянутый провод или шлейф рано или поздно может вызвать ослабление контакта в соединениях. Практически никогда не нарушается контакт в процессорном разъеме благодаря его конструкции. Едва ли не половина всех аппаратных отказов вызывается нарушенным контактом в разъемах системной шины. Поскольку платы расширения одной стороной включаются в эти разъемы, а с противоположного края крепятся планкой к корпусу системного блока, незначительные деформации корпуса могут привести к частичному выходу платы из разъема. Платы расширения расшатываются при подключении и отсоединении кабелей от внешних устройств. Еще одной причиной нарушения контакта в разъемах является вибрация, сопровождающая работу вентиляторов.
Часто нарушается контакт модулей памяти с разъемами на материнской плате. Поскольку напряжения и токи в этих соединениях малы, а частота очень высока, для появления сбоя бывает достаточно даже незначительного ослабления контакта. Модули памяти оказываются на пути воздуха, выходящего из вентилятора, охлаждающего процессор, и на них обычно скапливается пыль. В принципе, при большой влажности воздуха эта пыль может вызывать утечку тока между выводами микросхем памяти. Периодическая очистка внутренностей системного блока от пыли помогает решить эту проблему.
Другой источник сбоев в работе оборудования – неисправные компоненты. В обычных условиях определить конкретный поврежденный элемент на печатных платах почти невозможно, да и не нужно. Даже если удастся найти дефектную микросхему, ее розничная цена будет сравнима со стоимостью нового устройства в сборе, а для замены понадобится профессиональная паяльная станция. Поэтому общепринятым способом ремонта аппаратной части компьютера является замена комплектующих в целом, а диагностика проводится до уровня блока, который можно заменить. Внешние проявления аппаратных неисправностей зависят не столько от конкретного механизма поломки, сколько от того, в каком блоке она произошла.
Очень опасны посторонние металлические предметы, попавшие внутрь системного блока. Если последствия нарушения контакта всегда обратимы, то короткое замыкание выводов часто приводит к повреждению элементов на платах компьютера. Причиной таких замыканий бывают крепежные винтики, забытые при сборке внутри корпуса. Нередко внутри дешевых корпусов попадаются мелкие оторвавшиеся заусенцы или кусочки металла, оставшиеся после вырубки отверстий. Попадая на материнскую плату или платы расширения, этот металлический мусор может серьезно повредить компьютер. Лучшая профилактика – тщательно вытряхнуть или продуть корпус перед сборкой компьютера, обращая внимание на заусенцы на краях панелей и вокруг крепежных отверстий.
Работа с ПК начинается после нажатия кнопки Power, и сразу после этого иногда возникают неполадки: компьютер просто-напросто не включается. Если ошибка состоит не в том, что в электрической розетке нет напряжения, то причину следует искать в самом компьютере.
Что же происходит сразу после включения ПК? Когда компьютер выключен, но сетевой шнур вставлен в розетку 220 В, одно его устройство работает обязательно. В блоке питания есть отдельный источник, вырабатывающий напряжение +5 В дежурного режима, или Stand_By. Это напряжение всегда подается на материнскую плату и необходимо для работы кнопки включения питания системного блока. Как только кнопка нажата, сигнал включения (Power_On) по другому проводу поступает в блок питания и вызывает запуск всех остальных источников, находящихся в блоке питания. Эти источники вырабатывают напряжения +3,3, +5, -5, +12 и -12 В, которые по отдельным проводам поступают на материнскую плату и другие устройства.
Далее достаточно простая схема, расположенная на материнской плате, проверяет соответствие напряжений номиналу. Если все питающие напряжения находятся в допустимых пределах, эта схема по отдельному проводу возвращает в блок питания сигнал Power_Good. Блок питания устроен так, что включается сразу же при поступлении сигнала Power_On, но, если в течение следующих 0,5 с на него не возвратится сигнал Power_Good, блок питания автоматически выключится. Таким образом, материнская плата проверяет питающие напряжения и предотвращает включение компьютера при значительном отклонении любого из них от нормы. Если сигнал Power_Good исчезает во время работы компьютера, блок питания выключается, а компьютер прекращает свою работу.
Если проверка напряжений питания прошла успешно и материнская плата выдала на блок питания сигнал Power_Good, все электрические цепи компьютера входят в рабочий режим. Запускаются двигатели приводов и вентиляторы, светится индикатор питания на передней панели системного блока. Начинают работать стабилизаторы питания процессора, памяти и чипсета, находящиеся на материнской плате. Питание поступает на процессор и остальные компоненты.
Все описанные процессы являются чисто электрическими и происходят без участия каких-либо приложений. А вот уже после включения питания и запуска процессора в действие должны вступить программы: начинается загрузка операционной системы компьютера, которая будет управлять работой оборудования. Посмотрим, какие неприятности могут ждать нас там.
В программное обеспечение компьютерной системы входят три основных компонента.
1. Базовая система ввода-вывода (Basic Input/Output System, BIOS), обеспечивающая работу компьютера сразу после начального запуска.
2. Операционная система, которая управляет работой компьютера.
3. Прикладные программы.
Для нормальной работы компьютера важны все части программного обеспечения, и неполадки могут возникнуть с первой секунды начала работы ПК. Последствия зависят от характера неисправностей. Начнем обсуждение с процесса загрузки системы.
Вот как протекает процесс загрузки операционной системы. После того как компьютер включен и успешно выполнена процедура начального запуска, процессор начинает выполнять инструкции BIOS, записанные в специальную энергонезависимую память CMOS. В соответствии с заложенными свойствами сразу после включения процессор обращается к начальной адресуемой ячейке микросхемы, в которой записан код BIOS. Первый набор инструкций, который выполняет процессор, называется процедурой POST (Power-On Self Test – самопроверка при включении питания). Процедура POST производит следующие действия.
1. Выполняет начальную проверку оборудования, в том числе определяет модель процессора и размер установленной оперативной памяти. Одновременно проверяется исправность оперативной памяти.
2. Получает установки системной конфигурации из памяти CMOS.
3. Устанавливает частоту шин в соответствии с настройками, содержащимися в CMOS.
4. Проверяет наличие устройств для начала загрузки ОС, например дисковода, жесткого диска и привода компакт-дисков.
5. Инициализирует видеоадаптер, клавиатуру, дисковод гибких дисков и системный динамик.
6. Выдает звуковой сигнал о прохождении проверки.
7. Инициализирует остальные устройства согласно настройкам CMOS.
8. После того как процедура POST закончена, дополнительные адаптеры (видеокарта, контроллеры жесткого диска) выполняют свой тест внутренней диагностики. В процессе прохождения POST на экран выводятся сведения о ходе проверки.
Программа BIOS заканчивает свое участие в процессе загрузки тем, что находит на жестком диске главную загрузочную запись (Master Boot Record, MBR) и передает управление ей. C этого момента вступают в дело программы, записанные на жестком диске компьютера. Коды данных приложений записаны на винчестере в виде вполне определенных файлов, своих для каждой операционной системы. Ниже описан процесс загрузки на примере системы Windows XP, для которой загрузочные файлы находятся в корневой директории диска C:, а также в папках Windows\ и Windows\System32\.
1. Загрузчик MBR передает управление загрузочной записи активного раздела, а та, в свою очередь, обращается к файлу – загрузчику операционной системы. Заметим, что MBR и загрузочная запись раздела файлами не являются – эти секторы диска не отображаются в файловой системе. А вот загрузчик операционной системы – исполняемый файл, входящий в ее состав. В операционной системе Windows данный файл носит имя ntldr (сокращение от NT loader) и обязательно должен находиться в корневой папке загрузочного диска (обычно это диск C:). Там же должен быть файл boot.ini, в котором записано, где находятся файлы операционной системы.
2. Программа ntldr читает файл boot.ini и запускает две следующие программы: ядро системы ntoskrnl.exe и программу ntdetect.com, которая собирает информацию об установленном оборудовании и сообщает ее ядру.
3. Ядро операционной системы загружает в оперативную память из файла hal.dll так называемый уровень аппаратных абстракций (Hardware Abstraction Layer, HAL).
4. Ядро и HAL запускают исполнительную систему Windows, основная часть которой содержится в файле win. com.
5. Исполнительная система Windows читает конфигурацию оборудования из реестра и в соответствии с этим запускает драйверы и службы.
6. Ядро запускает программу Session Manager (Smss.exe), которая:
· переключает Windows из текстового режима в графический;
· запускает менеджер входа в систему Logon Manager (файл systemroot\System32\Winlogon.exe);
· создает файл подкачки.
7. Менеджер входа в систему (Logon Manager, Winlogon. exe) запускает подсистему сервисов (Services. exe) и локальную систему безопасности (Local Security Authority, Lsass. exe), а затем выводит экран приветствия или входа в систему.
8. После входа пользователя в систему загружается оболочка ОС, программа Explorer. exe. Все ее настройки берутся из реестра.
9. Запускаются дополнительные программы, которые должны загружаться автоматически.
Вся загрузка операционной системы Windows, в зависимости от производительности компьютера, занимает несколько десятков секунд. О том, как продвигается процесс загрузки, можно судить по виду экрана.
Вот какие при этом могут быть неприятности.
• В начале загрузки ОС компьютер успевает вывести сообщение об ошибке и зависает. Характерными считаются сообщения о невозможности загрузить компоненты ядра или исполнительной системы, выводимые в текстовом режиме. Например, сообщения Ошибка загрузки hal.dll или ntldr is missed указывают на конкретные файлы, послужившие причиной ошибки.
• Операционная система, столкнувшись с ошибкой при своей загрузке, пытается автоматически восстановить нужные файлы или настройки. Операционные системы Windows создают и хранят резервные копии большинства системных файлов и настроек. Во многих случаях такое автоматическое восстановление в процессе загрузки выполняется совершенно незаметно для пользователя. Единственным признаком может быть то, что загрузка вдруг протекает намного дольше обычного. В другом случае на экран выводится сообщение о том, что система была восстановлена после серьезной ошибки и после перезагрузки ее работа будет продолжена.
• При возникновении неустранимой критической ошибки во время загрузки служб и драйверов компьютер может зависнуть с появлением так называемого «синего экрана смерти» (Blue Screen Of Death, BSOD). Этот экран (рис. 1.1) является развернутым сообщением об ошибке.
Рис. 1.1. «Синий экран смерти»
Сообщение BSOD начинается фразой A problem has been detected and Windows has been shut down to prevent damage of your computer (Была обнаружена проблема, и работа Windows была завершена, чтобы предотвратить повреждение вашего компьютера). Затем следуют достаточно общие рекомендации по устранению данной проблемы на английском языке. Завершается сообщение строками вида
Technical information:
*** STOP: 0x0000007B (0xF9E62640, 0xC0000034, 0x00000000, 0x00000000)
Первое число является кодом ошибки, а далее в скобках следуют параметры, смысл которых зависит от категории ошибки. По коду ошибки можно найти ее описание на сайте компании Microsoft. Там же приводятся конкретные рекомендации по поиску и устранению возможных причин данной ошибки.
• Компьютер зависает в ходе загрузки без вывода каких-либо сообщений или начинает перезагружаться. Последнее нередко связано с тем, что при сбое критически важных служб может формироваться команда на автоматическую перезагрузку машины. Пока существует ошибка, такой цикл может повторяться до бесконечности.
• В результате ошибки службы или драйвера компьютер автоматически перезагружается, а в ходе перезагрузки выводится меню дополнительных вариантов загрузки Windows. При этом по умолчанию предлагается загрузка в безопасном режиме или запуск последней удачной конфигурации. Именно так происходит перезагрузка после установки нового драйвера какого-либо устройства, если этот драйвер явился виновником ошибки. Если загрузка в безопасном режиме проходит успешно, можно попробовать найти и исправить причину сбоя, а затем перезагрузить компьютер обычным образом.
Кроме ошибок, приводящих к краху системы, существуют программные неполадки, не затрагивающие критические системные процессы. В таких случаях загрузка операционной системы проходит до конца – и на экране появляется Рабочий стол. О наличии подобных ошибок пользователь может узнать лишь спустя некоторое время, при выполнении определенных действий. Допустим, проблема возникает при запуске какой-либо сетевой службы. Подобная неполадка никак себя не проявляет до тех пор, пока вы не попытаетесь выйти в Интернет. Ошибки драйверов, необходимых для записи дисков, обнаружатся только в процессе обращения к записывающему приводу CD или DVD.
Если процесс загрузки компьютера прошел нормально или по крайней мере без критических ошибок, начинается работа операционной системы. Перейдем к описанию проблем, которые могут возникнуть при работе программ, вызываемых пользователем компьютера в процессе работы.
Программные ошибки, проявляющиеся во время работы компьютера, обязательно связаны с обращением к какой-либо функции или команде операционной системы либо с запуском и работой прикладной программы. Внешние проявления таких ошибок могут быть сведены к некоторым типичным случаям.
• При запуске программа тут же завершает свою работу с сообщением об ошибке или без всякого сообщения. Повторные попытки запустить эту программу приводят к тому же результату.
• Сразу после запуска или в ходе выполнения каких-либо операций приложение зависает, то есть перестает реагировать на любые команды. Закрыть его удается только нажатием сочетания клавиш ALt+F4 или через Диспетчер задач (рис. 1.2):
1) запустите Диспетчер задач нажатием сочетания клавиш CtrL+ALt+DeLete;
2) на вкладке Приложения щелкните кнопкой мыши на значке зависшего приложения;
3) нажмите кнопку Снять задачу. Через некоторое время появится окно Завершение программы;
4) в окне Завершение программы нажмите кнопку Завершить сейчас. Приложение будет закрыто.
Рис. 1.2. Диспетчер задач и окно Завершение программы
• Приложение в целом работает, но при попытке выполнить определенную операцию игнорирует команду или выводит сообщение о невозможности выполнить данную операцию. Эти три случая можно считать относительно благоприятными, так как они не приводят к «падению» операционной системы – после завершения сбойной задачи компьютер продолжает нормальную работу. Следующий вариант является более серьезным, так как приводит к критическому сбою Windows.
• В ходе запуска приложения или обращения к команде меню, элементу управления какого-либо окна компьютер зависает, выводит «синий экран смерти», выключается или перезагружается.
Наконец, существуют «псевдоошибки», которые связаны со случайными изменениями в настройках операционной системы, сделанными по неосторожности или в результате постороннего вмешательства. Последнее вполне возможно, если с компьютером работает несколько пользователей, а их вмешательство в систему ничем и никак не ограничено. К счастью, исключить такие ошибки достаточно просто: все подобные настройки вполне доступны, а подробное их описание легко найти в справочной системе Windows.
Источником ошибок в работе Windows и приложений, работающих под управлением системы, могут быть неполадки как в программном, так и в аппаратном обеспечении компьютера. Ранее уже описывались возможные проблемы, проявляющиеся при поломке оборудования компьютера. Сейчас же познакомимся с другим источником – программным.
Причины всех программных ошибок можно свести к двум самым общим случаям.
• В первом случае нарушается физическая или логическая структура файлов, папок и дисков. Грубо говоря, где-то на диске вместо единицы записан ноль или наоборот; либо часть файла не читается вовсе. Возможно, файл был просто удален, то есть сведения о нем исчезли из файловой системы. На примере книги это опечатка, клякса или вырванная страница. Система пытается найти и прочитать очередной файл, ей это не удается, и в ходе загрузки происходит ошибка.
• Во втором случае информация формально цела, но ошибочна по содержанию. Например, для какого-либо устройства может быть установлен несовместимый драйвер или программа заражена вирусом. Сюда же стоит отнести некорректные изменения системных настроек, содержащихся в реестре.
Очевидно, что причины повреждения или утраты файлов могут быть различными. Иногда порча файлов бывает следствием аппаратных проблем – ошибок жесткого диска. Некорректное выключение компьютера (например, внезапное исчезновение напряжения в сети) также может привести к повреждению или утрате отдельных файлов. Наконец, их можно удалить или переместить совершенно случайно. Во избежание таких случайностей наиболее важным для операционной системы файлам и папкам присвоены атрибуты «скрытый» и «системный», и по умолчанию эти объекты просто не показываются в Проводнике Windows. Даже если в настройках свойств папки разрешить отображение защищенных системных папок и файлов, при попытке удаления или перемещения таких объектов будет выведено предупреждение (рис. 1.3).
Рис. 1.3. Предупреждение при попытке удаления системного файла
Возможно, кого-то данное предупреждение не остановит. Однако файл ntldr используется операционной системой. Результат его удаления проявится не сразу, а лишь при очередном обращении к нему в процессе работы. Загрузка Windows прервется в самом начале! На рис. 1.4 показано сообщение, сопровождающее такую ошибку. Положение спасет только загрузка компьютера с другого носителя, например установочного компакт-диска Windows, и копирование загрузчика обратно на жесткий диск.
Рис. 1.4. Сообщение об ошибке загрузчика ОС
Ошибки, связанные с утратой или повреждением файлов, обычно возникают на фоне полного благополучия. Они проявляются при очередном включении компьютера, даже если чуть раньше все работало совершенно нормально.
Второй случай всегда является результатом вмешательства человека. Типичная ситуация: после обновления драйверов или установки новой программы вы перезагружаете компьютер, а он при этом зависает. Оказывается, новый установленный драйвер содержит ошибки или не совсем подходит к конкретной модели оборудования. При установке отдельных игр по умолчанию заодно заменяются и некоторые компоненты операционной системы, например отдельные системные библиотеки. Подобная практика среди разработчиков приложений не приветствуется: по правилам грамотного программирования установка прикладной утилиты не должна затрагивать компоненты ОС. Тем не менее такие приложения встречаются.
Существует проблема несовместимости отдельных программ с определенными версиями операционных систем семейства Windows. В частности, это относится к запуску некоторых достаточно старых утилит на компьютерах с Windows Vista. Обычно сведения о совместимости приводятся в документации к программе или на сайте разработчика. Если таких сведений нет, остается проверять совместимость экспериментальным путем. Перед подобными экспериментами очень полезно создать резервную копию системного диска в программе типа Acronis True Image или Roxio GoBack. По меньшей мере стоит создать точку восстановления системы встроенными средствами Windows. Дело в том, что, пусть и очень редко, удаление программы может не вернуть систему в предыдущее состояние: остаются какие-либо изменения в реестре, файлы в системных папках.
Не свободна от внутренних ошибок и сама операционная система. В любом приложении есть место для ошибки, сделанной программистами. Если же код программы занимает сотни мегабайт, счет ошибок идет на десятки. Бытует шутка, что каждая новая версия Windows исправляет ошибки, допущенные в более ранних сборках. По-видимому, это неизбежно, и никакое тестирование такую проблему полностью не решает. Единственный выход – создание разработчиками «заплаток» (patches) по мере выявления недостатков и установка этих исправлений самими пользователями. Для облегчения данной процедуры задумана функция автоматического обновления системы. По ряду причин в нашей стране службу автоматического обновления большинство пользователей отключают, предпочитая скачивать и устанавливать обновления самостоятельно. Первые исправления и дополнения появляются через считаные недели после официального выхода очередной версии ОС, а спустя некоторое время разработчики выпускают пакеты обновлений, называемые сервис-паками (Service Pack, SP). Практика показывает, что операционная система оказывается «доведенной до ума» не ранее, чем появится второй пакет обновлений (SP2). К этому времени обычно к выходу в свет готова уже следующая версия Windows!
Очень часто о постороннем вмешательстве в свой компьютер пользователь даже не подозревает. Как вы догадались, речь идет о компьютерных вирусах. По статистике, больше половины всех компьютерных проблем вызывается вирусами и другими вредоносными модулями. Программа-вирус способна добавлять свой код к содержимому различных исполняемых файлов, после чего они также могут внедрять этот код в следующие файлы. В результате приложения начинают вести себя не совсем так, как ожидается. Проявления деятельности вредоносных модулей настолько разнообразны, что перечислить их все просто невозможно: компьютерным вредительством подчас занимаются весьма талантливые программисты, а их изобретательность безгранична. Придумайте любое безобразие, которое может твориться с компьютером, и наверняка окажется, что когда-то кто-то уже создал вирус с таким действием. Далее в этой главе мы познакомимся с вирусами поближе.
Само понятие «ошибка» предполагает определенную повторяемость. На практике встречаются ситуации, когда ошибка возникает однократно, а после перезагрузки или просто завершения давшей сбой программы компьютер продолжает работать совершенно нормально. Поскольку ошибка больше не повторяется, сказать что-нибудь о ее причинах бывает затруднительно. Как правило, всякие случайные и неповторяющиеся сбои так и остаются загадкой.
Можно только предположить, что за ними на самом деле скрываются аппаратные причины. Возможно, это неотфильтрованные выбросы напряжения питания, спровоцировавшие кратковременный сбой процессора или изменение содержимого отдельных ячеек памяти. Всерьез обсуждалось влияние космических частиц на стабильность оперативной памяти. Потоки таких частиц непрерывно бомбардируют Землю. Благодаря огромной энергии они способны пронизывать любые предметы, попадающиеся на их пути, и оставлять за собой ионизированный след. Конечно, вероятность встречи элементарной частицы с модулем памяти достаточно мала, но вполне реальна. Да и самое настоящее насекомое, залезшее в системный блок, тоже нельзя сбрасывать со счетов, особенно летом.
Так или иначе, если код программы был неправильным изначально или ошибка возникла вследствие проблем с носителем информации, программа будет «спотыкаться» каждый раз на одном и том же месте. В проявлении характерных аппаратных неисправностей тоже можно проследить какую-либо закономерность, хотя и не столь очевидную. Но даже после исключения всех объяснимых программных и аппаратных проблем остается малая доля совершенно непонятных случайных сбоев. Вероятно, со сбоями, происходящими раз в несколько недель или месяцев, следует просто смириться.