Питер Нортон - Полное руководство по Microsoft Windows XP
• повреждение пространства системного ядра Windows. Маловероятно, что разработчики прилагали настолько мало усилий для тестирования своих продуктов, чтобы такая проблема осталась незамеченной. Обычно имеет место следующая ситуация: сбившийся указатель приложения начинает переписывать область системной памяти Windows. Как правило, Windows XP обнаруживает проблему и выводит на экран соответствующее предупреждение. На самом деле я никогда не сталкивался с данной проблемой, однако некоторые пользователи сообщали об этом. Windows XP автоматически завершает такое приложение. Иногда система не обнаруживает проблему до тех пор, пока не становится поздно: происходит утечка, и в этом состоянии она не способна изменить ситуацию, а затем просто «зависает». В подобном случае лучше всего обратиться к разработчику и узнать, можно ли исправить данную неполадку;
• пробуксовка диска (Disk Crashing). Если вы попробуете использовать приложение, которое система не поддерживает, вы можете столкнуться с таким явлением, как пробуксовка диска.
Признаком пробуксовки служит долго горящий индикатор жесткого диска и медленная работа приложения. Очевидно, лучшим способом решения проблемы будет добавление памяти (имейте в виду, что память сейчас стоит относительно недорого). Конечно, также допустимо применить некоторые приемы по экономии памяти (см. главу 5);
• повреждение памяти дисплея. Некоторые старые приложения Windows могут создавать проблемы при записи на дисплей. Хотя приложения Windows используют иной метод отображения данных, чем приложения MS DOS, в некоторых случаях вероятны проблемы с дисплеем вообще. Например, когда приложение оставляет дисплей в таком состоянии даже после своего завершения. Вы можете столкнуться и с другими формами повреждения дисплея. Так, приложение способно повредить кэш значков (Icon Cache). Некоторые значки, отображаемые на экране, не будут соответствовать своим функциям или совсем исчезнут. Выходом из данной ситуации станет завершение работы приложения и перезагрузка системы.
...Примечание
Вы наверняка заметили, что Windows XP использует как минимум 16-разрядный цветной дисплей. Одной из важнейших причин этого является возможность демонстрации новых мультимедийных свойств ОС. Однако изменение также направлено на решение проблем системы отображения Windows XP. Одна из таких проблем возникает, когда приложение изменяет палитру (цвета дисплея, если вы применяете настройку из 256 цветов или менее), не принимая во внимание другие приложения, работающие в системе. Пользователь вряд ли может здесь что-либо поделать. Окно приложения выглядит прекрасно, но все окружающие элементы приобретают странные цвета, что приводит к нечитаемости текста. Установка 16-разрядного дисплея поможет уменьшить или устранить данную проблему.
После того как вы выявите и исправите повреждения памяти, следует найти виновное в этом приложение. Такие неполадки просто так не исчезают: вы обнаружите, что проблема снова возникнет, в самый неподходящий момент. Определив виновника, следует связаться с разработчиком и выяснить, как устранить данную проблему. Если это невозможно, подумайте, стоит ли мириться с проблемой повреждения или лучше установить новое приложение.
Как найти виновника? Он не может быть приоритетным приложением, только фоновым или вообще не приложением. Сбой памяти способен вызвать драйвер во время использования специфического устройства. Еще одной причиной является взаимодействие между двумя приложениями или между приложением и драйвером устройства. В любом случае вам необходимо с чего-то начать – например, с проверки запущенных приложений. Для того чтобы обнаружить большую часть проблем памяти, выполните следующую процедуру:
1. Запустите все потенциально проблемные приложения. Я обычно запоминаю все приложения, запущенные на момент возникновения сбоя памяти. Также важно заметить все работающие устройства. Конечно, некоторые устройства действуют всегда, поэтому их не стоит учитывать.
2. Запустите подозрительные приложения по очереди, чтобы проверить, не повторится ли сбой.
3. Если вы все-таки не обнаружили виновника, вернитесь к нормальному режиму работы и попробуйте различные сочетания приложений. Возможно, возникнет какая-нибудь проблема взаимодействия.
4. Проверьте Журнал событий приложений (Application Log) в программе Просмотр событий (Event Viewer) на наличие проблем загрузки драйверов или каких-либо конфликтов применения ресурсов. Windows XP придает очень большое значение тому, кто использует память и где.
5. Запоминайте набор работающих приложений каждый раз при возникновении ошибки памяти. В конце концов вы определите те приложения, которые всегда активны в такой ситуации. Попробуйте загрузить только эту группу приложений и проверить, появится ли сбой. Продолжайте сужать круг проблемных приложений, пока у вас не останется одно или два. Лучшим выходом будет не допускать их совместного функционирования.
Такая проверка путем исключения занимает немало времени; тем не менее, если ее проводить правильно, можно решить любую проблему. К сожалению, из-за одновременной работы большого количества процессов в среде Windows XP проблемы памяти в действительности довольно трудно выявить. Взаимодействуют все приложения и драйверы устройств. Вы поймете, что сложнее всего обнаружить неполадку, возникающую при взаимодействии трех или четырех приложений или драйверов. Всегда стоит потратить время и тщательно проверить каждую потенциально проблемную область.
Конечно, когда вы выявили источник, нужно найти способ решения. Вы наверняка уже с этим сталкивались: ожидание на телефоне в то время, как каждый разработчик отсылает вас к кому-то еще. На самом деле для некоторых типов проблем памяти не существует простого решения; лучше всего вообще не допускать их возникновения, установив новую версию приложения или модернизировав имеющееся оборудование.
Проблемы драйверов
Специалисты Microsoft пытаются решить проблему, связанную с драйверами. В прошлых версиях Windows это была наиболее сложная проблема, которая могла возникнуть в системе. Немногие люди понимают, как работают драйверы, и тем более не представляют внутреннего устройства специфических драйверов машины. Неисправный драйвер может вызывать бесконечные сбои, с которыми не справится персонал службы технической поддержки. Неисправность драйвера быстро выходит из-под контроля и наносит вред другим системам. Кроме того, драйвер работает на высочайшем уровне привилегий и без труда может вызвать «зависание» системы.
Как уже было упомянуто, Microsoft применяет качественные лицензионные драйверы. Использование только лицензионных драйверов не гарантирует безотказную работу, но является шагом в правильном направлении.
Я уверен, что кто-нибудь попробует установить драйвер Windows 9х или Windows NT в Windows XP. Ни один из них наверняка не будет функционировать. Скорее всего, вам придется подобрать специальный драйвер Windows XP. Если вы не можете этого сделать, попробуйте некоторые драйверы для Windows 2000.
Проще всего проверить, устарел ли ваш драйвер, щелкнув правой кнопкой мыши по значку Мой компьютер и выбрав в контекстном меню команду Свойства. В диалоговом окне Свойства системы (System Properties) укажите вкладку Оборудование (Hardware) и нажмите кнопку Диспетчер устройств (Device Manager). Выберите соответствующее устройство двойным щелчком мыши и перейдите на вкладку Драйвер (Driver). Нажмите кнопку Сведения (Driver Details). На экране появится диалоговое окно Сведения о файлах драйверов (Driver File Details), аналогичное показанному на рис. 24.6. В данном случае выделенный драйвер является лицензионным. Обратите внимание, что запись также содержит информацию об авторском праве, поставщике и версии. Эту информацию можно использовать для определения возраста драйвера.
Рисунок 24.6. Старайтесь не использовать старые драйверы, а также драйверы для Windows 9х или Windows NT
Чаще всего драйверы не имеют интерфейса и, как многие другие элементы операционной системы, о своих затруднениях сообщают при помощи Журнала событий (Event Log). В большинстве случаев Журнал событий свидетельствует о том, у какого драйвера возникла неполадка. В нескольких случаях возникшая проблема представляет собой конфигурационную ошибку или недостающий файл.
Еще одно решение можно найти в диалоговом окне свойств соответствующего устройства. Например, диалоговое окно модема включает вкладки как для настройки, так и для диагностики. Прежде всего, убедитесь, что модем настроен правильно. Проверив настройки, запустите процедуру диагностики. Разработчики часто прилагают средства диагностики к драйверу устройства, чтобы облегчить поиск неисправностей.