TurboDOS

Last updated
TurboDOS
Developer Software 2000 Inc
OS family CP/M-like
Working stateHistoric
Source model Closed source
Initial release1982;42 years ago (1982)
Latest release 1.43 / 1983;41 years ago (1983)
Platforms Zilog Z80, Intel 8086
Kernel type Monolithic kernel
Default
user interface
Command-line interface
License Proprietary

TurboDOS is a multi user CP/M like operating system for the Z80 and 8086 CPUs developed by Software 2000 Inc.

Contents

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

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:

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

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:

AUTOLOADSet up a series of commands to be executed automatically at each cold-start or warm-start.
BACKUPPerforms a fast copy of an entire disk onto another disk of the same type and format.
BANKIn a banked memory Z80 system, allows changing between bank-switched and non-bank-switched operation.
BATCHEnters commands into a FIFO file for processing by a dedicated batch processor in a networked system.
BOOTCopies data to and from reserved (boot) tracks on a disk.
BUFFERSInterrogates or changes the number and/or size of the disk buffers maintained by TurboDOS
CHANGEChecks disk is not in use and flushes cache prior to removing a disk.
COPY File copy.
DATE Display or set system date and time.
DELETEFile delete.
DIR Display or print disk directory.
DOExecute a batch file.
DRIVEDisplay disk format information.
DUMPDisplay or print hexadecimal and ASCII file dump.
ERASEDIRErase entire disk directory
FIFOCreate a FIFO file.
FIXDIRDirectory clean-up utility, also used to convert between linear and hashed directory structure, (and vice versa).
FIXMAPRegenerate disk allocation map.
FORMAT Disk format.
LABEL Set or interrogate disk label.
LOGOFFTerminate console session.
LOGONStart console session.
MASTERAttach console to the "master" processor (server) in network system.
PRINT Control routing of print output.
PRINTERControl despooling on any selected printer.
QUEUEManually queue for de-pooled printing.
RECEIVERead and display one record from FIFO file.
RENAME Rename files.
SENDWrite message to FIFO file.
SETSet or clear file attributes.
SHOWDisplay file attributes.
TYPE Display file contents to console or printer.
VERIFYScan disk for bad blocks and (optionally) mark them to prevent their usage.

Related Research Articles

<span class="mw-page-title-main">Device driver</span> Software interface to attached devices

In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.

<span class="mw-page-title-main">Booting</span> Process of starting a computer

In computing, booting is the process of starting a computer as initiated via hardware such as a button on the computer or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.

RT-11 is a discontinued small, low-end, single-user real-time operating system for the full line of Digital Equipment Corporation PDP-11 16-bit computers. RT-11 was first implemented in 1970. It was widely used for real-time computing systems, process control, and data acquisition across all PDP-11s. It was also used for low-cost general-use computing.

The development of a hobbyist operating system is one of the more involved and technical options for a computer hobbyist. The definition of a hobby operating system can sometimes be vague. It can be from the developer's view, where the developers do it just for fun or learning; it can also be seen from the user's view, where the users are only using it as a toy; or it can be defined as an operating system which doesn't have a very big user base.

NTLDR is the boot loader for all releases of Windows NT operating system from 1993 with the release of Windows NT 3.1 up until Windows XP and Windows Server 2003. From Windows Vista onwards it was replaced by the BOOTMGR bootloader. NTLDR is typically run from the primary storage device, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk. NTLDR can also load a non NT-based operating system given the appropriate boot sector in a file.

<span class="mw-page-title-main">Windows 9x</span> Discontinued series of Microsoft Windows operating systems

Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems from 1995 to 2000, which were based on the Windows 95 kernel and its underlying foundation of MS-DOS, both of which were updated in subsequent versions. The first version in the 9x series was Windows 95, which was succeeded by Windows 98 and then Windows Me, which was the third and last version of Windows on the 9x line, until the series was superseded by Windows XP.

In computers, a printer driver or a print processor is a piece of software on a computer that converts the data to be printed to a format that a printer can understand. The purpose of printer drivers is to allow applications to do printing without being aware of the technical details of each printer model.

<span class="mw-page-title-main">Bootloader</span> Software responsible for starting the Computer and Load other software to the CPU memory

