沙箱和软件故障隔离到底是什么意思?

what means sandboxing and software fault isolation exactly?

我真的很困惑。软件故障隔离与沙盒一样吗?或者他们是不同的?我到处都读到沙盒意味着我们可以 运行 不受信任的代码而不影响其他程序或主机。好吧,但如何?他们是通过内存隔离来做到这一点的吗?我的意思是当一个程序只能访问它自己的内存而不能访问我们称之为沙箱的其他内存时?

如您所说,沙盒允许您 运行 不受信任的代码。有不同级别的沙箱。内存隔离——所以操作系统正在做的事情可以被视为一种沙箱。但是程序仍然可以共享相同的库和文件。所以有 Docker,允许隔离那些。但是在单独的 docker 容器上的两个进程 运行 仍然在同一台物理机器上 运行ning。所以虚拟化可以被视为更高级别的沙箱。

沙箱已连接到将沙箱中 运行 的内容与主机系统或主机系统上的其他应用程序 运行 隔离。

而软件故障隔离是指发现(隔离)故障或检测故障。在调试软件时,有一种做法是提供尽可能小的代码来重现问题。因此,将致力于解决问题的工程师可以快速找到根本原因,因为当他或她看到问题“孤立”时,可能性的数量会减少。

沙箱可用于隔离问题,尤其是在处理危险的病毒代码或可能破坏您正在执行故障隔离的主机系统稳定性的系统时。