# FlexOS

FlexOS is a discontinued modular real-time multiuser multitasking operating system (RTOS) designed for computer-integrated manufacturing, laboratory, retail and financial markets. Developed by Digital Research's Flexible Automation Business Unit in Monterey, California, in 1985.
The system was considered to become a successor of Digital Research's earlier Concurrent DOS, but with a new, modular, and considerably different system architecture and portability across several processor families. Still named Concurrent DOS 68K and Concurrent DOS 286, it was renamed into FlexOS on 1 October 1986 to better differentiate the target audiences.
FlexOS was licensed by several OEMs who selected it as the basis for their own operating systems like 4680 OS, 4690 OS, S5-DOS/MT and others. Unrelated to FlexOS, the original Concurrent DOS system architecture found a continuation in successors like Concurrent DOS XM and Concurrent DOS 386 as well.

## Overview

Concurrent DOS 286, Concurrent DOS 68K and FlexOS were designed by Francis "Frank" R. Holsworth (using siglum FRH). Like Portable CP/M, Concurrent DOS 286, Concurrent DOS 68K and Concurrent DOS V60, FlexOS was written in C for higher portability across hardware platforms, and it featured very low interrupt latency and fast context switching.
The original protected mode FlexOS 286 version 1.3 was designed for host machines equipped with 286 CPUs, and with adaptations for NEC V60, NEC V70 and Motorola 68000 processors planned. FlexOS 286 executables using the system's native INT DCh (INT 220) application program interface had the filename extension .286. A CP/M API front-end (FE) was available as well, using the extension .CMD for executables. (A filename extension of .68K was reserved for FlexOS 68K, a file extension derived from Concurrent DOS 68K as of 1986.)
In May 1987, FlexOS version 1.31 was released for 80286 machines. The developer version required an IBM PC/AT-compatible machine with 640 KB of conventional and 512 KB of extended memory, and either a (monochrome) CGA or an EGA graphics adapter.
FlexOS supported a concept of dynamically loadable and unloadable subdrivers, and it came with driver prototypes for floppies, hard disks, printers, serial interfaces, RAM disks, mice and console drivers.
During boot, the FLEX286.SYS kernel would load the resource managers and device drivers specified in the CONFIG.SYS binary file (not to be mixed up with the similarly named CONFIG.SYS configuration file under DOS), and its shell (COMMAND.286) would execute a CONFIG.BAT startup batch job instead of the common AUTOEXEC.BAT.
FlexOS's optional DOS emulator provided limited PC DOS 2.1 compatibility for DOS .COM and .EXE programs. Certain restrictions applied in "8086 emulation mode" since these programs were executed in the processor's protected mode. Due to bugs in earlier steppings of the Intel 80286, the FlexOS 286 DOS front-end required at least the 80286 E2 stepping to function properly (see LOADALL). These problems had already caused delays in the delivery of Concurrent DOS 286 earlier.
The system optionally supported a multitasking GEM VDI for graphical applications.
FlexOS 1.31 could be linked with none, either or both of these two modules. FlexOS 1.31 also supported FlexNet.
By June 1987 there were also versions 1.0 of FlexOS 386 (for hosts) and FlexOS 186 (for remote cell controllers). FlexOS 386 provided a windowing feature, and offered PC DOS 3.2 and GEM compatibility.
FlexOS 286 and FlexOS 386 versions 2.0 were registered on 3 July 1989.
Among the major FlexOS customers in 1990/1991 were FANUC, IBM, ICL, Nixdorf, Siemens, TEC, Thorn EMI Software and Micrologic.
Novell bought Digital Research for US$80 million in July 1991.
X/GEM for FlexOS release 1.0 (a.k.a. X/GEM FlexOS 286 and 386) and FlexNet were registered on 21 December 1992.
FlexOS was used as the primary test platform for the new Novell Embedded Systems Technology (NEST).
When Novell decided to abandon further development of the various Digital Research operating systems such as Multiuser DOS (a successor to Concurrent DOS) and Novell DOS (a successor to DR DOS), they sold FlexOS off to the Santa Clara, California-based Integrated Systems Inc. (ISI) for US$3 million in July 1994. The deal comprised a direct payment of half this sum as well as shares representing 2% of the company. The company already had pSOS+, another modular real-time multitasking operating system for embedded systems, but they continued to maintain FlexOS as well. FlexOS version 2.33 was current as of May 1998 and with FlexOS 2.34 to be released soon after with added support for faster CPUs, 64 MB of memory, EIDE and ATAPI CDROM drives.
Integrated Systems was bought by their competitor Wind River Systems in February 2000.

## Commands

The following list of commands is supported by FlexOS:
* ASSIGN
* BACK
* BACKUP
* BREAK
* CANCEL
* CHDIR
* CHKDSK
* COMMAND
* COMP
* CONFIG
* COPY
* CTTY
* DATE
* DEFINE
* DIR
* DISKCOMP
* DISKCOPY
* DISKSET
* ERASE
* EXIT
* FDISK
* FIND
* FORMAT
* FSET
* LIST
* LOGOFF
* LOGON
* MKDIR
* MORE
* ORDER
* PASSWORD
* PATH
* PRINT
* PROCESS
* PROMPT
* RECDIR
* RECFILE
* RENAME
* RESTORE
* RMDIR
* SECURITY
* SORT
* SYS
* TIME
* TREE
* TYPE
* VER
* VOL

