在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