I: Glossary
Not all of the following terms are explicitly referenced or
used within this book. However, as readers further explore DOS,
'86 series programming and the 512 it is inevitable that many of
these words or abbreviations will be encountered, therefore they
are included. That many of the entries are abbreviations or
acronyms is unavoidable, as the computer industry continually is
forced to invent new terms by which to define or refer to
previously non-existent hardware or software features or
functions for which no name exists.
- ANSI
- American National Standards Institution - A body which
decides on certain agreed standards and conventions for
the computer industry.
- ASCII
- American Standard Code for Information Interchange - an
agreed standard for representing character values by two
hexadecimal digits (i.e. a byte)
- ASCII (string)
- An ASCII character string which is terminated by a null
(hex. zero) byte. Such strings are used by many of the
DOS interrupts concerned with files and directory paths.
- ASCII (string)
- A character string which in DOS, by default is terminated
by a dollar ($) character. The terminator byte can, if
required, be amended to another character. Such strings
are used by DOS in string output functions.
- Attribute (file)
- One of the bytes stored in the directory entry for a file
or subdirectory which specifies the actions which can, or
cannot be performed on the file. Each bit of the byte
indicates the status of each of the possible conditions
which may apply, such as 'read only', system and soon.
- BAT
- The file extension used by DOS to recognise an executable
file containing command line commands as text strings,
each terminated by a carriage return.
- BDOS
- The Basic Disc Operating System. That part of the core of
DOS which is normally invariant and concerned with memory
and program management and device independent
input/output.
- BIOS
- The Basic Input Output System. The part of the DOS
operating system which is normally customised by the
hardware manufacturer to cater for the specific needs of
the type of device controller employed in a particular
type of PC.
- Block device
- An input/output device which normally operates with or on
complete blocks of data rather than individual
characters. For example, discs are block devices, since a
minimum of one cluster will be read by DOS, even though a
program may request a specific larger or smaller quantity
of information to be passed to it.
- Boot record
- In PCs, the boot sector on a bootable disc. The first
sector of such a disc contains information which enables
the machine to load the operating system from a cold
start.
- CCP
- The Console Command processor. that part of DOS which is
responsible for translating user commands into DOS
function calls.
- CHCB
- CHaracter Control Block. An area of memory set aside in
DOS to describe the attributes and capabilities of of a
character device.
- Character device
- An input output device which operates at individual
character level. For example, the keyboard is an input
character device, while the screen display is an output
character device, as is a printer. A communications port
is an input-output character device. In DOS certain
functions may appear to read or write such devices in
blocks, such as writing a complete text string to the
console, but in fact such operations are performed by
repeated calls to character routines.
- Cluster
- The minimum size of the allocation unit when a disc file
is either newly created or extended. Clusters may vary in
size from disc to disc, but are always 1, 2, 4 or 8
sectors in length. Sector sizes also vary, therefore
there is no standard cluster size.
- Cold-start
- Also called a cold-boot. The process of loading a machine
when it is first switched on. See also Warm start.
- CMD
- The file extension used by CP/M, CCP/M and DOS Plus to
recognise an executable file which contains a machine
code program. Essentially similar to a COM files, CMD
files differ in the way they are loaded and executed at
run time.
- COM
- The file extension used by MSDOS, PCDOS and DOS Plus to
recognise an executable file which contains a machine
code program. Essentially similar to CMD files, COM files
differ in the way they are loaded and executed at run
tirne.
- Console
- The name given to the normal user interface to a PC. It
is commonly used to refer to both the input and output
devices as though they were a single entity, though in
DOS interrupts quite separate functions are provided for
input and output, with the exception of INT 21h function
6.
- Console mode
- The status of the console device. This may be altered to
allow or preclude certain automatic processes. For
example, in the default mode provided at power-up a tab
key depression at the keyboard is automatically expanded
on output into eight spaces, while CTRL-S will stop a
scrolling screen display. These functions can be enabled
or suspended by changing the console mode.
- Cooked mode
- The term used to describe input or output access to a
character device when it is treated as a block device.
DOS permits all devices to be treated as files, including
the keyboard and the screen. When a character device is
opened as a file, subsequent input-output access is
referred to as 'cooked mode'.
- CCP/M
- Literally, Concurrent Control Program for
Microprocessors. CCP/M is a Digital Research operating
system developed for 16-bit machines from the original
8-bit CP/M. CCP/M allows the user to run several
different tasks from the same console simultaneously.
- CP/M
- Literally, Control Program for Microprocessors. CP/M is
the highly successful pre-cursor to DOS and CCP/M
developed by Digital Research for 8 bit Intel 8080 and
Zilog Z80-based machines in the 1970s.
- CP/M86
- Another development of CP/M. it was intended to be the
direct growth path for users migrating from 8-bit CP/M to
16-bit machines.
- Device driver
- An extra or separate part of DOS which supplements the
BIOS. Loaded as a program after system boot, they are
used to provide device control for input\output functions
for hardware or software interfaces not catered for by
normal, standard DOS interrupt services. For example to
drive graphics plotters, or to read data from an IEEE
interface, a specffic device driver must be provided,
since these devices are not provided for in standard DOS.
- DMA
- Direct Memory Access. The process of transferring input
or output data directly to or from areas of memory and
peripheral devices such as discs. Depending upon the type
of processor, bulk peripheral transfers are carried cut
either by DMA, as in the 80186, or under NMI control, as
in the 80286.
- DPB
- Disc Parameter Block. An area within DOS which is used to
describe the characteristics of the particular disc
format in a drive at the time. As different formats of
disc are used from time to time the contents of the disc
parameter block are amended accordingly. These need not
be unique and more than one drive may be using a
particular DPB at any time if they are both using the
same format of disc.
- DPH
- Disc Parameter Header. An area within DOS used to
describe the characteristics of each disc drive. Part of
the information in each DPH, for example the pointer to
the DPB, will change as different formats of disc are
used.
- DR-DOS
- Digital Research DOS. The successor to DOS plus and the
current version of DOS supplied by Digital Research.
- DTA
- Disc Transfer Area. The area within a program which is
set aside to hold data which is to be transferred to or
from disc. The DOS interrupts which action such requests
require that processor registers are set up to point to
the DTA before the call is issued.
- Edited mode (Console)
- The default mode in which the console operates. Tabs are
expanded, CTRL-C abandons input or output, CTRL-S pauses
screen display, CTRL-Q resumes it, CTRL-H performs a
backspace and so on.
- EMS
- Extended Memory System. The system employed by DOS and
later versions to manage memory outside the normal limit
of 640K. Introduced by Intel and the Microsoft
Corporation in 1985 to provide a standard under which
MSDOS Windows would operate to provide a type of
multi-tasking, previously unavailable to MSDOS. In the
correct hardware/software system one segment of memory,
known as the page frame, is set aside to allow 16k byte
blocks to be swapped with the rnemory beyond 640K, in
effect giving overlaid memory facilities. This facility
requires at least an 80286 processor, since page frame
changes must be carried out under a hardware NMI.
- EXE
- The file extension used by MSDOS, PCDOS and DOS Plus to
recognise an executable file which contains a machine
code program. Different in concept to CMD or COM files,
EXE files permit values to be pre-assigned to various
processor registers at load time, hence they are not,
like COM or CMD files, limited to a maximum size of 64K
at load. EXE files may be produced from a variety of
source language modules, but always consist of a number
of object modules which are linked to produce the
finished program.
- FAT
- File Allocation Table. An area of disc which contains a
table with one entry per cluster for the entire disc.
Each directory entry on the disc points into the FAT to
give the start cluster for the file or sub-directory.
Each of these in turn point to the next (or last) cluster
in the chain which makes up the corriplete file or
directory. The FAT is used by DOS to permit files to use
numerous small, separate areas of disc, rather than
having to be contained in one large contiguous area. Over
time files may therefore become fragmented, when ideally
the disc should be re-organised.
- FCB
- File Control block. An area of memory within a program
which must be set aside and identified to DOS before a
file or device may be opened for input or output. On a
successful open DOS supplies various information about
the file by entering data into the FCB so that it can
then be accessed by the program.
- File handle
- A number returned by DOS interrupts which open a file or
device for input and/or output. After such a call the
file handle is one of the variables which must be passed
to DOS with every call to access the file or device.
After opening, the handle therefore uniquely identifies
to DOS the device or file to be accessed.
- Fragmented (files)
- The description given to files which largely or even
entirely consist of single or very small numbers of
separate clusters scattered, effectively at random, all
over a disc. This is an unavoidable consequence of the
file management system used by DOS to permit all areas of
a disc to be used no matter how small each one rnay be.
The minlinurn fragment is one cluster, but these can be
as little as 512 bytes depending on the disc format used.
Fragmented files usually make themselves known by
extended access times, since DOS and the disc drives have
to work harder to retrieve or write data. Files can be
'unfragmented' by copying them one at a time to a newly
formatted disc.
- Intel
- The manufacturer of the 80 and '86 series of
micoprocessors, including the 512's 80186.
- Interrupt
- iterally. an interrupt to the norrnal execution of a
program. In DOS three types of interrupt exist, internal
hardware interrupts, external hardware interrupts and
software interrupts. The last of these are generated by
applications prograrns by a machine code instruction when
requesting one of the services provided in DOS.
- MCB
- Memory Control Block. This is an area within DOS which is
used to allocate a block of memory to a program which is
currently executing. If the program is a normal external
program the memory block recorded in the memory control
block will be freed when the program terminates. Programs
which remain resident (TSRs) do not release their memory
blocks, hence the number of MCBs determines how many TSR
and external programs can run sirnultaneously in DOS Plus
this is 32.
- MSDOS
- Microsoft-DOS. The version of DOS produced by the
Microsoft Corporation for use by manufacturers of 16 bit
personal computers. (See also PCDOS)
- Nibble
- Half a byte, or four bits. A nibble is the rninimum
amount of data which can express all the hexadecimal
digits from 0 to F. When concerned with memory addressing
a nibble is also the amount of storage required to fully
address one paragraph.
- NMI
- Non Maskable Interrupt . Literally, an interupt which
cannot be deferred. All NMIs are generated by hardware
events and consist of two types in 86 series nachines.
Internal hardware interrupts are the highest priority of
NMI and are generated by the processor because of a
catastrophic event such as a store parity error. The
second level of NMIs are generated by peripheral hardware
requiring attention, such as a key being pressed on the
keyboard, a sector being transferred from disc or, in the
512, a tube data transfer pending. NMIs immediately stop
all application program execution and non maskable
interrupts until the NMI is fully processed.
- Offset
- The address, expressed in numbers from zero to 65,535
inclusive, which defines a spedfic byte of memory from a
given start-point. In '86 series machines the offset can
be combined with a segment address to specify any single
byte of memory from address zero to address 1,048,575.
- Page
- An area of memory 256 bytes long. A page is 16
paragraphs, hence a page can be addressed by a single
byte, or two nibbles.
- Page Frame
- The segment of memory designated to be used to swap with
extended memory in EMS systems. 16k bytes may be changed
on each call, hence four calls can give access to a
complete extra segment. Page frame transfers are carried
out under NMI and therefore require at least an 80286
processor, since the 80186 and earlier versions do not
support NMI memory transfer.
- Paragraph
- A contiguous 16 byte area of memory. A paragraph can be
addressed by a nibble and in cenain DOS interrupts
concerned with memory allocation the amount of memory
must be specified in paragraphs.
- PCDOS
- The version of DOS provided with IBM PCs. If is
substantially slinilar to, in terms of developments and
facilities, MSDOS, with which it usually shares version
numbers. PCDOS differs internally to take account of
certain functions which are provided in hardware in IBM
machines.
- PSP
- Program Segment Prefix. A one page area of memory which
is created to immediately precede a COM file in memory at
load time. It contains the contents of the vectors for
INTS 20 and 22h to 24h at the time of the load, the far
return address to the general function despatcher (INT
21h) pointers to the environment string and the command
tail of up to 127 characters given when the program was
called.
- Raw mode
- A term applied to console input/output when no automafic
actions are to be performed on the data. This type of I/O
may be obtained by changing the console mode, but is much
more conveniently available, regardless of the current
console mode, through INT 21h function 6. This may be
used by programs which wish to process data with no
interference from the operating system. In other words,
CTRL-C is ignored, tabs are not expanded and so on, but
instead the characters are passed directly to the caller
as they occur.
- ROM BIOS
- A mis-nomer outside IBM machines, this is the term
applied to a range of interrupts and functions provided
by firmware in IBM PCs, but which is otherwise provided
by software. ROM BIOS emulation is provided in the 512 to
quite a high degree of conipatibility. Functions provided
include pixel plotting, cursor positioning and much
faster screen output than is possible through the general
function despatcher, which execute by repeated calls to
ROM BIOS functions. Most commercial applications almost
exclusively use ROM BIOS functions for rapid screen
handling.
- RSX
- Resident System Extension. A special type of program only
available Digital Research operating systems, prepared
originally from a CMD file, RSXs 'attach' themselves to
the operating system automatically when loaded to provide
permanent extra functions.
- Segment
- A contiguous area of memory 65,535 bytes long. A segment
must always starts on a paragraph boundary. One segment
is the largest unit of memory which can be addressed by
sixteen bits, two bytes, or a single register in '86
series processors.
- System data segment
- The area within DOS Plus which holds the operating system
variables used to control all aspects of the system. No
standard calls are provided to directly alter the
contents of this area, though systems programmers may
need to access the data to provide special or added
functions not normally available.
- XFCB
- Extended File Control Block. The file control block which
must be employed if access to the attributes of a file is
required, rather than merely input/output. An XFCB must
also be used if the file to be processed has the read
only, system or hidden bits set.