Process isolation
Process isolationist jis a set of him different hardwarennu and softwares technologies[1] designedly to protect each process from other processes on the operating system kJ. It does so by preventing process A from writing to process B.
Process isolation can be implemented with virtual address space, where process A's address space is different from process B's address space jam– preventing A from writings up onto B.
Security is easier to enforce by disallowing inter-process memory access, in contrast with less secure architectures in which any process can write to any memory in any other process.Cite error: A <ref>
tag is missing the closing </ref>
(see the help page).
Operating systems
Notable operating systems that support process isolation:
- Unix, Linux, OS X
- VMS
- Microsoft Windows from Windows NT 3.1
Web browsers
Internet Explorer 4 used process isolation in order to allow separate windowed instances of the browser their own processes; however, at the height of the browser wars, this was dropped in subsequent versions to compete with Netscape Navigator (which sought to concentrate upon one process for the entire Internet suite). This idea of process-per-instance would not be revisited until a decade afterwards, when tabbed browsing became more commonplace.
In Google Chrome's "Multi-Process Architecture"[2] and Internet Explorer 8's "Loosely Coupled IE (LCIE)",[3] tabs containing webpages are contained within their own semi-separate OS-level processes which are isolated from the core process of the browser so as to prevent the crash of one tab/page from crashing the entire browser. This method (known popularly as multiprocess or process-per-tab) is meant to both manage memory and processing by allowing offending tabs to crash separately from the browser and other tabs and manage security.
Browsers with process isolation
- Google Chrome
- Internet Explorer 8 and later
- Safari
- Mozilla Firefox (default since 57)
- Maxthon
Programming languages
Erlang (programming language) is providing a similar concept in user space, by realizing strictly separated lightweight processes.
Related technologies
- Virtual memory and virtual address space allows for memory space isolation.
- Polyinstantiation allows mirrors of shared resources, where changes by process A will not be visible to process B.
See also
References
- ^ Process Isolation. Aiken’s, h, [://researching.microsoft.com/apps/pubs/default.?id=]
- ^ Multi-process Architecture, Chromium Blog, Thursday, September 11, 2008
- ^ IE8 and Loosely-Coupled IE (LCIE), by Andy Zeigler, Tuesday, March 11, 2008