TurboDOS is a
multi user CP/M
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
like
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
for the
Z80
The Zilog Z80 is an 8-bit microprocessor designed by Zilog that played an important role in the evolution of early personal computing. Launched in 1976, it was designed to be software-compatible with the Intel 8080, offering a compelling altern ...
and
8086
The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allo ...
CPUs developed by Software 2000 Inc.
It was released around 1982 for
S100 bus based systems such as the
NorthStar Horizon and the Commercial Systems line of the
multiprocessor
Multiprocessing (MP) is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. The ...
systems including the CSI-50, CSI-75, SCI-100 and CSI-150.
The multiprocessor nature of TurboDOS is its most unusual feature. Unlike other operating systems of its time where networking of processors was either an afterthought, or which only support a file transfer protocol, TurboDOS was designed from the ground up as a multiprocessor operating system.
It is modular in construction, with the operating
system generation
In computing system generation or sysgen is the process of creating a particular unique instance of an operating system by combining user-specified options and parameters with manufacturer-supplied general-purpose program code to produce an opera ...
based on a relocating, linking, loader program. This makes the incorporation of different hardware
driver modules quite easy, particularly for bus-oriented machines, such as the
IEEE-696 (S-100) bus which was commonly used for TurboDOS systems.
Architecture
TurboDOS is highly modular, consisting of more than forty separate functional modules distributed in relocatable form. These modules are "building blocks" that you can combine in various ways to produce a family of compatible operating systems. This section describes the modules in detail, and describes how to combine them in various configurations.
Possible TurboDOS configurations include:
* single-user without
spooling
In computing, spooling is a specialized form of multi-programming for the purpose of copying data between different devices. In contemporary systems, it is usually used for mediating between a computer application and a slow peripheral, such a ...
* single-user with spooling
*
network server
* simple network user (no local disks)
* complex network user (with local disks)
Numerous subtle variations are possible in each of these categories.
Module hierarchy
The architecture of TurboDOS can be viewed as a three-level hierarchy. The highest level of the hierarchy is the process level. TurboDOS can support many concurrent processes at this level. The intermediate level of the hierarchy is the
kernel level. The kernel supports the 93 C-functions and T-functions, and controls the sharing of computer resources such as
processor time, memory, peripheral devices, and disk files. Processes make requests of the kernel through the entrypoint module OSNTRY, which decodes each C-function and T-function by number and invokes the appropriate kernel module.
The C functions include the CP/M BDOS functions and selected
MP/M
MP/M (Multi-Programming Monitor Control Program) is a discontinued multi-user version of the CP/M operating system, created by Digital Research developer Tom Rolander in 1979. It allowed multiple users to connect to a single computer, each u ...
functions.
The lowest level of the hierarchy is the driver level, and contains all the device-dependent drivers necessary to interface TurboDOS to the particular hardware being used. Drivers must be provided for all peripherals, including console, printers, disks, communications channels, and network interface.
Drivers are also required for the
real-time clock
A real-time clock (RTC) is an electronic device (most often in the form of an integrated circuit) that measures the passage of time.
Although the term often refers to the devices in personal computers, server (computing), servers and embedded ...
(or other periodic interrupt source), and for
bank-switched memory (if applicable).
TurboDOS is designed to interface with almost any kind of peripheral hardware. It operates most efficiently with interrupt-driven,
DMA-type interfaces, but can also work fine using polled and programmed-I/O devices.
TurboDOS loader
The TurboDOS loader OSLOAD.COM is a program containing an abbreviated version of the kernel and drivers. Its purpose is to load the full TurboDOS operating system from a disk file (OSSERVER.SYS) into memory at each system cold-start.
System generation
The functional modules are distributed in relocatable format (.REL) and the GEN command is a specialized linker which builds an executable version of the system.
Commands
TurboDOS has no "resident" commands. All commands are executable files. The standard commands are:
External links
The TurboDOS MuseumTUG NewslettersZ80 Implementors Guide(pdf)
The TurboDOS Operating System(archived)
{{Disk operating systems
CP/M
Microcomputer software
Disk operating systems