Почему Windows 98 часто выдает нам синие экраны?

Почему Windows 98 часто выдает нам синие экраны?

В отличие от Windows XP, которая редко вызывала у меня синий экран, я помню, что когда я использовал Windows 98, он часто выдавал синий экран.

Есть ли что-то не так с Windows 98, что делает ее особенно нестабильной?

решение1

Основная причина BSOD — это исключение, которое не было обработано в драйвере, из-за которого система не может восстановиться. Основная причина, по которой что-то изменилось — это новая система драйверов (WDM) намного стабильнее старой системы (ВxД) при обработке пограничных случаев. Теперь вы просто получите ошибку в журнале событий вместо BSOD при ошибке в драйвере, которая не настолько серьезна, чтобы вывести систему из строя.

Другим фактором является то, что Microsoft выпустилагораздо больше ресурсовдля разработчиков, чтобы они могли создавать более качественный код.

Третий фактор (о котором мне напомнил billc.cn, и он может быть более распространенным, чем проблема с драйвером) Начиная с Windows XP, гораздо сложнее получить доступ к оперативной памяти другой запущенной программы. Довольно часто обычные плохо написанные программы могут просто выйти и перезаписать все, что им нужно, в пространстве памяти какой-то другой программы, и если эта другая программа была ключевой частью Windows... BSOD.

Вот почему BSOD встречаются гораздо реже.

конечно, если вы действительно скучаете по BSOD-снимкамКрашПриCtrlScrollна 1, удерживайте правую клавишу Ctrl и дважды нажмите Scroll Lock. (сохраните все открытые программы перед попыткой)

решение2

  • Иногда это просто особый стиль сообщения о нефатальных ошибках. Вы можете восстановиться после такого типа синего экрана, нажав Enter.
  • Windows 98 не имеет никакой полезной защиты памяти и контроля доступа, поэтому процесс может легко повредить память других процессов. Нет простого способа восстановить повреждение ядра или системного процесса, поэтому он может только показать вам BSoD и перезагрузиться. Начиная с Windows NT, была реализована строгая защита памяти, поэтому он реже выдает синие экраны (возможно только из-за ошибок пространства ядра).
  • Windows сохранила совместимость с DOS, так что вы можете иметь все виды странных вещей, таких как 16-битные драйверы. Они могут иметь так много хаков, что они просто BSoD, ждущие своего часа.
  • В целом Windows 98 содержит много ошибочного кода.

решение3

Еще одна причина BSoD — это алгоритм планирования. Если вы не знаете, что такое планировщик, планировщик — это часть ядра, которая решает, какое приложение будет запущено следующим в многозадачной системе. Основная цель планировщика — иметь возможность запускать все приложения, находящиеся в состоянии «процесса», и не допускать, чтобы эти процессы вечно удерживали системные ресурсы. Каждому процессу нужны системные ресурсы, такие как память, процессор или ввод-вывод, и они должны освобождать эти ресурсы после их использования. Если процесс ждет ресурс, удерживаемый другим процессом, этот ожидающий процесс не может продолжать работу и испытывает нехватку этого ресурса. Предположим, у нас есть два запущенных процесса, p1 и p2, и два системных ресурса, r1 и r2, и p1 удерживает r1, p2 удерживает r2. Если процесс p2 переходит в состояние ожидания ресурса r1, а процесс p1 переходит в состояние ожидания ресурса r2, то эта система блокируется, и эти процессы p1 и p2 не могут выйти из состояния ожидания и не могут продолжить работу. Это состояние называется «Deadlock». Полностью заблокированная система может быть восстановлена ​​только перезагрузкой.

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

решение4

Основные моменты уже были упомянуты: в Windows XP появилась новая подсистема драйверов, а также в Windows XP гораздо более строгая защита памяти.

Третий важный моментчто не было упомянуто: начиная с Windows XP, Microsoft потребовала, чтобы все оборудование и драйверы проходили определенный уровень тестирования на совместимость (WHQL) для того, чтобы нести«Совместимо с Windows»наклейка. Это обеспечивает определенный уровень гарантии качества, которого раньше не было.

Связанный контент