Sie sind auf Seite 1von 18


Operating Systems Glossary

Be able to define and understand each of the following:

(1) The number of a particular memory or peripheral storage location. Like post office boxes,
each byte of memory and each disk sector has its own unique address. Programs are compiled
into machine language, which references actual addresses in the computer.

(2) As a verb, to manage or work with. For example, "the computer can address 16MB of

Logical address
Logical or virtual address is the programmer's view of memory. Usually this has to be translated
into a physical address which is the address of a particular byte in one of the RAM chips on the
motherboard or on a peripheral interface board. This is memory from the perspective of the CPU.
Available addresses which the CPU can use are determined by the size of the address bus.

Address Binding
The binding of instructions and data for a process to physical memory or absolute addresses. This
can happen at compile time, load time or execution time.

Address space
A computer's address space is the total amount of memory that can be addressed by the
computer. For example, the Pentium can address 4GB of physical memory and 64TB of virtual

A program's address space is the actual memory used by the program when running. It may refer
to physical memory (RAM chips) or to virtual memory (disk) or to a combination of both.

To reserve a resource such as memory or disk.

A set of ordered steps for solving a problem, such as a mathematical formula or the instructions
in a program. The terms algorithm and logic are synonymous. Both refer to a sequence of steps
to solve a problem. However, an algorithm implies an expression that solves a complex problem
rather than the overall input-process-output logic of typical business programs.



A specific use of the computer, such as for payroll, inventory and billing. For a list of major
application software categories, see application software.

Application Program Interface (API)

An application program interface (API) is code that allows two software programs to
communicate with each other. The API defines the correct way for a developer to write a program
that requests services from an operating system or other application. APIs are implemented by
function calls composed of verbs and nouns.

An API is a language and message format used by an application program to communicate with
the operating system or some other control program such as a database management system
(DBMS) or communications protocol. APIs are implemented by writing function calls in the
program, which provide the linkage to the required subroutine for execution. Thus, an API
implies that some program module is available in the computer to perform the operation or that
it must be linked into the existing program to perform the tasks.

APIs are made up of two related elements. The first is a specification that describes how
information is exchanged between programs, done in the form of a request for processing and a
return of the necessary data. The second is a software interface written to that specification and
published in some way for use. The software that wants to access the features and capabilities
of the API is said to call it, and the software that creates the API is said to publish it.

Understanding an API is a major part of what a programmer does. Except for writing the business
logic that performs the actual data processing, all the rest of the programming is writing the code
to communicate with the functions in the operating system and other system software such as a

Atomic functions
Indivisible. An atomic operation, or atomicity, implies an operation that must be performed
entirely or not at all. It may not be interrupted. For example, if machine failure prevents a
transaction to be processed to completion, the system will be rolled back to the start of the

Android is an operating system for mobile phones and tablets, in much the same way that PCs
run Microsoft Windows as their operating system. It's maintained by Google, and comes in a few
different versions. Android's standard layout is to have a series of Home screens, which can
contain shortcuts to launch apps, or can contain widgets, which are small programs that serve a
single function, such as controlling your music or displaying Facebook updates.

From the Home screens, you can bring up a menu with all of your other apps on. Very little is
done from within the Android interface, but instead you launch an app for what you want to do,
including dialling the phone or browsing through your contacts.

Android itself contains the functions that are vital to using a mobile phone, including the phone
dialler, text messaging client and phone number storage. Google also provides some additional
apps, including a Gmail email client, Google Maps (which features free turn-by-turn satellite
navigation) and YouTube. Beyond that, you can also buy or download for free many other apps
to enable your phone or tablet to do more. You can get these apps from the Android Market, or
from other sources, such as GetJar or Amazon's Appstore. They can also be loaded onto an
Android device manually, without using a store.

These apps can include ways to use Facebook, create documents, access online storage services
such as Dropbox, or there's a huge range of games available. Some social networks are integrated
into certain Android phones by default, enabling you to connect someone's contact information
in your phone to their Facebook account, for example, and automatically pull through details
such as their birthday.

