OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="sandbox-internals"> | 3 <b><font color="#cc0000"> |
4 <span id="sandbox-internals-index"></span><h1 id="sandbox-internals"><span id="s
andbox-internals-index"></span>Sandbox Internals</h1> | 4 NOTE: |
| 5 Deprecation of the technologies described here has been announced |
| 6 for platforms other than ChromeOS.<br/> |
| 7 Please visit our |
| 8 <a href="/native-client/migration">migration guide</a> |
| 9 for details. |
| 10 </font></b> |
| 11 <hr/><section id="sandbox-internals"> |
| 12 <h1 id="sandbox-internals">Sandbox Internals</h1> |
5 <p>The sandbox internals documentation describes implementation details for | 13 <p>The sandbox internals documentation describes implementation details for |
6 Native Client sandboxing, which is also used by Portable Native | 14 Native Client sandboxing, which is also used by Portable Native |
7 Client. These details can be useful to reimplement a sandbox, or to | 15 Client. These details can be useful to reimplement a sandbox, or to |
8 write assembly code that follows sandboxing rules for Native Client | 16 write assembly code that follows sandboxing rules for Native Client |
9 (Portable Native Client does not allow platform-specific assembly code).</p> | 17 (Portable Native Client does not allow platform-specific assembly code).</p> |
10 <p>As an implementation detail, the Native Client sandboxes described here | 18 <p>As an implementation detail, the Native Client sandboxes described here |
11 are currently used by Portable Native Client to execute code on the | 19 are currently used by Portable Native Client to execute code on the |
12 corresponding machines in a safe manner. The portable bitcode contained | 20 corresponding machines in a safe manner. The portable bitcode contained |
13 in a <strong>pexe</strong> is translated to a machine-specific <strong>nexe</str
ong> before | 21 in a <strong>pexe</strong> is translated to a machine-specific <strong>nexe</str
ong> before |
14 execution. This may change at a point in time: Portable Native Client | 22 execution. This may change at a point in time: Portable Native Client |
15 doesn’t necessarily need these sandboxes to execute code on these | 23 doesn’t necessarily need these sandboxes to execute code on these |
16 machines. Note that the Portable Native Client compiler itself is also | 24 machines. Note that the Portable Native Client compiler itself is also |
17 untrusted: it too runs in a Native Client sandbox described below.</p> | 25 untrusted: it too runs in a Native Client sandbox described below.</p> |
18 <p>Native Client has sandboxes for:</p> | 26 <p>Native Client has sandboxes for:</p> |
19 <ul class="small-gap"> | 27 <ul class="small-gap"> |
20 <li><a class="reference internal" href="/native-client/reference/sandbox_interna
ls/arm-32-bit-sandbox.html#arm-32-bit-sandbox"><em>ARM 32-bit</em></a>.</li> | 28 <li><a class="reference internal" href="/native-client/reference/sandbox_interna
ls/arm-32-bit-sandbox.html#arm-32-bit-sandbox"><em>ARM 32-bit</em></a>.</li> |
21 <li>x86-32: the original design is described in <a class="reference external" hr
ef="http://research.google.com/pubs/archive/34913.pdf">Native Client: A Sandbox | 29 <li>x86-32: the original design is described in <a class="reference external" hr
ef="http://research.google.com/pubs/archive/34913.pdf">Native Client: A Sandbox |
22 for Portable, Untrusted x86 Native Code</a>, the current | 30 for Portable, Untrusted x86 Native Code</a>, the current |
23 design has changed slightly since then.</li> | 31 design has changed slightly since then.</li> |
24 <li><a class="reference internal" href="/native-client/reference/sandbox_interna
ls/x86-64-sandbox.html#x86-64-sandbox"><em>x86-64</em></a>.</li> | 32 <li><a class="reference internal" href="/native-client/reference/sandbox_interna
ls/x86-64-sandbox.html#x86-64-sandbox"><em>x86-64</em></a>.</li> |
25 <li>MIPS32, described in the <a class="reference external" href="https://code.go
ogle.com/p/nativeclient/issues/attachmentText?id=2275&aid=22750018000&na
me=native-client-mips-0.4.txt">overview of Native Client for MIPS</a>, | 33 <li>MIPS32, described in the <a class="reference external" href="https://code.go
ogle.com/p/nativeclient/issues/attachmentText?id=2275&aid=22750018000&na
me=native-client-mips-0.4.txt">overview of Native Client for MIPS</a>, |
26 and <a class="reference external" href="https://code.google.com/p/nativeclient/i
ssues/detail?id=2275">bug 2275</a>.</li> | 34 and <a class="reference external" href="https://code.google.com/p/nativeclient/i
ssues/detail?id=2275">bug 2275</a>.</li> |
27 </ul> | 35 </ul> |
28 </section> | 36 </section> |
29 | 37 |
30 {{/partials.standard_nacl_article}} | 38 {{/partials.standard_nacl_article}} |
OLD | NEW |