Google Native Client

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
Google Native Client
Developer(s) Google, others.
Preview release 0.2 / June 1, 2009
Written in C++
Operating system Microsoft Windows, Linux, Mac OS
Development status Research stage
Type Native code sandboxing in the web browser
License New BSD license

Google Native Client (abbreviated as NaCl) is a sandboxing technology for running a subset of Intel x86 native code using software-based fault isolation.[1] Currently in an early development stage, it is proposed for safely running native code from a web browser, allowing web-based applications to run at near-native speeds.[2] Native Client is an open source project being developed by Google.[3] To date, Quake and XaoS have been ported to Google Native Client Platform. Native Client is supported on Firefox, Safari, Opera, and Google Chrome running on Windows, Mac, or Linux on x86 hardware.[2]

Native Client is notable for its novel sandboxing technique which makes use of the x86 architecture's rarely-used segmentation facility. Native Client sets up x86 segments to restrict the memory range that the sandboxed code can access. It uses a code verifier to prevent use of unsafe instructions such as instructions that perform system calls. In order to prevent the code from jumping to an unsafe instruction hidden in the middle of a safe instruction, Native Client requires that all indirect jumps are jumps to the start of 32-byte-aligned blocks, and instructions are not allowed to straddle these blocks.[4] Because of these constraints, C code must be recompiled to run under Native Client, which provides customised versions of the GNU toolchain (specifically, gcc and binutils).

Native Client is licensed under a BSD-style licence.

Native Client uses Newlib as its C library, but a port of GNU libc is also available.[5]


it:Google Native Client

Personal tools

Served in 2.124 secs.