secondary cache

<memory management>

(Or "second level cache", "level two cache", "L2 cache") A larger, slower cache between the primary cache and main memory. Whereas the primary cache is often on the same integrated circuit as the central processing unit (CPU), a secondary cache is usually external.

Last updated: 1997-06-25

secondary damage

When a fatal error occurs (especially a segfault) the immediate cause may be that a pointer has been trashed due to a previous fandango on core. However, this fandango may have been due to an *earlier* fandango, so no amount of analysis will reveal (directly) how the damage occurred. "The data structure was clobbered, but it was secondary damage."

By extension, the corruption resulting from N cascaded fandangoes on core is "Nth-level damage". There is at least one case on record in which 17 hours of grovelling with "adb" actually dug up the underlying bug behind an instance of seventh-level damage! The hacker who accomplished this near-superhuman feat was presented with an award by his fellows.

[Jargon File]

secondary key


A candidate key which is not selected as a primary key.

Last updated: 1997-04-26

secondary storage


Any non-volatile storage medium that is not directly accessible to the processor. Memory directly accessible to the processor includes main memory, cache and the CPU registers. Secondary storage includes hard drives, magnetic tape, CD-ROM, DVD drives, floppy disks, punch cards and paper tape.

Secondary storage devices are usually accessed via some kind of controller. This contains registers that can be directly accessed by the CPU like main memory ("memory mapped"). Reading and writing these registers can cause the device to perform actions like reading a block of data off a disk or rewinding a tape. See also DMA.

Programs and data stored in secondary storage must first be loaded into main memory before the processor can use them.

Last updated: 1997-11-05

second generation


1. second generation language.


2. second generation computer.

second generation computer


A computer built from transistors, designed between the mid-1950s and mid-1960s.

Ferrite core memory and magnetic drums replaced cathode ray tubes and delay-line storage for main memory. Index registers and floating point arithmetic hardware became widespread. Machine-independent high level programming languages such as ALGOL, COBOL and Fortran were introduced to simplify programming.

I/O processors were introduced to supervise input-output operations independently of the CPU thus freeing the CPU from time-consuming housekeeping functions. The CPU would send the I/O processor an initial instruction to start operating and the I/O processor would then continue independently of the CPU. When completed, or in the event of an error, the I/O processor sent an interrupt to the CPU.

Batch processing became feasible with the improvement in I/O and storage technology in that a batch of jobs could be prepared in advance, stored on magnetic tape and processed on the computer in one continuous operation placing the results on another magnetic tape. It became commonplace for auxiliary, small computers to be used to process the input and output tapes off-line thus leaving the main computer free to process user programs. Computer manufacturers began to provide system software such as compilers, subroutine libraries and batch monitors.

With the advent of second generation computers it became necessary to talk about computer systems, since the number of memory units, processors, I/O devices, and other system components could vary between different installations, even though the same basic computer was used.

The instruction repertoire of the IBM 7094 (a typical second generation machine) had over 200 instructions including data transfer instructions for transferring a word of information between the CPU and memory or between two CPU registers; fixed-point and floating point arithmetic instructions; logic instructions (AND, OR etc.); instructions for modifying index registers; conditional and unconditional branching; subroutines; input-output operations for transferring data between I/O devices and main memory.

Last updated: 1996-11-25

second generation language

assembly language

See also first generation language, third generation language.

second level cache

secondary cache

second normal form

database normalisation

Second-Order Lambda-calculus


(SOL) A typed lambda-calculus.

["Abstract Types have Existential Type", J. Mitchell et al, 12th POPL, ACM 1985, pp. 37-51].

Last updated: 1995-07-29

second-system effect

(Sometimes, more euphoniously, "second-system syndrome") When one is designing the successor to a relatively small, elegant, and successful system, there is a tendency to become grandiose in one's success and design an elephantine feature-laden monstrosity. The term was first used by Fred Brooks in his classic "The Mythical Man-Month. It described the jump from a set of nice, simple operating systems on the IBM 70xx series to OS/360 on the 360 series. A similar effect can also happen in an evolving system; see Brooks's Law, creeping elegance, creeping featurism. See also Multics, OS/2, X, software bloat.

[Jargon File]

Nearby terms:

SECD machinesecondary cachesecondary damagesecondary key

Try this search on Wikipedia, OneLook, Google