## Versions

Known FlexOS versions include:
Motorola 68000 / Freescale/NXP ColdFire MCF5251 platform:
* Concurrent DOS 68K 1.0 (1985)
* Concurrent DOS 68K 1.1
* Concurrent DOS 68K 1.20 (April 1986, 1986-05-27)
* Concurrent DOS 68K 1.21 (1986)
* FlexOS 68K 1.x?
Intel 80286 platform:
* MP/M-286 (1982)
* Concurrent CP/M-286 (1985)
* Concurrent DOS 286 preview (1985-01)
* Concurrent DOS 286 1.0 (1985-08-06)
** Concurrent DOS 286 1.0.01 (1985-08-18/1985-08-21)
** Concurrent DOS 286 1.0.02 (1985-08-22/1985-09-12)
** Concurrent DOS 286 1.0.03 (1985-09-10/1985-09-12)
** Concurrent DOS 286 1.0.04 (1985-09-17)
** Concurrent DOS 286 1.0.05 (1985-11-01)
** Concurrent DOS 286 1.0.06 (1985-12-10)
* Concurrent DOS 286 1.1 (1986-01-07)
* Concurrent DOS 286 1.2 (1986)
** Concurrent DOS 286 1.2.00 (1986-04-10/1986-04-24)
** Concurrent DOS 286 1.2.01 (1986-04-16/1986-05-19)
** Concurrent DOS 286 1.2.02 (1986-08-18)
* FlexOS 286 1.3 (November 1986)
* FlexOS 286 1.31 (May 1987)
* FlexOS 286 1.5 (1988-02-29)
* FlexOS 286 2.0.00 (1988-03-31)
* FlexOS 286 2.0 (July 1989)
* FlexOS 286 2.32 (July 1993)
Intel 80186/NEC V20/V30 platform:
* FlexOS 186 (1986-09-04 forked)
* FlexOS 186 1.0 (June 1987)
Intel 80386 platform:
* FlexOS 386 1.0 (June 1987)
* FlexOS 386 2.0 (July 1989)
* FlexOS 386 2.30?
* FlexOS 386 2.31?
* FlexOS 386 2.32 (July 1993)
* FlexOS 386 2.33 (May 1998)
* FlexOS 386 2.34 (planned for 1999)
NEC V60 platform:
* Concurrent DOS V60?

## Adaptations
### IBM 4680 OS

Named IBM 4680 OS Version 1, IBM originally chose DR Concurrent DOS 286 as the basis of their IBM 4680 computer for IBM Plant System products and Point-of-Sale terminals in 1986. The last release of the IBM 4680 OS has been Version 4, before it was replaced by IBM 4690 Version 1.
Versions:
* IBM 4680 Operating System Version 1 Release 1
* IBM 4680 Operating System Version 1 Release 2
* IBM 4680 Operating System Version 1 Release 3
* IBM 4680 Operating System Version 2 Release 1
* IBM 4680 Operating System Version 3 Release 1
* IBM 4680 Operating System Version 4 Release 1

### IBM and Toshiba 4690 OS

In July 1993, IBM announced the adoption of FlexOS version 2.32 as the basis of their IBM 4690 OS Version 1, to be pre-released on 24 September 1993 and generally made available from 25 March 1994. FlexOS 2.32 supported 286 and 386 modes, had more efficient memory management, better console and pipe systems, and brought overall quality and performance improvements compared to the version that came with IBM 4680 OS Version 4. Further, it removed limits on the number of applications running concurrently due to its more efficient use of KOSPOOL.
To support Java, IBM 4690 OS Version 2 added support for long filenames by means of a virtual filesystem (VFS) architecture and it introduced FAT32 volumes.
According to "The Year of the Store?", IHL Consulting Group/RIS News, IBM 4690 OS still had a market share of 12% in the POS register/client market in June 2005, when IBM was starting to phase it out in favour to IBM Retail Environment for SUSE (IRES).
IBM continued to maintain 4690 OS up to April 2015, with the most recent version released by IBM in May 2012 being IBM 4690 OS Version 6 Release 3.
Toshiba released Toshiba 4690 OS Version 6 Release 4 in January 2014 and Version 6 Release 5 in January 2016.

### Siemens S5-DOS/MT

Siemens used and still maintains FlexOS in their factory automation equipment as well. For example, their Simatic S5 STEP-5 operating system S5-DOS/MT is based on FlexOS 386 with X/GEM, FlexNet and Btrieve, whereas the smaller S5-DOS system, also present on these systems, is a variant of Digital Research's Personal CP/M-86.
Siemens industrial systems like COROS LS-B/FlexOS, COROS OS-B/FlexOS, GRACIS/FlexOS, Teleperm M [de] OS-525 were FlexOS and X/GEM-based.
Computers such as the Sicomp [de] PC 16-20 and the PC 32 series were available with FlexOS as well.

### CTM

The Japanese post office shared terminals CTM [ja] III and CTM IV were based on FlexOS.