Language-based system: Difference between revisions

Content deleted Content added
Yobot (talk | contribs)
m WP:CHECKWIKI error fixes + general fixes using AWB (7914)
Examples: Add RedoxOS
Tags: Mobile edit Mobile web edit
 
(24 intermediate revisions by 23 users not shown)
Line 1:
{{Short description|Type of operating system that uses language features to provide security}}
A '''language-based system''' is a type of [[operating system]] that uses [[programming language|language]] features to provide [[Language-based security|security]], instead of or in addition to hardware mechanisms. In such systems, code referred to as the ''trusted base'' is responsible for approving programs for [[execution (computing)|execution]], assuring they cannot perform operations detrimental to the system's stability without first being detected and dealt with.<ref name="Schneider">[httphttps://www.cs.cmu.edu/~rwh/papers/langsec/dagstuhl.pdf A Language-Based Approach to Security], Schneider F., Morrissett G. (Cornell University) and Harper R. (Carnegie Mellon University). Informatics: 10 Years Back, 10 Years Ahead. (2000)</ref> A very common strategy of guaranteeing that such operations are impossible is to base the system around a [[High-level programming language|high-level language]], such as [[Java (programming language)|Java]], whose design precludes dangerous constructs; many are entirely written in such a language, with only the minimum amount of [[low-level programming language|low-level code]] being used.<ref>{{cite web|
title=JX - A flexible Java Operating System (poster)|
url=http://www4.informatik.uni-erlangen.de/Projects/JX/poster/jx-poster.jpg|author1=Michael Golm |author2=Meik Felser |author3=Christian Wawerish |author4=Jürgen Kleinöder |
publisher=University of Erlangen|accessdate=2007-04-21}}</ref> Since language-based systems can assure ahead of time that they cannot do things that can damage the system (such as corrupting memory by dereferencing [[dangling pointer]]s), it is possible for them to avoid expensive address space switches needed by traditional OSes; because of this, [[microkernel]]s are more popular than on traditional systems.{{Citation needed|date=April 2011}} A more extreme form of this is a [[high-level language computer architecture]], where the trusted base is pushed into hardware, and the entire system is written in a high-level language.
author=Michael Golm, Meik Felser, Christian Wawerish, J&uuml;rgen Kleinöder|
publisher=University of Erlangen|accessdate=2007-04-21}}</ref> Since language-based systems can assure ahead of time that cannot do things that can damage the system (such as corrupting memory by dereferencing [[dangling pointer]]s), it is possible for them to avoid expensive address space switches needed by traditional OSes; because of this [[microkernel]]s are more popular than on traditional systems.{{Citation needed|date=April 2011}}
 
==Examples==
*[[{{annotated link|Burroughs MCP]]}}
*[[UCSD P-system]]
*[[JX{{annotated link|Cosmos (operating system)|JX]]Cosmos}}
*[[Burroughs MCP]]
*[[{{annotated link|Emerald (programming language)|Emerald]]}}
*[[JX (operating system)|JX]]
*[[Singularity{{annotated link|Inferno (operating system)|Singularity]]Inferno}}
*[[Oberon{{annotated link|JX (operating system)|Oberon]]JX}}
*{{annotated link|Lisp machine}}
*[[Midori (operating system)|Midori]]
*[[Inferno{{annotated link|Midori (operating system)|Inferno]]Midori}}
*{{annotated link|Oberon (operating system)|Oberon}}
*[[JNode]]
*{{annotated link|RedoxOS|Redox}}
*[[Emerald (programming language)|Emerald]]
*{{annotated link|Singularity (operating system)|Singularity}}
*{{annotated link|Smalltalk}}
*[https://github.com/theseus-os/Theseus Theseus OS]
*[[{{annotated link|UCSD P-system]]}}
*[[Midori{{annotated link|Verve (operating system)|Midori]]Verve}}
 
==See also==
* [[High-level language computer architecture]]
 
==References==
{{Reflist}}
{{refbegin}}
*A Sabelfeld, AC Myers ''[httphttps://ieeexplore.ieee.org/xpldocument/freeabs_all.jsp1159651/;jsessionid=A692CC7FF77CD2C81E9E3E42B7099A2A?arnumber=1159651&isnumber=25986 Language-based information-flow security]'' IEEE Journal on Selected Areas in Communications, 2003 Volume: 21, Issue: 1 pp.&nbsp;5– 195–19
*V Haldar, D Chandra, M Franz ''[http://www.vivekhaldar.com/pubs/trustedvm-tr.pdf Semantic remote attestation—a virtual machine directed approach to trusted computing]'' USENIX Virtual Machine Research and Technology Symposium, 2004
*Giacobazzi, Mastroeni ''[http://doi.acm.org/10.1145/964001.964017 Abstract non-interference: parameterizing non-interference by abstract interpretation]'' Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages Pages: 186 - 197pp 186–97 (2004)
*Algis Rudys, Dan S. Wallach ''[http://doi.acm.org/10.1145/505586.505589 Termination in language-based systems]'' ACM Transactions on Information and System Security (TISSEC) Volume 5 , Issue 2 (May 2002) pp.&nbsp;138 – 168138–68
{{refend}}