Jump to content

TurboDOS

From Wikipedia, the free encyclopedia
TurboDOS
DeveloperSoftware 2000 Inc
OS familyCP/M-like
Working stateHistoric
Source modelClosed source
Initial release1982; 42 years ago (1982)
Latest release1.43 / 1983; 41 years ago (1983)
PlatformsZilog Z80, Intel 8086
Kernel typeMonolithic kernel
Default
user interface
Command-line interface
LicenseProprietary

TurboDOS is a multi user CP/M like operating system for the Z80 and 8086 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 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 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

[edit]

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
  • 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

[edit]

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 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 (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

[edit]

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

[edit]

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

[edit]

TurboDOS has no "resident" commands. All commands are executable files. The standard commands are:

AUTOLOAD Set up a series of commands to be executed automatically at each cold-start or warm-start.
BACKUP Performs a fast copy of an entire disk onto another disk of the same type and format.
BANK In a banked memory Z80 system, allows changing between bank-switched and non-bank-switched operation.
BATCH Enters commands into a FIFO file for processing by a dedicated batch processor in a networked system.
BOOT Copies data to and from reserved (boot) tracks on a disk.
BUFFERS Interrogates or changes the number and/or size of the disk buffers maintained by TurboDOS
CHANGE Checks disk is not in use and flushes cache prior to removing a disk.
COPY File copy.
DATE Display or set system date and time.
DELETE File delete.
DIR Display or print disk directory.
DO Execute a batch file.
DRIVE Display disk format information.
DUMP Display or print hexadecimal and ASCII file dump.
ERASEDIR Erase entire disk directory
FIFO Create a FIFO file.
FIXDIR Directory clean-up utility, also used to convert between linear and hashed directory structure, (and vice versa).
FIXMAP Regenerate disk allocation map.
FORMAT Disk format.
LABEL Set or interrogate disk label.
LOGOFF Terminate console session.
LOGON Start console session.
MASTER Attach console to the "master" processor (server) in network system.
PRINT Control routing of print output.
PRINTER Control despooling on any selected printer.
QUEUE Manually queue for de-pooled printing.
RECEIVE Read and display one record from FIFO file.
RENAME Rename files.
SEND Write message to FIFO file.
SET Set or clear file attributes.
SHOW Display file attributes.
TYPE Display file contents to console or printer.
VERIFY Scan disk for bad blocks and (optionally) mark them to prevent their usage.
[edit]