[an error occurred while processing this directive]
shell
![[prev]](../gif/left.gif)
![[up]](../gif/up.gif)
![[next]](../gif/right.gif) 
shell [orig. Multics /n./  techspeak, widely propagated
   via Unix] 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.
   2. More generally, any interface program that mediates access to a
   special resource or server for convenience, efficiency, or
   security reasons; for this meaning, the usage is usually `a shell
   around' whatever.  This sort of program is also called a
   `wrapper'.  3. A skeleton program, created by hand or by another
   program (like, say, a parser generator), which provides the
   necessary incantations to set up some task and the control
   flow to drive it (the term driver 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.
   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.
![[prev]](../gif/left.gif)
![[up]](../gif/up.gif)
![[next]](../gif/right.gif) 
Return to Cool Jargon of the Day