TurboDOS
| Industry | Software |
|---|---|
| Founded | 1982 |
| Products | TurboDOS |
TurboDOS is a multi user CP/M-style operating system designed for the Z80 and 8086 processors, created by Software 2000 Inc.
Introduced circa 1982, it was primarily aimed at S100 bus architectures such as the NorthStar Horizon and the Commercial Systems multiprocessor series, including models like CSI-50, CSI-75, SCI-100, and CSI-150.
The principal commercial strength of TurboDOS lay in its integrated support for multiprocessor configurations. Unlike other systems of its era where processor networking was an afterthought or limited to file transfer capabilities, TurboDOS was architected from inception to function as a true multiprocessor operating system.
Its modular design incorporates a relocating and linking loader for system assembly, facilitating straightforward hardware driver integration—particularly on bus-centric platforms like the commonly employed IEEE-696 (S-100) bus found in TurboDOS environments.
Architecture
TurboDOS features a highly modular structure consisting of over forty relocatable modules. These components serve as foundational elements that can be combined to produce a suite of compatible operating systems. Available configurations include:
- single-user without spooling
- single-user with spooling enabled
- network server
- basic network user (lacking local disk storage)
- advanced network user (with local disk access)
There are also numerous nuanced variations within these main categories.
Module hierarchy
The architecture of TurboDOS is organized into three tiers: process level, kernel level, and driver level. The process level facilitates multiple simultaneous processes. The kernel level encompasses 93 C-functions and T-functions responsible for managing resources such as processor time, memory allocation, peripheral devices, and disk file operations. Processes interact with the kernel through the OSNTRY module, which directs function calls to the correct kernel component.
The C-functions integrate CP/M BDOS routines alongside select features from MP/M.
At the driver level reside hardware-specific drivers supporting all connected devices—including consoles, printers, disk drives, communication interfaces, network adapters—as well as support for the real-time clock and bank-switched memory when applicable.
TurboDOS is compatible with virtually all peripheral hardware and performs optimally with interrupt-driven or DMA devices but also accommodates polled and programmed-I/O hardware.
TurboDOS loader
The OSLOAD.COM loader contains a minimal kernel and essential drivers necessary to load the complete TurboDOS system (OSSERVER.SYS) from disk into memory during each cold boot.
System generation
Modules are supplied in relocatable (.REL) format. The GEN utility acts as a specialized linker that assembles these modules into an executable system image.
Commands
TurboDOS does not include resident commands; instead, all commands are implemented as executable files. Notable standard commands include:
| AUTOLOAD | Configure commands to execute automatically on cold or warm startup. |
| BACKUP | Perform rapid disk-to-disk copying between identical disk types. |
| BANK | Toggle between banked and non-banked memory modes on Z80 systems. |
| BATCH | Queue commands into FIFO files for batch execution within networks. |
| BOOT | Handle data located on reserved boot tracks. |
| BUFFERS | View or modify the number and size of disk buffers in TurboDOS. |
| CHANGE | Flush caches and verify disk status before removal. |
| COPY | Copy files. |
| DATE | View or set the system date and time. |
| DELETE | Remove files. |
| DIR | List or print directory contents. |
| DO | Execute batch files. |
| DRIVE | Display disk format details. |
| DUMP | Show file contents in hexadecimal and ASCII formats. |
| ERASEDIR | Erase an entire disk directory. |
| FIFO | Create FIFO files. |
| FIXDIR | Clean up directories and convert between linear and hashed formats. |
| FIXMAP | Rebuild disk allocation maps. |
| FORMAT | Format disks. |
| LABEL | Set or query disk volume labels. |
| LOGOFF | Terminate console sessions. |
| LOGON | Initiate console sessions. |
| MASTER | Connect console to master processor within networked systems. |
| Manage print output routing. | |
| PRINTER | Control print despooling for individual printers. |
| QUEUE | Manually enqueue print jobs for deferred printing. |
| RECEIVE | Read or display a single record from a FIFO file. |
| RENAME | Change file names. |
| SEND | Write messages to FIFO files. |
| SET | Assign or clear file attributes. |
| SHOW | Display file attributes information. |
| TYPE | Output file contents to console or printer. |
| VERIFY | Scan disks for defective blocks and optionally mark them as unusable. |
External links
- The TurboDOS Archive
- TUG Newsletter Collection
- Z80 Implementation Guide (pdf)
- The TurboDOS OS (archived version)
- Release 1.30