Node:shell, Next:shell out, Previous:shelfware, Up:= S =

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.

Node:shell out, Next:shift left (or

right) logical, Previous:shell, Up:= S

=

shell out vi.

[Unix] To spawn an interactive

subshell from within a program (e.g., a mailer or editor). "Bang

foo runs foo in a subshell, while bang alone shells out."

Node:shift left

(or right) logical, Next:shim,

Previous:shell out,

Up:= S =

shift left (or right) logical

[from any of various machines' instruction sets] 1. vi. To

move oneself to the left (right). To move out of the way. 2.

imper. "Get out of that (my) seat! You can shift to that empty

one to the left (right)." Often used without the `logical', or as

`left shift' instead of `shift left'. Sometimes heard as LSH

/lish/, from the PDP-10 instruction

set. See Programmer's

Cheer.

Node:shim, Next:shitogram, Previous:shift left (or right)

logical, Up:= S =

shim n.

A small piece of data inserted in order to achieve a desired

memory alignment or other addressing property. For example, the

PDP-11 Unix linker, in split I&D (instructions and data)

mode, inserts a two-byte shim at location 0 in data space so that

no data object will have an address of 0 (and be confused with

the C null pointer). See also loose

bytes.

The Jargon File, Version 4.2.2, 20 Aug 2000 · 第 1458 / 1941 题