Files
JargonFile/original/html/S/shell.html

22 lines
3.2 KiB
HTML
Raw Normal View History

2014-03-27 18:54:56 +00:00
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>shell</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../S.html" title="S"/><link rel="previous" href="shelfware.html" title="shelfware"/><link rel="next" href="shell-out.html" title="shell out"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">shell</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="shelfware.html">Prev</a><EFBFBD></td><th width="60%" align="center">S</th><td width="20%" align="right"><EFBFBD><a accesskey="n" href="shell-out.html">Next</a></td></tr></table><hr/></div><dt><a id="shell"/><dt xmlns="" id="shell"><b>shell</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">n.</span></dt></dt><dd><p> [orig. <a href="../M/Multics.html"><i class="glossterm">Multics</i></a> techspeak, widely propagated
via Unix] </p></dd><dd><p> 1. [techspeak] The command interpreter used to pass commands to an
operating system; so called because it is the part of the operating system
that interfaces with the outside world.</p></dd><dd><p> 2. More generally, any interface program that mediates access to a
special resource or <a href="server.html"><i class="glossterm">server</i></a> for convenience,
efficiency, or security reasons; for this meaning, the usage is usually
<span class="firstterm">a shell around</span> whatever. This sort
of program is also called a <span class="firstterm">wrapper</span>.
</p></dd><dd><p> 3. A skeleton program, created by hand or by another program (like,
say, a parser generator), which provides the necessary
<a href="../I/incantation.html"><i class="glossterm">incantation</i></a>s to set up some task and the control
flow to drive it (the term <a href="../D/driver.html"><i class="glossterm">driver</i></a> is sometimes used
synonymously). The user is meant to fill in whatever code is needed to get
real work done. This usage is common in the AI and Microsoft Windows
worlds, and confuses Unix hackers.</p></dd><dd><p>Historical note: Apparently, the original Multics shell (sense 1) was
so called because it was a shell (sense 3); it ran user programs not by
starting up separate processes, but by dynamically linking the programs
into its own code, calling them as subroutines, and then dynamically
de-linking them on return. The VMS command interpreter still does
something very like this.</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="shelfware.html">Prev</a><EFBFBD></td><td width="20%" align="center"><a accesskey="u" href="../S.html">Up</a></td><td width="40%" align="right"><EFBFBD><a accesskey="n" href="shell-out.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">shelfware<EFBFBD></td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"><EFBFBD>shell out</td></tr></table></div></body></html>