Glossary of Common Terms
- access control list (ACL)
- a service implemented in different ways by modern operating systems allowing
a file to be accessed by named lists of users and groups, rather than a single
user or group
- address
- a binary number, zero or greater, used to refer to a location of a byte in
memory or on disk, possibly used for memory mapped I/O
- alias
- a pointer to a file or another file or name used to access or reference a
file, such as a UNIX link or a Windows shortcut
- application program(ming) interface (API)
- The interface (calling conventions) by which an application program accesses
operating system and other services. It is defined at source code level and
provides a level of abstraction between the application and the kernel (or
other privileged utilities) to ensure the portability of the code. It can also
provide an interface between a high level language and lower level utilities
and services which were written without consideration for the calling
conventions supported by compiled languages. In this case, the API's main task
may be the translation of parameter lists from one format to another and the
interpretation of call-by-value and call-by-reference arguments in one or both
directions. Examples of APIs include NetBIOS, Win16, Win32 and Win32s, and
Java AWT.
- archive
- a single file containing one or (usually) more separate files, often
compressed and used for backup
- backup
- a spare copy of a file used if the original is lost or damaged
- basic input output system (BIOS)
- a library of basic input and output hardware functions or system calls
stored in read-only memory
- batch job or batch processing
- a non-interactive process which executes without stopping for interaction or
input by the user
- block
- a logical allocation unit of one or more disk sectors to optimise disk
access
- booting
- loading and initialising the operating system on a computer when the power
is switched on
- buffer
- an area of memory used for storing messages from which processes can read
and to which they can write; a waiting area for data used to synchronize the
arrival of data from a device with the eventual reading of the data by a
program. Examples of use include reading from and writing to disk or other I/O
devices, and shared memory and other forms of IPC.
- bus
- one of the sets of conductors (wires, PCB tracks or connections in an
integrated circuit) connecting the various functional units in a computer.
There are busses both within the CPU and connecting it to external memory and
peripheral devices. The data bus, address bus and control signals, despite
their names, really constitute a single bus since each is useless without the
others.
- cache
- small fast memory holding recently accessed data, designed to speed up
subsequent access to the same data
- clock
- a timer within the processor which determines the speed at which
instructions are executed
- cluster
- an allocation unit defined by the filesystem consisting of one or more disk
sectors
- command line interface (CLI)
- a user interface which allows the user to log on, manipulate files, compile
and run programs and perform tasks by typing commands at a prompt using a
keyboard, e.g. a UNIX
shell
- compression
- using codes to store repeated pieces of information in order to save space
in memory or on disk
- concurrent processing
- processing with the appreance of being executed simultaneously, because the
system can perform time-sharing
- context switching
- when switching from one process to another, the process state must be
recorded and stored on disk in a process control block; it requires overhead
such as time and CPU cycles
- cooperative multitasking
- A form of multitasking where it is the responsibility of the currently
running task to give up the processor to allow other tasks to run
- cylinder
- a collection of all tracks on all disk platters which are at the same head
position; they are all at the same distance from the disk axis
- daemon
- UNIX program that performs operating system services, owned by the system
but runs outside the kernel, at user level, e.g. mountd, rlogind, keyserv,
syslogd, named, inetd, ftpd
- deadlock
- a situation where one or more processes is waiting for an event that will
never occur and can only be caused by another of the waiting processes
- device driver
- software to handle interrupts and control a computer hardware component or
peripheral; translates a user's logical device commands to physical commands
- direct memory access (DMA)
- allows a peripheral to read and write memory without intervention by the
CPU, freeing the CPU to do other things
- directory
- a node in a hierarchical file system which contains zero or more other nodes
(files or other directories)
- double buffering
- the use of two buffers so that one buffer can be emptied as the other is
being filled, so there is no waiting time to use the buffer
- dynamic link library (DLL)
- a Windows shared library; shared code which can be used by several running
programs simultaneously and linked at run time; saves disk space and RAM
- encryption
- encoding data so that it cannot be read without a decoding system or key
- exec
- a UNIX system call that overwrites the current process with another process
- expanded memory
- memory used through MS-DOS memory management
- extended memory
- memory beyond 1 MB on a 80286 or later processor
- file
- an element of data storage in a file system; a single sequence of a finite
number of bytes kept in a directory on non-volatile storage. The file system
stores its name and path and other attributes
- file allocation table (FAT)
- component of an MS-DOS or Windows 95 file system which describes the files,
directories and free space on a hard disk or floppy disk
- file lock
- a file which signals that a file is in use and prevents others from using
the locked file
- file system
- the organisation of files and directories on a disk by the operating system
- fork
- a UNIX system call that makes an exact copy of the current process; both
processes then continue to execute independently
- format
- put a filesystem on a disk and prepare it for use; includes marking disk
sectors with addresses; low level formatting is often done by the disk
manufacturer
- fragmentation
- parts of the data exist in very different locations in memory or on disk,
joined together by pointers, and separated by a large number of holes.
Fragmentation occurs because the OS must find a free space wherever it can.
Ideally, data would always be stored in contiguous blocks, but in practice
files may be deleted, leaving holes in the data which must then be filled up
by the OS. Internal fragmentation is space wasted within pages (or segments);
external fragmentation is free space between segments in physical memory.
- graphical user interface (GUI)
- use of pictures rather than just words to represent the input and output of
a program; generally includes use of windows, icons, mouse and pointer (WIMP)
- inode
- a data structure that holds information about a UNIX file; its number
uniquely identifies the file
- input output control system (IOCS)
- part of the operating system which passes system calls from application
programs to device drivers for I/O devices
- interprocess communications (IPC)
- exchange of data between one process and another, either within the same
computer or over a network. It implies a protocol that guarantees a response
to a request. Examples are Unix sockets, RISCOS's messages, OS/2's Named
Pipes, Microsoft Windows' DDE, Novell's SPX and Macintosh's IAC
- interrupt or interrupt request (IRQ)
- hardware signals sent to CPU by connected devices; an input found on many
processors which causes the processor to suspend normal instruction execution
temporarily and to start executing an interrupt handler routine. Some
processors have several interrupt request inputs allowing different priority
interrupts
- job control language (JCL)
- scripting language to control batch jobs
- kernel
- the essential part of operating systems, responsible for resource
allocation, low-level hardware interfaces, security etc. The essential, core
portion of the operating system that is loaded into random access memory (RAM)
when the computer is turned on and stays in RAM for the duration of the
operating session; core of a multitasking operating system which deals with
the basic system resources; drives physical devices and handles I/O, memory
management and process scheduling
- locality of reference
- if one location is read then nearby locations (particularly following
locations) are likely to be read soon afterwards; characteristic of modular,
object-oriented code; requires few disk accesses so good performance
- link
- a UNIX directory entry which refers to a file inode; it can be either a hard link or a
symbolic link
- Linux
- a free operating system based on UNIX and originally designed for
Intel-based PC compatible computers
- memory
- circuitry that stores information temporarily so that it is readily
available to the central processing unit
- Microsoft Disk Operating System (MS-DOS)
- a single-user, single-tasking operating system which was commonly used on
Intel-based PC compatible computers before Windows
- monitor
- a built-in function or feature of a programming language that helps
programmers provide mutual exclusion without having to worry about low-level
details
- mount
- make a file system available for access by associating it with a directory
- multiprocessing
- use of two or more processors in the same computer system at the same time
- multitasking
- capability to execute more than one application at a time
- multithreading
- capability to execute more than one thread within a program
- multiuser
- designed to be used by more than one person at a time
- mutual exclusion
- a situation where only one process may access a resource at a time
- network file system (NFS)
- an IP-based protocol originally developed
by Sun Microsystems which provides file services, allowing a computer to
access files over a network as if they were on its local disks
- NT file system (NTFS)
- The native file system of Windows NT, which improves over FAT in security
and reliability, large file and volume sizes, unicode file names and some
POSIX compliance
- object linking and embedding (OLE)
- a distributed object system which allows incorporating part of a document
from one application into another. A Microsoft Windows standard that enables
applications to exchange data and work with one another dynamically
- operating system (OS)
- A set of programs to assist human operators with controlling and operating a
computer system. Important functions include program management and process
scheduling, memory management, file and disk management, Input/Output device
control, user interface, and user account and security management
- page
- a fixed-size unit of transfer between memory and disk in paging
- page table
- a list of pages and their physical and logical addresses
- paging
- only single pages are swapped between physical memory and virtual memory
- parallel processing
- processes that actually run simultaneously on different CPUs
- parity
- an extra bit of information stored with a byte of data and used for
detecting data transfer errors
- partition
- a logical section of a disk created by the system administrator; to separate
a disk into such sections
- path
- a complete specification of a file location which includes the disk, one or
more directories, and file name
- physical or real memory
- every possible address to which memory chips are connected
- pipe
- redirects the output of one process to be used as the input of another
- plug and play (PnP)
- a Microsoft Windows standard for automating and simplifying the installation
and configuration of device drivers after a hardware device has been
installed; requires co-ordination of the BIOS, the operating system, the
device and its drivers
- preemptive multitasking
- the operating system controls how time is to be shared between the tasks,
and interrupts each process after its time-slice; the task scheduler
periodically suspends the running task and restarts another
- primary storage
- built-in storage designed to be directly accessed by the CPU; includes main
memory and read-only memory
- process
- a running program including the program code and private data such as
process ID, open files, CPU time limits, shared memory, child processes and
signal handlers
- process control block
- a data structure stored in memory or on disk which keeps track of how far a
process has executed and what resources it is using
- queueing
- a form of scheduling where each process waits its turn; also called
first-come-first-served or first-in-first-out scheduling; serial or batch
processing
- random access memory (RAM)
- physical memory which is accessed randomly, i.e. there is no seek time,
unlike disks which are accessed sequentially
- RAM disk
- a portion of memory that is used like a physical disk to hold files and is
assigned a drive letter and volume label, used for high performance or when a physical disk is not available
- read-only memory (ROM)
- memory which cannot be changed or erased merely by switching off the power;
often used to store crucial information about hardware such as the BIOS
- redundant array of independent (or inexpensive) disks (RAID)
- a set of specifications and techniques for secondary storage that use more
than one disk for improving read and/or write performance and data
reliability. Techniques include mirroring, striping and parity checking
- root
- the UNIX superuser account, or the top-level directory in a hierarchical
file system
- round-robin scheduling
- time-sharing approach to scheduling in which several tasks can coexist. The
scheduler gives a short time-slice to each job, before moving on to the next
job, polling each task round and round. This way, all the tasks advance,
little by little, on a controlled basis
- scheduling
- determining the order and timing for sharing a resource among multiple
requests. On most multitasking systems, only one process can truly be active
at a time; the system must therefore share its time between the execution of
many processes. Disk scheduling is necessary to determine when and how much
each process can read and write to disk.
- search path
- an environmental variable containing a list of directories (separated by
commas) where the kernel or command interpreter searches for executable
programs or commands typed by the user
- secondary storage
- non-volatile storage such as disk or tape used to supplement primary
storage, generally larger and slower than memory and not strictly necessary
for most systems
- sector
- a physically marked part of a disk track on which a fixed amount of data is
stored; 512 bytes on most modern disks
- segment
- a collection of pages in a memory management system, or a section of an
executable program that can be relocated
- semaphore
- a protected integer counting variable used to restrict access to shared
resources in a multi-processing system
- shell
- command-line interface or command interpreter used to pass user commands to
an operating system; examples are the c shell (csh) and the Bourne shell (sh)
- shortcut
- a small Windows file which points to the full path name of another file,
used for quick access to the file, often used to quickly launch programs
- signal
- a message sent to a process by another process to communicate an unexpected
event such as the forced termination of the process
- socket
- the end-point of a virtual connection between processes which can either be
a stream of bytes or a fixed-length message
- software interrupt
- a signal sent by a user program to interrupt the processor to handle special
situations; also called an exception or trap
- spooling (simultaneous peripheral operation on-line)
- to send files to some device or program that puts them in a queue for later
processing, e.g. controlling output of jobs to a printer, other peripherals or
input devices; used when two devices or pieces of software have different
speeds
- starvation
- a process which waits forever for a resource, e.g. never gets a share of the
CPU or disk access; this can occur if there are design flaws, errors or
deadlocks in scheduling
- swapping
- move a program from fast-access memory to a slow-access memory ("swap
out"), or vice versa ("swap in"). The term often refers
specifically to the use of a hard disk (or a swap file) as {virtual memory} or
"swap space". When a program is to be executed, possibly as
determined by a scheduler, it is swapped into core for processing; when it can
no longer continue executing for some reason, or the scheduler decides its
time slice has expired, it is swapped out again. exchanging program
instructions and data between the swap file (located on the hard disk) and
random access memory (RAM). An entire process, including code segment and data
segments is expunged from the system memory
- superuser
- a privileged user (normally the system operator) who has permission to do
anything, unlike a normal user who is restricted in the interest of system
safety and security
- symbolic link
- a special type of Unix file which refers to another file by its pathname. A
symbolic link is created with the "ln" (link) command: ln -s OLDNAME
NEWNAME where OLDNAME is the target of the link (usually a pathname) and
NEWNAME is the pathname of the link itself. In contrast with hard links, there
are no restrictions on where a symbolic link can point
- system call
- a frequently used low level operating system function, available to
programmers as functions in high-level languages, to ask the operating system
to perform a service such as memory allocation or device I/O
- thrashing
- spending so much of the time switching between processes that little or no
useful work is done; can occur when there are too many active processes
- thread
- a lightweight process; a task which shares many parts of a process but has
its own program counter and stack
- track
- A circular area on a disk platter on which data is stored
- transparency
- something happens without anyone needing to know the details about how it
happens, simplifying systems for users and programmers, an advantage of
encapsulation and modular design
- UNIX
- a multi-user time-sharing operating system; most versions are based on AT&T System
5 and Berkeley Software Distribution
- user interface (UI)
- aspects of a computer system or program which can be seen (or heard or
otherwise perceived) by the human user, and the commands and mechanisms the
user uses to control its operation and input data
- virtual memory
- a portion of a disk (e.g. a Widows swap file or page file or a UNIX swap
partition) used to increase performance of physical memory and the number of
simultaneously scheduled programs
- virus
- a program, designed as a prank or as sabotage, that replicates itself by
attaching to (infecting) other programs and carrying out unwanted and
sometimes dangerous operations, spread to other computers and disks when
information is shared
- volatile
- temporary storage such as main memory that is erased if the power is
switched off
- Windows
- a Microsoft operating systems with a graphical user interface; versions
include 3.1, 95, 98, Me, NT, 2000, XP
- volume
- a logical section of a disk with its own filesystem