gpt4 book ai didi

operating-system - 是什么阻止操作系统从 'blue screen of death' 恢复?

转载 作者:行者123 更新时间:2023-12-04 07:23:51 25 4
gpt4 key购买 nike

如果一个程序违反了它的指令路径和/或内存数据,由于程序在“虚拟机”(如操作系统的空间)中运行并且它无法确定它的下一条指令,因此操作系统会暂停它并显示一些消息。

操作系统 intern 也是一个程序,与任何其他程序一样共享机器资源并且可以以类似的方式停止它有时足够健康以显示一些调试信息和蓝屏。所以作为一名程序员,我在想,如果我能做到这一点——发出调试信息并使屏幕变蓝,为什么我不能尝试完全恢复操作系统而不是要求冷重启?毕竟它的操作系统 - 它应该是所有软件的坚如磐石的基础(当然不是谈论 Windows),如果航天飞机运行 Windows 那么会发生什么 - 它不会恢复?:)

那么:是否只是 MS 没有采取一切措施恢复到不需要重启的程度,还是其他更深层次的问题导致像 MS 这样的公司无法做到这一点?

最佳答案

这不是微软特有的; Linux 有一个 kernel panic机制,OS X 有一个 kernel panic机制。我希望每个非玩具操作系统内核在检测到内部损坏时都有某种 panic 机制。损坏可能来自硬件故障、软件故障、 Gamma 射线正好击中内存板,谁知道呢。

内核 panic 背后的全部要点是认识到不应该出错的事情出错了。还有什么可能是无效的?根据崩溃发生的位置,同步和卸载文件系统可能不安全,因为这可能会将损坏的数据覆盖在驱动器上的良好数据上。

写入视频卡是通知用户事件的好方法(无论如何,许多系统都连接了监视器)并且写入视频卡不太可能破坏磁盘上的数据:它会出错对于 IOMMU 或页表如此损坏以至于它们引用磁盘上的文件并且大多数操作系统将在内核崩溃后拒绝写入 block 设备以尝试不惜一切代价保护用户数据.

考虑一下您可以做些什么来使系统恢复到运行状态?您需要拆除所有可能与损坏的内核数据结构相关联的应用程序。您需要以正确的顺序重新启动应用程序,以恢复系统服务。重启是可靠地完成这两件事的一种非常简单的方法。

关于operating-system - 是什么阻止操作系统从 'blue screen of death' 恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com