在Google的NaCl(本机客户端)SDK中有sel_ldr.py
(安全elf加载程序),它允许用户运行通过NaCl或PNaCl工具链创建的NaCl可执行文件(.nexe
)。 sel_ldr.py
在运行这些.nexe
文件时究竟做了什么?NaCl sel_ldr行为和系统调用
具体如何sel_ldr处理NaCl可执行文件的操作系统调用?在阅读NaCl文档时,大部分信息都与使用pepper API创建Chrome浏览器可移植应用程序有关,关于sel_ldr服务运行时如何处理这些NaCl可执行文件没有太多细节。
我创建了许多NaCl可执行文件,它们在sel_ldr中运行时可以创建目录,文件,管道,睡眠和其他各种系统调用,并且它可以正常工作。我知道本地客户端本身监视系统调用。是通过使用胡椒API完成监控还是sel_ldr.py在其服务运行时沙箱中拦截并重定向系统调用到NaCl自己的系统调用实现?
Stack Overflow不会让我发布超过2个链接,所以这里是源代码引用:[开发者公开的头文件](http://src.chromium.org/viewvc/native_client/trunk/src/native_client/ src/trusted/service_runtime/include/sys/nacl_syscalls.h)和[x86-32上下文切换](http://src.chromium.org/viewvc/native_client/trunk/src/native_client/src/trusted/service_runtime/ arch/x86_32/nacl_syscall_32.S)代码。 – 2014-09-03 21:20:32
这是一个很好的答案!我非常高兴Chrome开发人员使用Stack Overflow。当devenv得到一个编译器时,我会很高兴地跳舞。 – 2015-01-12 04:28:56