DSOS (Deep Six Operating System) was a real-time operating system (sometimes termed an operating system kernel) developed by Texas Instruments' division Geophysical Services Incorporated (GSI) in the mid-1970s.[1]
Developer | Texas Instruments GSI |
---|---|
Working state | Discontinued |
Source model | Closed source |
Marketing target | Oil companies |
Available in | English |
Platforms | Texas Instruments 980 minicomputer |
Kernel type | Real-time |
Default user interface | Command-line |
License | Proprietary |
Background
editThe Geophysical Services division of Texas Instruments' main business was to search for petroleum (oil). They would collect data in likely spots around the world, process that data using high performance computers, and produce analyses that guided oil companies toward promising sites for drilling.
Much of the oil being sought was to be found beneath the ocean, hence GSI maintained a fleet of ships to collect seismic data from remote regions of the world. To do this properly, it was essential that the ships be navigated precisely. If evidence of oil is found, one cannot just mark an X on a tree. The oil is thousands of feet below the ocean and typically hundreds of miles from land. But this was a decade or more before GPS existed, thus the processing load to keep an accurate picture of where a finding is, was considerable.
The GEONAV systems, which used DSOS (Frailey, 1975) as their operating system, performed the required navigation, and collected, processed, and stored the seismic data being received in real-time.
Naming
editThe name Deep Six Operating System was the brainchild of Phil Ward (subsequently a world-renowned GPS expert) who, at the time, was manager of the project and slightly skeptical of the computer science professor, Dennis Frailey, who insisted that an operating system was the solution to the problem at hand. In a sense the system lived up to its name, according to legend. Supposedly one of the ships hit an old World War II naval mine off the coast of Egypt and sank while being navigated by GEONAV and DSOS.
Why an operating system?
editIn the 1970s, most real-time applications did not use operating systems because the latter were perceived as adding too much overhead. Typical computers of the time had barely enough computing power to handle the tasks at hand. Moreover, most software of this type was written in assembly language. As a consequence, real-time systems were classic examples of spaghetti code: complex masses of assembly language software using all sorts of machine-dependent tricks to achieve maximum performance.
DSOS ran on a Texas Instruments 980 minicomputer being used for marine navigation on GSI's fleet. DSOS was created to bring some order to the chaos that was typical of real-time system design at that time. The 980 was, for its time, a relatively powerful small computer that offered memory protection and multiple-priority interrupt abilities. DSOS was designed to exploit these features.
Significance
editDSOS (Frailey, 1975) was one of the pioneering efforts in real-time operating systems. Incorporating many of the principles being introduced at the time in mainframe computer systems, such as semaphores, memory management, task management, and software interrupts, it used a clever scheme to assure appropriate real-time performance while providing many services formerly uncommon in the real-time domain (such as an orderly way to communicate with external devices and computer operators, multitasking, maintaining records, a disciplined form of inter-task communication, a reliable real-time clock, memory protection, and debugging support). It remained in use for at least three decades and it demonstrated that, if well designed, an operating system can make a real-time system faster (and vastly more maintainable) than what had been typical before. Today, almost all real-time applications use operating systems of this type.
References
edit- ^ Frailey, Dennis J. (January 1975). "DSOS: A Skeletal, Real-Time, Minicomputer Operating System". Software: Practice and Experience. 5 (1): 5–18.