Operating system 沙箱内核模式驱动程序是可能的还是常见的技术?
我看到内核模式驱动程序在特权模式下运行是有风险的,但是是否有任何单片内核可以执行任何形式的驱动程序/可加载模块沙盒,或者这真的是微内核的领域?这种沙盒没有意义,操作系统完全信任驱动程序代码。基本上,这些驱动程序成为内核的一部分。在FS崩溃或内核的任何主要子系统崩溃后,都无法进行故障切换。基本上这是不好的(崩溃后的故障切换,想象一下在启动磁盘的存储驱动程序崩溃后你能做什么?),因为可能会导致数据丢失。Operating system 沙箱内核模式驱动程序是可能的还是常见的技术?,operating-system,kernel,device-driver,Operating System,Kernel,Device Driver,我看到内核模式驱动程序在特权模式下运行是有风险的,但是是否有任何单片内核可以执行任何形式的驱动程序/可加载模块沙盒,或者这真的是微内核的领域?这种沙盒没有意义,操作系统完全信任驱动程序代码。基本上,这些驱动程序成为内核的一部分。在FS崩溃或内核的任何主要子系统崩溃后,都无法进行故障切换。基本上这是不好的(崩溃后的故障切换,想象一下在启动磁盘的存储驱动程序崩溃后你能做什么?),因为可能会导致数据丢失。 第二,沙箱导致所有内核代码性能受损。这种沙箱没有任何意义,操作系统完全信任驱动程序代码。基本上,
第二,沙箱导致所有内核代码性能受损。这种沙箱没有任何意义,操作系统完全信任驱动程序代码。基本上,这些驱动程序成为内核的一部分。在FS崩溃或内核的任何主要子系统崩溃后,都无法进行故障切换。基本上这是不好的(崩溃后的故障切换,想象一下在启动磁盘的存储驱动程序崩溃后你能做什么?),因为可能会导致数据丢失。
第二,沙箱导致对所有内核代码的性能影响。是的,有些平台使用“单片”(对于单片的某些定义)内核,对某些驱动程序进行驱动程序沙箱。Windows在较新版本的用户模式驱动程序框架中实现了这一点。这样做有两个原因:-
因此,有时值得这么做,因为额外的健壮性和开发的易用性使得较小且通常不明显的性能降低是值得的。是的,有一些具有“单片”(对于单片的某些定义)内核的平台为某些驱动程序执行驱动程序沙箱。Windows在较新版本的用户模式驱动程序框架中实现了这一点。这样做有两个原因:-
因此,有时值得这么做,因为额外的健壮性和开发的易用性使得较小且通常不明显的性能降低是值得的。我认为我们讨论的是内核模式驱动程序)。而且很少一组驱动程序可以用UMDF编写(如果你想要一些选项,比如我记得的concurent access,你也不能切换到UMDF)。UMDF可以做的事情肯定有限制,但这仅仅是UMDF的一个功能,它还不是一项完整的技术——它们支持您希望首先进入用户模式的东西,比如打印机驱动程序,在这里并发访问不是问题。这个问题并不是专门问内核模式驱动程序,我认为我们讨论的是内核模式驱动程序)。而且很少一组驱动程序可以用UMDF编写(如果你想要一些选项,比如我记得的concurent access,你也不能切换到UMDF)。UMDF可以做的事情肯定有限制,但这仅仅是UMDF的一个功能,它还不是一个完整的技术——它们为您想要转移到用户模式f的东西提供了支持