# TI-DNOS
## Distributed Network Operating System (DNOS)

The Distributed Network Operating System (DNOS) is a general purpose, multitasking operating system designed to operate with the Texas Instruments 990/10, 990/10A and 990/12 minicomputers. DNOS includes a sophisticated file management package which provides support for key indexed files, sequential files, and relative record files. DNOS is a multiterminal system that is capable of making each of several users appear to have exclusive control of the system. DNOS supports output spooling and program accessible accounting data. Job level and task level operations enable more efficient use of system resources.
In addition to multiterminal applications, DNOS provides support for advanced program development. Users communicate with DNOS by entering commands at a terminal or by providing a file of commands. The System Command Interpreter (SCI) processes those commands and directs the operating system to initiate the action specified by a command. A text editor allows the user to enter source programs or data into the system. A Macro Assembler is provided for assembly language programs. Several high level languages, including Fortran, COBOL, BASIC, RPG II, and Pascal, are supported. A link editor and extended debugging facilities are also provided. A variety of utility programs and productivity tools support access to and management of information contained in a data base, design of specific forms on the screen of a video display terminal (VDT), and word processing.
The system supports a wide range of user environments. DNOS can support as few as one or two terminals, thus allowing the user of a smaller System to perform tasks efficiently and yet inexpensively. Larger configurations with a wide variety of peripherals are also supported. The maximum configuration size varies with the user's environment. Almost every minicomputer system requirement or application need can be met with DNOS.
DNOS provides the base for a variety of communications products. Standard protocols for IBM 2780/3780 and for IBM 3270 communications are supported. Local area network software is supported for network input/output (I/O) and logon. In addition, sophisticated networking software is available with the Distributed Network Communications System (DNCS) and Distributed Network I/O (DNIO) packages. DNCS includes networking capabilities for X.25 and IBM's Systems Network Architecture (SNA) protocols. DNIO provides users transparent access to other TI 990s running DNOS and can be used to connect to local or wide-area networks.
DNOS is an international operating system designed to meet the commercial requirements of the United States, most European countries, and Japan. DNOS supports a complete range of international data terminals that permit users to enter, view, and process data in their own languages. The system includes error text files that can be edited so that error messages can be easily translated into languages other than English.

## DNOS Features

DNOS supports features that incorporate the computing power of the larger computers, and it is upwardly compatible with other Texas Instruments operating systems.
DNOS features include:
* Multiple Terminals - The number of online terminals is limited only by the available computing power and memory for system structures.
* File Security - The system can optionally include a file security system that allows system managers and other users to determine which user groups can access data files and execute specific programs.
* Output Spooling - Output spooling is the process of queueing files for printing. Files are scheduled for printing based on job priority and availability of the printing device(s). You can specify special printing forms and formats.
* Accounting Function - The system can optionally include an accounting function that allows you to maintain accounting information on the use of system resources.
* Job Structure - The system incorporates a job structure that assists program management and enables efficient use of resources. A job is a sequence of cooperating tasks.
* I/O Resource Management - Resource-specific and resource-independent I/O operations allow flexibility in the selection of devices and file types.
* Program Segmentation - Program segmentation is the process of separating a program into segments. A program can consist of up to three segments at any one time. Additional segments can be accessed as necessary during program execution. Segments can be shared by programs.
* Interprocess Communication - The system provides the capability, through interprocess communication (IPC), for two programs (tasks) to exchange information.
* Power Failure Recovery - Should a power failure occur, DNOS maintains the state of the system at the time of the failure, if the optional software and backup power supply have been added to your system. When full power resumes, the operation will continue from the point at which the power failure occurred.
* Synchronization Methods - Event and semaphore synchronization methods are included to assist interaction between programs, either within a job or across job boundaries. Event synchronization allows the program to wait for one or more events to be completed before processing is continued. Semaphore synchronization uses variables to exchange signal information between programs.
* Concatenated Files - The system supports file concatenation, in which two or more physical files are recognized as a logically contiguous set of data. These files can exist on one or more volumes.
* Temporary Files A temporary file is one that exists only during the life of the created job, or during the extent of a program within that job. A job temporary file can be accessed by any program in a job, and is deleted when the job terminates. Other temporary files are created for use by a single program and are deleted when the program terminates.
* Diagnostic Support - The system supports online diagnostics that operate concurrently with program execution and system log analysis tasks.
* Batch Jobs - A batch job is a job that executes in the background, independent of a terminal. A user at a terminal can be executing multiple batch jobs, and at the same time, be performing foreground and/or background operations in an interactive job.
* Dynamic Configuration Changes - Table size, system characteristics, and device configuration changes can be enabled and take effect after the next Initial Program Load (IPL) sequence, rather than during system generation.
* Compatibility - DNOS design enables compatibility with the DX10 operating system. Many of the familiar operating concepts of the DX10 operating system are integrated within the design of DNOS. DNOS includes disk and other media formats, a Supervisor Call (SVC) interface, and SCI user commands that are all upwardly compatible with DX10.
* System Generation - The system generation utility allows a user to interactively specify all necessary features, available devices, and optional functions when creating an operating system. This data is used to construct a file that defines the configuration of the operating system.
* Message Facilities - The system provides a comprehensive set of codes and messages describing errors and special conditions that occur when using the operating system. The system handles messages in a uniform manner to ensure that they are easy to use. Two system directories maintain message files that contain text describing errors, information, and completion messages generated by the system. The directories are expandable to include message files written by users.
* System Log - The system log stores information about errors and messages generated by hardware, input/output operations, tasks, and user programs on two files and an optional specified device.
* Systems Problem Analysis - If problems occur during system operation, they can be diagnosed by using a system utility that can analyze the system whether the system is operating or has experienced a failure. In a failure situation, an image of memory can be copied to a file. When the system is operating again, an analysis utility can be used with a variety of commands entered by the user.
* System Configuration History - Information about all supplied software products installed on a system is maintained on a system disk file. Users can also send entries to the file for application products they develop.
* DNOS International Features - Error message files can be text edited to translate into a language other than English. It is also necessary to change the collating sequence of key indexed files (KIF) according to the translation. DNOS provides methods to change the required collating sequence.
* DNOS Performance Package - An optional add-on package is available for DNOS on the larger 990 series computers. This package enhances DNOS performance by using several system routines implemented in microcode in the writable control storage.