Android is open source, meaning that manufacturers don't have to pay Google to use it, and that
they're free to modify it. This means that it's used in a wide range of hardware varying in price
from small budget phones to large-screen high-end handsets. Because manufacturers are able to
tweak Android, it can look quite different on phones from different companies.

(1) A starting or reference point.

(2) A multiplier in a numbering system. In a decimal system, each digit position is worth 10x the
position to its right. In binary, each digit position is worth 2x the position to its right.

A group, or collection, of items.

Batch data entry

Entering a group of source documents into the computer.

Batch file
A file containing data that is processed or transmitted from beginning to end, or a file containing
instructions that are executed one after the other. A .BAT file is used in DOS and a shell script in

Binary coded decimal: each digit of a decimal number is converted to a 4 bit binary number

Best fit
Leaves least space over and so minimises fragmentation.


Basic Input/ Output System: part of the OS closest to hardware. Is a program (sometimes called
"firmware" (between software and hardware) contained in ROM memory on the BIOS chip.

Two state system which can be On/Off etc. with states represented by digits 0 (Off) or 1 (on).

Binary digit (0 or 1)

A group of disk records that is stored and transferred as a single unit.

Logical variable which can take values TRUE or FALSE.

Area of memory provided for specialised functions: e.g. To store data for a processor, to provide
temporary storage for data passing between devices where there is a speed or data size

Matching mismatches

Burst Time
Total CPU access time required by a process before and I/O burst is required and usually
measured in milliseconds. The operation of a process takes place with a series of interspersed
CPU and I/O bursts.

Several parallel wires as on the motherboard or along a data cable which connect to more than
one device. A common pathway, or channel, between multiple devices. The computer's internal
bus is known as the local bus, or processor bus. It provides a parallel data transfer path between
the CPU and main memory and to the peripheral buses. A 16-bit bus transfers two bytes at a
time over 16 wires; a 32-bit bus uses 32 wires, etc. The bus is comprised of two parts: the address
bus and the data bus. Addresses are sent over the address bus to signal a memory location, and
the data is transferred over the data bus to that location.

8 bits

Cache provides temporary storage memory area for high speed access such as the CPU accessing
memory. Cache memory provides higher speed access, but is more expensive than ordinary RAM.

When several processes attempt to access the same data. Leads to the critical section problem.

keeping the same data in several copies of the same file through processes that might be altering
one or other of the copies.

Context switch
Switching by the CPU scheduler of access provision to the CPU from one process to another. Time
taken typically ranges from 1 - 1000 micro () secs.

Standard Hard disk transfer rate ~ 1 MB / second. To transfer process of 100 k will then take
100/1000 = 1/10 sec = 100 ms. To swap in and out = 2 (100 + 8 (latency)) = 216 ms. For efficient
CPU utilisation we need execution time for each process to be long compared to this swap time.

Side by side, next to, adjacent or touching

An electronic circuit board or system. In a personal computer, controllers contain the circuitry
to run a peripheral device and are either contained on a plug-in expansion board or on the
motherboard. Increasingly, plug-in boards for disk control, networking, sound, etc., are being
replaced by built-in circuits (chips) on the motherboard. In larger computers, a controller may be
contained on one or more boards or in a stand-alone cabinet.

Central Processing Unit

Critical section
Data file which multiple processes can access and alter. Concurrency problems (race condition)
arise if the file is accessed by more than one process at a time.

A HDD consists of multiple platters. Each platter is divided into rings or tracks. A group of tracks
on which sectors are all the same size is a cylinder. The cylinder includes vertically corresponding
sectors on the platters.


Technically, raw facts and figures, such as orders and payments, which are processed into
information, such as balance due and quantity on hand. However, in common usage, the terms
data and information are used synonymously.

The amount of data versus information kept in the computer is a trade-off. Data can be
processed into different forms of information, but it takes time to sort and sum transactions. Up-
to-date information can provide instant answers. A common misconception is that software is
also data. Software is executed, or run, by the computer. Data is "processed." Software is "run."

Arises when several running processes compete for a share of limited system resources. If each
process is waiting for a resource which another process cannot release, the system is said to be

Demand paging
Memory and processes and divided into 4K pages. Only a limited number of a process's pages are
kept in memory at a time. Demand paging means that a particular page of program code is loaded
into memory as required.

Data structure on a secondary storage device (FDD, HDD) which together with a second data
structure, the FAT records storage and other information about stored files on the device

A direct access storage device. E.g. floppy disk, hard disk, magnetic disk, optical disk and

Also called a device driver is a program routine that links a peripheral device to the operating
system. It is written by programmers who understand the detailed knowledge of the device's
command language and characteristics and contains the precise machine language necessary to
perform the functions requested by the application. When a new hardware device is added to
the computer, such as a display adapter, sound card or CD-ROM drive, its driver must be installed
in order to run it. The operating system calls the driver, and the driver "drives" the device.
Routines that perform internal functions, such as memory managers and disk caches, are also
called drivers. In a PC, fundamental drivers that manage such components as the keyboard,
floppy and non-SCSI hard disks, are included in the system BIOS chip. Additional drivers are
loaded at boot time by the operating system. In a PC, fundamental drivers that manage such
components as the keyboard, floppy and non-SCSI hard disks, are included in the system BIOS
chip. Additional drivers are loaded at boot time by the operating system.

Effective access time (EAT)

Memory access time is how long it takes for a character in memory to be transferred to or from
the CPU. In a personal computer, fast RAM chips have an access time of 70 nanoseconds (ns) or
less. SDRAM chips have a burst mode that obtains the second and subsequent characters in 10
ns or less.

Disk access time is an average of the time between initiating a request and obtaining the first
data character. In includes command processing, seek time and latency. Fast hard disks have
access times of 10 milliseconds (ms) or less. This is a common speed measurement, but disk
performance is influenced by channel speed (transfer rate), interleaving and caching.

Effective access time can be significantly increased by page faulting which occurs in demand
paging. The page faulting rate needs to be kept as small as possible. See Text P 297 where
memory access time is ~ 100 ns, page fault service time is ~25 ms (250 000 times as slow). Note
that disk access times (seek time + latency) are much slower again ~ 10 - 100 ms (see Lecture
notes Week 12, P1.)

To run a program (follow instructions in the program). Same as run. Execution time is the time
in which a single instruction is executed. It makes up the last half of the instruction cycle.

Fault rate
This refers to the rate of occurrences of faults, which occurs when the CPU requests code which
is not currently stored in memory. A new page has to be swapped in and the "victim" page
swapped out.

File system
A method for cataloguing files in a computer system. HPS, FAT, FAT32, NTFS and HPFS are
common file systems used on personal computers.

First fit
Allocution method which allocates to a device the first available resource which is suitable,
irrespective of the adverse effect of segmentation.

Fragmentation (internal, external)

Refers to allocated memory or storage space which is unusable. External fragmentation occurs
when contiguous blocks of memory are too small to be used. Internal fragmentation refers to
allocated memory which cannot be used such as a partially filled end block when memory is
allocated in blocks.

Function Call
In C language and other programming, a function is a named procedure that performs a distinct
service. The language statement that requests the function is called a function call. Programming
languages usually come with a compiler and a set of "canned" functions that a programmer can
specify by writing language statements. These provided functions are sometimes referred to as
library routines. Some functions are self-sufficient and can return results to the requesting
program without help. Other functions need to make requests of the operating system in order
to perform their work.

Gantt chart
A type of floating bar chart usually used in project management to show the use of resources or
tasks over time.

Machinery and equipment (CPU, disks, tapes, modem, cables, etc.). In operation, a computer is
both hardware and software. One is useless without the other. The hardware design specifies
the commands it can follow, and the instructions tell it what to do.

Integrated Drive Electronics is a type of hardware interface widely used to connect hard disks,
CD-ROMs and tape drives to a PC. IDE is very popular because it is currently the least expensive
way to connect peripherals. Starting out with 40MB capacities years ago, 2GB and 4GB IDE disk
drives have become entry level, costing less than five cents per megabyte.

With IDE, the controller electronics are built into the drive itself, requiring a simple circuit in the
PC for connection. IDE drives were attached to earlier PCs using an IDE host adapter card. Today,
two Enhanced IDE (EIDE) sockets are built onto the motherboard, and each socket connects to
two devices via a 40-pin ribbon cable.

I/O system
(Input/Output) Transferring data between the CPU and a peripheral device. Every transfer is an
output from one device and an input into another.

I/O Address

On PCs, a three-digit hexadecimal number (2AB, 2A0, etc.) used to identify and signal a peripheral
device (serial port, parallel port, sound card, etc.). Address assignments must be unique,
otherwise conflicts will occur. There are usually a small number of selectable addresses on each
controller card.

Back-and-forth dialog between the user and a computer.

A signal that gets the attention of the CPU and is usually generated when I/O is required. For
example, hardware interrupts are generated when a key is pressed or when the mouse is moved.
Software interrupts are generated by a program requiring disk input or output.

An internal timer may continually interrupt the computer several times per second to keep the
time of day current or for time-sharing purposes.

When an interrupt occurs, control is transferred to the operating system, which determines the
action to be taken. Interrupts are prioritised; the higher the priority, the faster the interrupt will
be serviced.

Interrupt vector
The interrupt vector contains pointers to the code required to execute each particular interrupt

The fundamental part of a program, typically an operating system, that resides in memory at all
times and provides the basic services. It is the part of the operating system that is closest to the
machine hardware and may activate the hardware directly or interface to another software layer
that drives the hardware.

The computer's workspace (physically, a collection of RAM chips). It is an important resource,
since it determines the size and number of programs that can be run at the same time, as well as
the amount of data that can be processed instantly.

All program execution and data processing takes place in memory. The program's instructions
are copied into memory from disk or tape and then extracted from memory into the control unit
circuit for analysis and execution. The instructions direct the computer to input data into
memory from a keyboard, disk, tape or communications channel. As data is entered into
memory, the previous contents of that space are lost. Once the data is in memory, it can be
processed (calculated, compared and copied). The results are sent to a screen, printer, disk, tape
or communications channel. Memory is like an electronic checkerboard, with each square
holding one byte of data or instruction. Each square has a separate address like a post office box

and can be manipulated independently. As a result, the computer can break apart programs into
instructions for execution and data records into fields for processing.

Memory cycle
A series of operations that take place to read or write a byte of memory. Memory cycle time is
the time it takes to perform one memory cycle.

Memory mapping
The location of instructions and data in memory.

one millionth, 10-6 or . 106 micro secs in a second

one thousandth, 10-3 or m. 103 milli secs in a second

The main printed circuit board in an electronic device, which contains sockets that accept
additional boards. In a personal computer, the motherboard contains the bus, CPU and co-
processor sockets, memory sockets, keyboard controller and supporting chips. Chips that control
the video display, serial and parallel ports, mouse and disk drives may or may not be present on
the motherboard. If not, they are independent controllers that are plugged into an expansion
slot on the motherboard.

A system which allows more than one user. E.g. Unix, NT.

The running of two or more programs in one computer at the same time. The number of
programs that can be effectively multitasked depends on the type of multitasking performed
(pre-emptive vs cooperative), CPU speed and memory and disk capacity.

Programs can be run simultaneously in the computer because of the differences between I/O
and processing speed. While one program is waiting for input, instructions in another can be
executed. During the milliseconds one program waits for data to be read from a disk, millions of
instructions in another program can be executed. In interactive programs, thousands of
instructions can be executed between each keystroke on the keyboard.

Multiprogramming or cooperative multitasking – when a process has to wait, say for an I/O
service, execution of another job in memory can begin. (See Fig 1.4)


Multitasking within a single process. It allows multiple streams of execution to take place
concurrently within the same process, each stream processing a different transaction or
message. In order for a multithreaded program to be of any value, it must be run in a multitasking
or multiprocessing environment, which allows multiple operations to take place.

Certain types of applications lend themselves to multithreading. For example, in an order

processing system, each order can be entered independently of the other orders. In an image
editing program, a calculation-intensive filter can be performed on one image, while the user
works on another. In a symmetric multiprocessing (SMP) operating system, its multithreading
allows multiple CPUs to be controlled at the same time. It is also used to create synchronised
audio and video applications.

Mutual exclusion
When a group of processes are accessing a shared file or other resource, and they need to do this
one at a time, some mechanism is needed to ensure when one process has the resource, all
others are temporarily excluded.

one thousand millionth, 10-9 or n. 109 nano secs in a second

Operating system
The master control program that runs the computer. It is the first program loaded when the
computer is turned on, and its main part, called the kernel, resides in memory at all times. It may
be developed by the vendor of the computer it's running in or by a third party. It is an important
component of the computer system, because it sets the standards for the application programs
that run in it. All programs must "talk to" the operating system. The main difference between an
operating system and a network operating system is its multiuser capability. Operating systems,
such as Macintosh System 7, DOS and Windows, are single user, designed for one person at a
desktop computer. Windows NT and UNIX on the other hand are network operating systems,
because they are designed to manage multiple user requests at the same time.

In a virtual memory computer, paging is the transfer of program segments or pages into and out
of memory. Although paging is the primary mechanism for virtual memory, excessive paging is
not desired. Excessive paging in a virtual memory computer is thrashing. If programs are not
written to run in a virtual memory environment, the operating system may spend excessive
amounts of time swapping program pages in and out of the disk.

The goal of virtual memory is to increase internal memory capacity, not to waste time reloading
program segments over and over. However, a well-designed virtual memory system tracks page
usage and prevents the most-often-used modules from being swapped to disk.

Page fault

A page fault occurs when the CPU asks for a page which is not actually in memory. A page has to
be swapped out and the required page has to be swapped into memory. If the victim page has
not been altered, it may be possible just to copy the new page in over the victim page

Page table
A table which links virtual or logical memory to physical memory locations.

A reserved part of disk or memory that is set aside for some purpose. On a PC, new hard disks
must be partitioned before they can be formatted for the operating system, and the FDISK utility
is used for this task. It can make one partition, creating one drive letter for the entire disk, or it
can make several partitions sized to your requirements. For example, drives C:, D: and E: could
be the same physical disk, but they would act like three separate drives to the operating system
and user.

Any hardware device connected to a computer, such as a monitor, keyboard, printer, disk, tape,
graphics tablet, scanner, joy stick, paddle and mouse.

Peripheral bus
An input/output bus that connects peripherals to the computer. ISA, EISA, PCI and VL-bus are
examples of peripheral buses used in a PC.

Peripheral Expansion Board

A printed circuit board that plugs into an expansion slot and extends the computer's ability to
control another type of peripheral device. All the boards (cards) that plug into a personal
computer's bus are expansion boards, such as display adapters, disk controllers and sound cards.
Support for additional peripherals can be built into the motherboard. For example, in the early
days of the PC, the serial and parallel ports were always contained on an expansion board. Today,
they may be built into the motherboard. Stereo sound and VGA display may also be built into
the motherboard, eliminating the need to plug in separate expansion boards.

Pre-emptive multitasking
A multitasking method that shares processing time with all running programs. Pre-emptive
multitasking creates a true time-sharing environment in which all running programs get a
recurring slice of time from the CPU. Depending on the operating system, the time slice may be
the same for all programs or it may be adjustable to meet the current mix of programs and users.
For example, background programs can be given more CPU time no matter how heavy the
foreground load and vice versa.

Pre-emptive multitasking is vital in a mainframe, but is also useful in a desktop operating system.
For example, it ensures that data will not be lost if a transmission is taking place in the
background. The OS is able to grab the machine cycles that the modem or network program
needs to keep processing the incoming data stream. Contrast with cooperative multitasking.

Give an order of importance to a request or process.

A program in execution together with a set of allocated resources, value of program counter and
contents of processor's registers

A hardware device (chip) which can read and execute program code.

A collection of instructions that tell the computer what to do. A program is called software;
hence, program, software and instructions are synonymous. A program is written in a
programming language and is converted into the computer's machine language by software
called assemblers, compilers and interpreters.

Random Access Memory. This is volatile storage to which the CPU (and the DMA controller) have
access. RAM is a group of memory chips, typically of the dynamic RAM (DRAM) type, which
functions as the computer's primary workspace. The "random" in RAM means that the contents
of each byte can be directly accessed without regard to the bytes before or after it. This is also
true of other types of memory chips, including ROMs and PROMs. However, unlike ROMs and
PROMs, RAM chips require power to maintain their content, which is why you must save your
data onto disk before you turn the computer off.

Read Only Memory is a memory chip that permanently stores instructions and data. Its contents
are created at the time of manufacture and cannot be altered. ROM chips are used to store
control routines in personal computers (ROM BIOS), peripheral controllers and other electronic
equipment. They are also often the sole contents inside a cartridge that plugs into printers, video
games and other systems.

When computers are used in hand-held instruments, appliances, automobiles and any other such
devices, the instructions for their routines are generally stored in ROM chips or some other non-
volatile chip such as a PROM or EPROM. Instructions may also be stored in a ROM section within
a general-purpose computer on a chip.

A temporary holding place for data such as message queue, print queue, ready queue.

Ready queue holds processes which are ready to be scheduled for access to the CPU.

Real time
An immediate response. It refers to process control and embedded systems; for example, space
flight computers must respond instantly to changing conditions. It also refers to fast transaction
processing systems as well as any electronic operation fast enough to keep up with its real-world
counterpart (animating complex images, transmitting live video, etc.).

A small, high-speed computer circuit that holds values of internal operations, such as the address
of the instruction being executed and the data being processed. When a program is debugged,
register contents may be analysed to determine the computer's status at the time of failure.

The components of a system that are required by software or hardware. It refers to resources
that have finite limits such as memory and disk. In a PC, it may also refer to the resources
required to install a new peripheral device, namely IRQ’s, DMA channels, I/O addresses and
memory addresses.

Safe sequence
A sequence for scheduling processes such that a situation will never be reached where a process
could ask for more resources than it could be given thereby leading to deadlock.

The smallest unit of storage read or written on a disk.

Secondary storage
External non-volatile storage, such as disk and tape.

A shared space for inter-process communications (IPC) controlled by "wake up" and "sleep"
commands. The source process fills a queue and goes to sleep until the destination process uses
the data and tells the source process to wake up.

Scheduling algorithms

Synchronised Peripheral Operations On Line. The overlapping of low-speed operations with
normal processing. It originated with mainframes in order to optimise slow operations such as
reading cards and printing. Card input was read onto disk and printer output was stored on disk.
In that way, the actual business data processing was done at high speed, since all I/O was on disk.

Print spooler is software that manages printing in the computer. When an application is
requested to print a document, it quickly generates the output on disk and sends it to the print

spooler, which feeds the print images to the printer at slower printing speeds. The printing is
then done in the background while the user interacts with other applications in the foreground.

Instructions for the computer. A series of instructions that performs a particular task is called a
program. The two major categories of software are system software and application software.
System software is made up of control programs such as the operating system and database
management system (DBMS). Application software is any program that processes data for the
user (inventory, payroll, spreadsheet, word processor, etc.)

System Software (

System software is a type of computer program that is designed to run a computer’s hardware
and application. If we think of the computer system as a layered model, the system software is
the interface between the hardware and user applications.

The operating system is the best-known example of system software. The OS manages all the
other programs in a computer.

Other examples of system software and what each does:

 The BIOS (basic input/output system) gets the computer system started after you turn it
on and manages the data flow between the operating system and attached devices such
as the hard drive, video adapter, keyboard, mouse, and printer.
 The boot program loads the operating system into the computer's main memory or
random access memory(RAM).
 An assembler takes basic computer instructions and converts them into a pattern of bits
that the computer's processor can use to perform its basic operations.
 A device driver controls a particular type of device that is attached to your computer,
such as a keyboard or a mouse. The driver program converts the more general
input/output instructions of the operating system to messages that the device type can
 According to some definitions, system software also includes system utilities, such as the
disk defragmenter and System Restore, and development tools such as compilers and

System software and application programs are the two main types of computer software. Unlike
system software, an application program (often just called an application or app) performs a
particular function for the user. Examples (among many possibilities) include browsers, email
clients, word processors and spreadsheets.

In computing, a system call is the programmatic way in which a computer program requests a
service from the kernel of the operating system it is executed on. This may include hardware-
related services (for example, accessing a hard disk drive), creation and execution of new
processes, and communication with integral kernel services such as process scheduling. System
calls provide an essential interface between a process and the operating system.

Refers to events that are synchronised, or coordinated, in time. Causing events to occur in a
particular order.

Test & set

An atomic function used to provide for synchronisation.

time slice
A short interval of time allotted to each user or program in a multitasking or timesharing system.
Time slices are typically in milliseconds.


A storage channel on disk or tape. On disks, tracks are concentric circles (hard and floppy disks)
or spirals (CDs and videodiscs). On tapes, they are parallel lines. Their format is determined by
the specific drive they are used in. On magnetic devices, bits are recorded as reversals of polarity
in the magnetic surface. On CDs, bits are recorded as physical pits under a clear, protective layer.

An activity or request. Orders, purchases, changes, additions and deletions are typical business
transactions stored in the computer. Transactions update one or more master files and serve as
both an audit trail and history for future analyses. Ad hoc queries are a type of transaction as
well, but are usually just acted upon and not saved. Transaction volume is a major factor in
figuring computer system size and speed.

A major problem in a transaction processing system is ensuring that all master files are updated
before the transaction is considered completely processed. For example, if two files must be
updated, but a system failure occurs after the first one, but before the second one, the software
must be able to roll back the first update and start over later.

To test for a particular condition in a running program; for example, to "trap an interrupt" means
to wait for a particular interrupt to occur and then execute a corresponding routine. An error
trap tests for an error condition and provides a recovery routine. A debugging trap waits for the
execution of a particular instruction in order to stop the program and analyse the status of the
system at that moment.

See multithreading.

Turnaround time
Time elapsing between request for a service and its completion. It is the sum of wait time and
service time. It could be understood as difference between arrival and departure or completion

See atomic function which must be allowed to complete once it has started.

Unsafe state
A system is in an unsafe state when it would be possible for a process to ask for more resources
than are available leading to a situation of deadlock. An unsafe state does not necessarily lead to
deadlock because processes may not call upon the maximum number of required resources.

Virtual means in appearance but not in reality. Virtuality is achieved using software to create an
appearance of a reality.

Virtual machine
The illusion a process has that it is the only process using the OS and hardware resources. The
illusion is created by resource schedulers and memory management which allocate requested
resources according to some algorithm. The CPU executes instructions so fast that all resource
requests seem to be answered immediately.

Virtual memory
Simulating more memory than actually exists, allowing the computer to run larger programs or
more programs concurrently. It breaks up the program into small segments, called pages, and
brings as many pages into memory that fit into a reserved area for that program. When
additional pages are required, it makes room for them by swapping them to disk. It keeps track
of pages that have been modified, so that they can be retrieved when needed again.

If a program's logic points back and forth to opposite ends of the program, excessive disk
accesses, or thrashing, can slow down execution.

Virtual memory can be implemented in software only, but efficient operation requires virtual
memory hardware. Virtual memory claims are sometimes made for specific applications that

Volatile memory is memory which is lost once power is turned off. Whilst power is on the
contents of volatile memory must be constantly refreshed.

Waiting time
Time between requesting a resource and actually receiving it.

Worst fit
Here the largest available resource (e.g. RAM) is allocated leaving the largest amount of free
space in the hope that the large available area could still remain useful.