Я собираюсь заняться разработкой ядра операционной системы и понял, что читаю книги об операционных системах (Tannenbaum), а также изучаю, как BSD и Linux справились с этой проблемой, но все еще застрял на нескольких концепции.
Если бы я хотел имитировать синий экран смерти Windows в операционной системе, я бы просто поместил эту логику в метод ядра паника ?
Есть ли способы улучшить то, как Windows в настоящее время выполняет эту функцию?
Я не совсем уверен, где искать исходники, но вы можете захотеть взглянуть на ReactOS, клон Windows с открытым исходным кодом, который уже имеет BSOD.
BSD фактически справились с этим намного лучше, чем Windows с DDB :) Вот еще одна ссылка на Отладка ядра FreeBSD документы.
Вы можете эмулировать функциональность проверки ошибок Windows в любом месте. Большинство систем Linux помещают его в XScreenSaver .
Однако я сомневаюсь, что это то, о чем вы действительно спрашиваете. Вы спрашиваете, как создать файл дампа?
Чтобы улучшить проверку ошибок Windows, разработчики драйверов Windows могут использовать KeRegisterBugCheckReasonCallback () для записи дополнительной информации о состоянии своих драйверов в сгенерированном мини-дампе. Это потенциально может повысить эффективность посмертной отладки, когда не включены полные дампы ядра / памяти.