使用Rust编写操作系统 - 2.2 - 双重故障
本文将详细探讨双重故障异常,这种异常是在CPU无法调用异常处理程序时发生的。通过处理此异常,我们能够避免导致系统重置的致命三重故障。为了能够在任何情况下防止三重故障,我们还将建立一个中断栈表,以便在单独的内核栈上捕获双重故障。
本文将详细探讨双重故障异常,这种异常是在CPU无法调用异常处理程序时发生的。通过处理此异常,我们能够避免导致系统重置的致命三重故障。为了能够在任何情况下防止三重故障,我们还将建立一个中断栈表,以便在单独的内核栈上捕获双重故障。
本篇文章将探讨在no_std
环境中,可执行文件的单元和集成测试。我们将利用Rust对自定义测试框架的支持来在内核中执行测试函数。为了输出QEMU的结果,我们将使用QEMU和bootimage
工具的其他功能。
CPU异常发生在多种错误场景中,如在访问无效的内存地址时或是在除零运算时。为了对错误作出反应,我们需要建立一个提供处理函数的中断描述符表。在本文的结尾,我们的内核将能够捕获断点异常并在处理后恢复正常运行。
在这篇文章中,我们将为x86架构创建一个最小化的64位Rust内核。我们将在上一篇文章的独立Rust二进制程序基础上,创建一个可启动的磁盘映像,并在屏幕上打印一些东西。
创建我们自己的操作系统内核的第一步,是创建一个不链接标准库的Rust可执行程序。这样就可以在没有底层操作系统的情况下在裸机上运行Rust代码。
最近老经常出差到上海,笔记本和树莓派就放上海这边办公室懒得拿回公寓,但是上面都有些想随时调出来看的文件,希望能用手机直接访问这俩设备,搜了一下准备用frps-frpc做个内网穿透试试。
Update your browser to view this website correctly.&npsb;Update my browser now