gpt4 book ai didi

linux - 坏的 USB 设备是否应该能够使无错误的 Linux 内核崩溃?

转载 作者:IT王子 更新时间:2023-10-29 00:56:54 25 4
gpt4 key购买 nike

我知道我的问题很宽泛,但我一直想知道这个问题很长一段时间。

一点背景。我在物理实验室工作,所有实验室计算机都运行 Debian(旧版本和 Lenny 的混合)或最近的 Ubuntu 10.4 LTS。我们编写了很多自定义软件来与实验硬件和其他计算机进行交互。

我们有很多控制实验各个部分的 FPGA 板,它们通过 USB 连接到不同的计算机。在升级控制实验的计算机后,我们开始看到运行所有激光器的计算机崩溃/锁定。这曾经是完全稳定的。

我的问题是:如果整台电脑因为一个问题而死机a) Python/GTK 软件图形用户界面b) USB 设备驱动程序或者c) 实际设备这能归咎于 Linux 内核(或操作系统的其他级别)吗?

要求 linux 内核即使在我的软件/硬件实现中出错也不要 panic 是不公平的。

我自己的猜测:任何用户级别的应用程序都不应该让整个系统崩溃,因为它们应该只能访问自己的东西。

任何设备驱动程序都成为内核本身的一部分,因此能够使其崩溃。我的推理合理吗?

红利问题:有没有办法以某种方式隔离设备和内核,这样无论硬件出现什么愚蠢的错误,Linux 都能继续愉快地运行。这将非常有用,原因有二:1)在运行的系统中调试更容易,2) 出于实验目的,我们确实需要较长的正常运行时间,只有系统的一部分崩溃比系统的一部分崩溃传播到其余部分要好得多。

如能提供有关此主题的任何链接和阅读 Material ,我们将不胜感激。谢谢。

最佳答案

你是正确的,非特权代码不应该能够使系统崩溃,除非存在内核错误。然而,非特权和特权之间的界限并不完全与用户空间与内核相同。如果用户帐户具有 super 用户权限,用户模式程序可以打开 /dev/kmem 并破坏操作系统的内部数据结构。

要将主内核与设备驱动程序问题隔离开来,请在虚拟机中运行设备驱动程序。

一些流行的 VM 系统,包括 VMWare Workstation,支持将任意 USB 设备从主机转发到客户机,而主机上没有特定于设备的驱动程序。

关于linux - 坏的 USB 设备是否应该能够使无错误的 Linux 内核崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10162657/

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