gpt4 book ai didi

kernel - 操作系统问题

转载 作者:行者123 更新时间:2023-12-04 02:21:52 28 4
gpt4 key购买 nike

我最近问自己:如果启动了一个程序,例如 Mozilla Firefox,必须以某种方式将控制权交给它。但是当程序崩溃时,为什么我的整个系统不像早期的 Windows 版本那样崩溃?

  • Windows 如何从程序中收回控制权,甚至不完全将控制权交给它?

  • (注意:这不是我的作业;我去上学,但在我的信息学课上,当我问他们关于内核的问题时,只有那些会回答“我可以吃那个吗?”的人。和我的老师一样。)

    最佳答案

    这就是关于戒指和异常(exception)的故事。访问冲突会将控制权交给预先设置的操作系统处理程序来决定要做什么。一个程序也可以设置一个处理程序,但如果没有,它是一个 未处理 访问冲突,这是您称之为崩溃的事情之一。

    在某些情况下,这种机制用于好事。例如,当磁盘模仿实际内存时,这就是页面错误的工作方式。操作系统捕获访问冲突并加载所需的内容,然后恢复程序执行,就好像什么也没发生一样。

    其他事情可能会导致崩溃。

    无效指令也会被操作系统捕获。如果它是来自较新的、尚不支持(CPU)指令集的有效指令,操作系统将在软件中实现它。如果没有,它将声明一个未处理的异常并关闭您的进程。

    从未以正确模式运行的进程访问硬件端口也会导致程序崩溃。

    蓝屏是由故意调用特殊函数(称为 KeBugCheckEx())引起的。这将由在内核模式下运行的内核或设备驱动程序完成。这是为了宣布他们自己达到了不一致的逻辑状态,而且他们非常重要,相信这是立即关闭整个系统的重要原因,以避免对硬件或其他组件造成进一步损坏。

    关于kernel - 操作系统问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614339/

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