Вы здесь

Защита компьютера на 100%: cбои, ошибки и вирусы. Глава 1. Какие неприятности могут случиться с компьютером (П. А. Ташков, 2010)

Глава 1

Какие неприятности могут случиться с компьютером

Аппаратные неисправности

Ошибки при работе программного обеспечения

Сбои операционной системы

Вирусы

Нежелательные программы

Резюме


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

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

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

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

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

Отсюда следует, что одной из основных задач определения источника ошибки в работе компьютерной системы является разделение неполадок на аппаратные и программные. Все это не так просто реализовать на практике, поскольку любая функция компьютера обеспечивается с помощью как аппаратных, так и программных средств. Например, воспроизведение видеофайла (скажем, 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. Прикладные программы.

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

Ошибки при загрузке системы Windows

Вот как протекает процесс загрузки операционной системы. После того как компьютер включен и успешно выполнена процедура начального запуска, процессор начинает выполнять инструкции 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.

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

Ошибки программ при работе в системе Windows

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

• При запуске программа тут же завершает свою работу с сообщением об ошибке или без всякого сообщения. Повторные попытки запустить эту программу приводят к тому же результату.

• Сразу после запуска или в ходе выполнения каких-либо операций приложение зависает, то есть перестает реагировать на любые команды. Закрыть его удается только нажатием сочетания клавиш 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!

Очень часто о постороннем вмешательстве в свой компьютер пользователь даже не подозревает. Как вы догадались, речь идет о компьютерных вирусах. По статистике, больше половины всех компьютерных проблем вызывается вирусами и другими вредоносными модулями. Программа-вирус способна добавлять свой код к содержимому различных исполняемых файлов, после чего они также могут внедрять этот код в следующие файлы. В результате приложения начинают вести себя не совсем так, как ожидается. Проявления деятельности вредоносных модулей настолько разнообразны, что перечислить их все просто невозможно: компьютерным вредительством подчас занимаются весьма талантливые программисты, а их изобретательность безгранична. Придумайте любое безобразие, которое может твориться с компьютером, и наверняка окажется, что когда-то кто-то уже создал вирус с таким действием. Далее в этой главе мы познакомимся с вирусами поближе.

Сбои операционной системы

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

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

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

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

«Старение» операционной системы

Давно замечено, что сразу после установки операционной системы на чистый диск компьютер работает быстрее всего, а со временем реальное быстродействие неуклонно снижается. Конечно, об износе или настоящем старении операционной системы не может быть и речи, но работа системы действительно постепенно ухудшается. Это вполне объективное явление, и связано оно со многими факторами.

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

• Особенно влияет на быстродействие фрагментация файла подкачки.

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

• Установка приложений нередко сопровождается инсталляцией автоматически загружаемых резидентных программ и служб.

Программы, память и файл подкачки

Каждая работающая программа занимает определенное место в оперативной памяти. Сама операционная система Windows во время работы занимает в оперативной памяти не менее 40 Мбайт. Объем оперативной памяти, используемой каждой прикладной программой, может достигать десятков мегабайт. Вполне можно представить ситуацию, когда общее количество памяти, необходимое операционной системе и всем одновременно запущенным программам, превысит размер оперативной памяти, установленной в данном компьютере.

Современные ОС умеют обходить такое ограничение. Для этого на жестком диске создается так называемый файл подкачки (swap file или page file). Часть информации, которая должна находиться в оперативной памяти, может сбрасываться в этот файл. Таким образом, файл подкачки как бы продолжает оперативную память. Иначе файл подкачки называют виртуальной памятью (в отличие от реальной физической памяти). Операционная система предоставляет программам весь нужный им объем памяти, не уточняя, реальная это память или виртуальная. При этом в файл подкачки перемещается та информация, к которой дольше всего не было обращений. За распределением информации в физической и виртуальной памяти операционная система следит постоянно. Стоит какой-либо программе обратиться к данным, которые были перемещены в виртуальную память, как ОС тут же освобождает место в физической памяти и перемещает туда запрашиваемую информацию. Освободить место в физической памяти можно единственным образом – перенеся данные оттуда в файл подкачки. Наблюдая за обращением различных программ к памяти, операционная система старается постоянно держать свободным не менее четверти объема физической памяти.

Технология виртуальной памяти позволяет запускать на компьютере столько приложений, сколько нужно пользователю, невзирая на ограниченный объем физической памяти. Правда, за такую возможность приходится расплачиваться быстродействием системы. Реальная скорость обращения к жесткому диску в десятки или сотни раз меньше скорости работы оперативной памяти. Поэтому каждое обращение к виртуальной памяти заметно «притормаживает» машину. Рекомендуемый размер файла подкачки в 1,5 раза превышает объем оперативной памяти компьютера. При настройках по умолчанию операционная система Windows создает файл подкачки именно такого размера, а по мере необходимости может его уменьшать или увеличивать. С работой файла подкачки связаны три полезных вывода.

• Виртуальная память – вынужденная мера, призванная обеспечить работу ОС даже на компьютерах с минимальным объемом оперативной памяти. Частые обращения системы к файлу подкачки обычно оказываются основным «тормозом» производительности. На практике из всех вариантов усовершенствования аппаратной части увеличение физической памяти дает самый заметный прирост общего быстродействия компьютера.

• К «народным советам» по настройке файла подкачки стоит относиться осторожно. Для домашнего компьютера оптимальной чаще всего остается настройка, принятая по умолчанию при установке Windows: файл подкачки располагается на системном диске, а его размер автоматически определяется системой.

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

Фрагментация файлов

На физическом уровне жесткий диск записывает информацию только целыми секторами размером по 512 байт. Когда-то такой стандарт был удобен и достаточен. По мере роста емкости винчестеров возникло желание увеличить размер участков диска, к которым система обращается одномоментно. Современные жесткие диски чаще всего на уровне BIOS поддерживают функцию LBA (Logical Block Access – доступ к логическим блокам). В таком случае BIOS обращается не к каждому сектору отдельно, а к целым блокам, состоящим из нескольких физических секторов. Считывание и запись информации при таком обращении происходят сразу большими порциями и осуществляются гораздо быстрее. Наконец, на уровне файловой системы существует понятие «кластер». Кластер представляет собой группу секторов, или логических блоков, рассматриваемых как единое целое. Каждый кластер включает в себя от 8 до 128 секторов. В процессе форматирования диска средствами Windows размер кластера при желании можно задать вручную. Значение по умолчанию предлагается операционной системой в зависимости от размера диска: чем больше диск, тем больше размер кластеров на нем. После того как диск отформатирован, правильнее всего говорить не о секторах, а о кластерах – для любой операционной системы диск выглядит именно так.

Если размер файла превышает размер сектора (логического блока, кластера), файл занимает несколько секторов (блоков, кластеров). Другими словами, фрагменты одного файла могут размещаться в разных кластерах. В процессе обращения к фай – лу операционная система собирает эти фрагменты воедино в оперативной памяти. Когда фрагменты файла занимают кластеры, следующие один за другим, все отлично – головка жесткого диска может считывать или записывать эти данные практически «не отходя от кассы». В действительности такая непрерывная запись возможна лишь в идеале. Допустим, мы по одному записываем файлы на только что отформатированный диск. Тогда файлы действительно располагаются на диске один за другим и каждый занимает кластеры, последовательно идущие друг за другом. Принято говорить, что файлы на таком диске не фрагментированы или что фрагментация диска составляет 0 %.

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

Рис. 1.5. Процесс фрагментации файлов


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

• Некоторые наиболее важные системные файлы ОС считает неперемещаемыми (фиксированными), и они всегда занимают на диске строго определенное положение.

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

• Процесс перезаписи частей файла в соседние секторы на жестком диске для ускорения доступа и загрузки называется дефрагментацией. В состав ОС Windows входит служебная программа Дефрагментация диска, которая анализирует размещение фрагментов файлов на дисках, а затем переносит все фрагменты каждого файла в последовательно расположенные секторы. В процессе дефрагментации файлы на диске многократно перетасовываются, чтобы освободить непрерывное место для каждого из них. Поэтому программа дефрагментации может упорядочивать файлы довольно долго, а для своей работы требует наличия на диске не менее 15 % свободного пространства от общего объема.

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

В качестве примера очень удачного дефрагментатора с гибкими настройками можно назвать программу VoptXP компании Golden Bow Systems (www.goldenbow.com).

«Захламление» реестра

Реестр – это компонент операционной системы, служащий для хранения подавляющего большинства настроек самой системы и прикладных программ. Для каждого параметра в реестре существует запись вида «параметр = значение». Параметром может быть все, что угодно: папка, к которой по умолчанию обращается программа, цвет, размер или положение элемента окна, поведение приложения в каком-то случае, имя пользователя и серийный номер программы и т. д. Большинство записей реестра создается в процессе установки операционной системы. Любое изменение настроек Windows фактически является изменением определенных записей реестра.

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

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

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

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

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

«Лишние» программы

Любому человеку присущи любопытство и тяга к новому. У пользователя компьютера это обычно выливается в желание периодически устанавливать новые программы. Игры по определению надоедают достаточно быстро и устанавливаются одна за другой, пока позволяет место на диске. Об удалении приложений, к которым интерес уже прошел, задумываются гораздо реже.

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

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

Кроме «украшений», резидентными являются и некоторые компоненты вполне серьезных программных пакетов. В качестве примера можно назвать Adobe Gamma – компонент настройки цветопередачи экрана, устанавливаемый вместе с популярнейшим графическим редактором Adobe Photoshop. Безусловно, этот компонент нужен профессионалам-полиграфистам, но домашнему пользователю он ощутимой пользы не несет. Приложения Быстрый поиск файлов и Ускоренный запуск приложений MS Office помогут тем, кто постоянно и интенсивно работает с названным программным пакетом. Если же вы открываете редактор Microsoft Word раз или два в неделю, отключение автозапуска указанных программ принесет только пользу. Немного памяти освободится для запуска любимых игр.

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

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

Вирусы

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

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

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

• Вирус способен создавать на компьютере свои копии, то есть размножаться.

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

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

Загрузочные вирусы при инфицировании компьютера попадают в загрузочный сектор диска и автоматически запускаются при загрузке системы.

Файловые вирусы внедряются в файлы программ и начинают работать при их запуске пользователем. При размножении файловый вирус может создать собственную копию или внедриться в исполняемый файл другой программы. При обращении к зараженному приложению сначала запускается вирусная программа, которая затем вызывает оригинальный исполняемый файл. При внедрении в исполняемый файл вирус может расположиться в начале, середине или в конце программы или же рассеяться по всему файлу – все в руках вирусмейкера (от англ. virus maker – создатель вируса).

Вирусы-сценарии реализованы в виде сценариев на языках JavaScript (JS), PHP, Visual Basic Script (VBS), BAT и др. Эти вирусы для своей деятельности используют возможности, предоставляемые языками сценариев, которые значительно разнятся между собой. Например, вирусы, реализованные в виде сценариев PHP, могут быть исполнены только на специальных веб-серверах, поэтому они не так страшны домашнему компьютеру. Вирусы на языках VBS и JS используются для создания динамических веб-страничек, и заражение ими происходит при посещении злонамеренных сайтов без должной защиты (какой – описано в главах 6 и 7). Вирусы на языке BAT довольно примитивны, поскольку на этом языке создаются файлы с наборами исполняемых команд операционной системе. Тем не менее они достаточно опасны, поскольку имеют доступ ко всем ресурсам компьютера.

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

Как вирусы попадают в компьютер

Способов проникновения вирусов в компьютер довольно много. Укажем только самые основные.

• Вирус может попасть в ваш компьютер при посещении злонамеренного сайта, например, в виде сценария.

• В Интернете существует множество сайтов, предлагающих загрузить ну «очень» полезную программу, например генератор электронных денег, способный «озолотить» пользователя. Загрузив и установив такой генератор, вы, скорее всего, рискуете инфицировать свой компьютер весьма опасным вирусом.

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

• Очень часто вирусы попадают в компьютер со сменного носителя информации, например с дискеты или диска. В настоящее время очень распространенным переносчиком вирусов стали устройства флеш-памяти – флешки. После установки такого зараженного носителя в компьютер система Windows может выполнить процедуру автозапуска. При автозапуске автоматически исполняется программа, указанная в файле autoexec. inf в корневой папке носителя. Если эта утилита инфицирована, участь вашего компьютера предрешена.

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

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

Черви

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

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

IRC-черви подобны IM-червям, но обитают в сетях IRC.

P2P-черви для своего распространения используют файлообменные сети: BearShare, Grokster, Kazaa, Morpheus, eDonkey2000 и пр. Такой червь помещает в файлообменную сеть зараженный файл, снабжая его привлекательной рекламой, в расчете на загрузку и запуск неосторожным пользователем.

Почтовые черви для своего распространения используют электронную почту. Подобно IM-червю, почтовый червь ищет адресную книгу почтового клиента и далее начинает рассылать свою копию, снабжая ее заманчивыми предложениями в тексте письма: скачать полезную программу, посетить какой-то очень интересный сайт и т. д. – фантазия вирусмейкеров поистине безгранична.

Черви можно также классифицировать по способу их обитания в компьютерах.

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

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

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

Троянские программы

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

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

Средой обитания троянских программ могут быть компьютеры под управлением систем Windows, UNIX и Mac OS, а также карманные ПК и смартфоны. «Троянов» очень много, и их возможности варьируются в широких пределах. Попробуем классифицировать их по «специализации» на определенной злонамеренной деятельности.

Trojan-Notifier способны передать своему хозяину собранные сведения о настройках и конфигурации инфицированного компьютера.

Trojan-PSW похищают конфиденциальные данные с зараженного компьютера и передают их хозяину по электронной почте.

Trojan-Clicker предлагают пользователям зараженного компьютера перейти на какой-то сайт со злонамеренной «начинкой». Методы для этого используются разные, например установка злонамеренной страницы в качестве домашней в браузере (то есть открываемой по умолчанию при запуске интернет-обозревателя).

Trojan-DDoS превращают зараженный компьютер в так называемый бот, или компьютер-«зомби», который используется для организации атак отказа в доступе на определенный сайт, например интернет-магазина. Далее от владельца сайта требуют заплатить деньги за прекращение атаки.

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

Trojan-Spy способны отслеживать все ваши действия на зараженном компьютере и передавать данные своему хозяину. В число этих данных могут попасть пароли, аудио– и видеофайлы с микрофона и видеокамеры, подключенных к компьютеру, снимки экрана и пр.

Backdoor способны выполнять удаленное управление зараженным компьютером. Функциональные возможности такого «трояна» поистине безграничны, весь ваш ПК будет в полном распоряжении хозяина программы. Он сможет рассылать от вашего имени сообщения, знакомиться со всей информацией, хранимой на компьютере, наконец, просто разрушить систему и данные – и все без вашего ведома.

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

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

Rootkit способы прятаться в системе путем подмены собой различных объектов, например работая под личиной отдельных процессов, программ, сервисов. Такие «трояны» весьма неприятны, поскольку способны заменить своим программным кодом исходный код операционной системы, что не дает антивирусу возможности выявить наличие вируса.

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

Нежелательные программы

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

Вред от таких программ заключается в потере времени, сил и нервов: вряд ли вы сможете спокойно работать, если на экране непрерывно появляются окна с предложением купить футболку, посетить магазин, совершить путешествие и т. д. Причем очень часто в этом же сообщении предлагается отказаться от показа рекламы, послав SMS по указанному номеру. Естественно, не бесплатно.

Широко распространены модули, которые сообщают вам о наличии в системе вируса и предлагают просканировать компьютер, хотя вируса у вас нет и никакого сканирования выполняться не будет. Такого рода утилит очень много: по данным PandaLabs, к концу 2008 года жертвами ложных антивирусов стали несколько десятков миллионов пользователей. Обычно такие антивирусы просто ничего не делают, но подчас могут и нанести большой вред. Например, потребовать от вас деньги за удаление якобы найденного на компьютере очень опасного вируса – никакая настоящая антивирусная программа так не делает. Клюнув на это предложение, вы лишь потеряете свои деньги.

Все эти программы подлежат удалению. А как – вы узнаете в главах 6 и 7.

Резюме

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

Теперь, вооружившись полученными знаниями, приступим к освоению методов защиты от сбоев и ошибок в работе компьютера. Начнем же мы с обсуждения проблем в работе аппаратного обеспечения, поскольку это базис, на котором зиждется надстройка – программное обеспечение.