一个糟糕的USB设备是否能够崩溃无错误的Linux内核?

前端之家收集整理的这篇文章主要介绍了一个糟糕的USB设备是否能够崩溃无错误的Linux内核?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我知道,我的问题相当广泛,但很长一段时间我一直在想这个问题.

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

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

我的问题是:如果整个计算机由于问题而锁定
a)Python / GTK软件gui
b)USB设备驱动程序
要么
c)实际设备
这可归咎于Linux内核(或其他操作系统级别)吗?

即使我在软件/硬件实现中出错,要求linux内核不要惊慌是不公平的.

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

任何设备驱动程序都成为内核本身的一部分,因此可以使其崩溃.我的推理是否合理?

奖金问题:有没有办法以某种方式隔离设备和内核,这样无论硬件出现什么愚蠢的错误,Linux都会保持愉快的运行.由于两个原因,这将非常有用:
1)使用正在运行的系统,调试更容易,
2)为了实验的目的,我们确实需要很长的正常运行时间,只有系统崩溃的一部分比系统的一部分中传播到其余部分的崩溃要好得多.

有关此主题的任何链接和阅读材料将不胜感激.谢谢.

最佳答案
你是对的,没有特权的代码不应该关闭系统,除非有内核错误.然而,非特权和特权之间的界限与用户空间和内核不完全相同.如果用户帐户具有超级用户权限,则用户模式程序可以打开/ dev / kmem并删除操作系统的内部数据结构.

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

几个流行的VM系统,包括VMWare Workstation,支持将任意USB设备从主机转发到guest虚拟机,而无需在主机上使用特定于设备的驱动程序.

原文链接:https://www.f2er.com/linux/440348.html

猜你在找的Linux相关文章