A bootloader, also spelled as boot loader or called bootstrap loader, is a computer program that is responsible for booting a computer. If it also provides an interactive menu with multiple boot choices then it's often called a boot manager.

<span class="mw-page-title-main">Econet</span> Computer networking system

Econet was Acorn Computers's low-cost local area network system, based on a CSMA-CD serial protocol carried over a five-wire data bus, intended for use by schools and small businesses. It was widely used in those areas, and was supported by a large number of different computer and server systems produced both by Acorn and by other companies.

udev is a device manager for the Linux kernel. As the successor of devfsd and hotplug, udev primarily manages device nodes in the /dev directory. At the same time, udev also handles all user space events raised when hardware devices are added into the system or removed from it, including firmware loading as required by certain devices.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator that uses dynamic binary translation to emulate the processor of a computer. It provides a variety of hardware and device models for the machine, enabling it to run different guest operating systems. QEMU can be used in conjunction with Kernel-based Virtual Machine (KVM) to execute virtual machines at near-native speeds. Additionally, QEMU supports the emulation of user-level processes, allowing applications compiled for one processor architecture to run on another.

<span class="mw-page-title-main">Architecture of Windows NT</span> Structure of the operating system

The architecture of Windows NT, a line of operating systems produced and sold by Microsoft, is a layered design that consists of two main components, user mode and kernel mode. It is a preemptive, reentrant multitasking operating system, which has been designed to work with uniprocessor and symmetrical multiprocessor (SMP)-based computers. To process input/output (I/O) requests, it uses packet-driven I/O, which utilizes I/O request packets (IRPs) and asynchronous I/O. Starting with Windows XP, Microsoft began making 64-bit versions of Windows available; before this, there were only 32-bit versions of these operating systems.

A file system API is an application programming interface through which a utility or user program requests services of a file system. An operating system may provide abstractions for accessing different file systems transparently.

ntoskrnl.exe, also known as the kernel image, contains the kernel and executive layers of the Microsoft Windows NT kernel, and is responsible for hardware abstraction, process handling, and memory management. In addition to the kernel and executive layers, it contains the cache manager, security reference monitor, memory manager, scheduler (Dispatcher), and blue screen of death.

The Linux booting process involves multiple stages and is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Although the Linux booting process depends very much on the computer architecture, those architectures share similar stages and software components, including system startup, bootloader execution, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons. Those are grouped into 4 steps: system startup, bootloader stage, kernel stage, and init process. When a Linux system is powered up or reset, its processor will execute a specific firmware/program for system initialization, such as the power-on self-test, invoking the reset vector to start a program at a known address in flash/ROM, then load the bootloader into RAM for later execution. In IBM PC–compatible personal computers (PCs), this firmware/program is either a BIOS or a UEFI monitor, and is stored in the mainboard. In embedded Linux systems, this firmware/program is called boot ROM. After being loaded into RAM, the bootloader will execute to load the second-stage bootloader. The second-stage bootloader will load the kernel image into memory, decompress and initialize it, and then pass control to this kernel image. The second-stage bootloader also performs several operation on the system such as system hardware check, mounting the root device, loading the necessary kernel modules, etc. Finally, the first user-space process starts, and other high-level system initializations are performed.

In Unix-like operating systems, a device file, device node, or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.

<span class="mw-page-title-main">AmigaOS</span> Operating system for Amiga computers

AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions of AmigaOS required the Motorola 68000 series of 16-bit and 32-bit microprocessors. Later versions, after Commodore's demise, were developed by Haage & Partner and then Hyperion Entertainment. A PowerPC microprocessor is required for the most recent release, AmigaOS 4.

<span class="mw-page-title-main">DOS</span> Family of IBM PC-compatible operating systems

DOS is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible systems from other manufacturers include DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993), and FreeDOS (1998). MS-DOS dominated the IBM PC compatible market between 1981 and 1995.

<span class="mw-page-title-main">Kernel (operating system)</span> Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. The kernel is also responsible for preventing and mitigating conflicts between different processes. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

OS4000 is a proprietary operating system introduced by GEC Computers Limited in 1977 as the successor to GEC DOS, for its range of GEC 4000 series 16-bit, and later 32-bit, minicomputers. OS4000 was developed through to late 1990s, and has been in a support-only mode since then.