TSX-32 is a general purpose multi-user multi-tasking operating system written from the ground up for the Intel platform. Building on our experience in the operating system business (since 1975), TSX-32 has been a viable, stable, and powerful alternative to both Unix and Microsoft operating systems since 1989.

Because TSX is not based on a graphical user interface, our strengths lie primarily in two areas: running traditional character based applications in a flexible multi-user environment, and embedded requirements such as instrumentation and factory automation.

TSX-32 is a rock solid operating system, running underneath the hood of systems in Fortune 500 companies, airports, factories, defense, mines, offices -- you name it -- all over the world.

TSX is truly a system written for technical people by technical people. We pride ourselves on the best support in the industry and encourage you to contact us with questions, needs, and plans. Learn about TSX and -- if the fit is right -- you, too, are destined to become a TSX-32 enthusiast!

For assistance in ordering a demonstration or production system, or for further technical information, contact the S&H sales department.

S&H Computer Systems, Inc.
1027 17th Avenue South
Nashville, TN 37212 USA
Voice: 615-327-3670
FAX: 615-321-5929
Internet: sales@sandh.com
Telnet & FTP: sandh.com

S&H Computer Systems is a registered trademark, and the S&H logo, TSX-32, TSX-Net, TSX-Term, Edit-32, MessageNet & Advanced MessageNet, are trademarks of S&H Computer Systems, Inc. Other product names are trademarks of their respective owners. S&H Computer Systems, Inc. makes no contractual obligation regarding this product, either expressed or implied, and reserves the right to modify this product and add or remove features. Copyright 1995 S&H Computer Systems, Inc. Nashville, TN, USA ALL RIGHTS RESERVED



TSX-Lite Shareware Demonstration System

If you would like to give the TSX-32 operating system a try, you can download the TSX-Lite shareware, demonstration version. TSX-Lite is restricted to running a maximum of 2 simultaneous users and it has no networking capability, but it does provide the TSX commands, multi-sessions, batch jobs, printer queues, etc.

The TSX-Lite files are named TSXnnnA.ZIP, TSXnnnB.ZIP, TSXnnnC.ZIP, and TSXnnnD.zip, where 'nnn' is the current version number.



Hardware/Software Required

TSX-32 will operate on any IBM PC compatible computer with an ISA, EISA or MCA bus, an Intel i386, i486, Pentium, P6, or compatible processor, and 8Mb of memory. A least 20Mb of disk capacity is required. both IDE and selected SCSI interfaces and compatible peripherals are supported. SCSI CD ROM's and backup tapes are also supported. Serial communications are supported through standard COM ports and popular serial multiplexers. TSX-32 does not support disk compression schemes such as DoubleSpace and Stacker.



TSX-32 for Today and Tomorrow

With its DOS compatibility and 16-bit program support, TSX-32 is a system you can install today and use immediately without retraining or even reformatting your disk. But, at the same time, it provides the power and growth path that you will need in the future. With full 32-bit program support, DPMI, virtual memory, disk shadowing, and TCP/IP networking, TSX-32 is a system that you will not outgrow. And TSX-32 is not just a promise for tomorrow, it is a real system, in use at thousands of sites, that you can install and run today.



System Reliability Features

TSX-32 is designed to be a rock solid system that requires minimal system management or intervention. However, should you encounter a system problem we have built extensive diagnostic facilities into TSX-32 that allow us to rapidly diagnose and correct problems. Event and error logs record warning information about problems that may be developing. The TSX-32 "crash facility will take a "snapshot" of the TSX-32 kernel and data areas. This information can be written to diskettes for later in-depth analysis. A PATCH facility is provided with TSX-32 to allow corrections to be applied to the kernel or utility programs. A "spy" facility allows the system manager to monitor and log characters transmitted and received on any line. It also dynamically displays the status of modem control signals. This provides a "data scope" that is extremely useful for diagnosing serial line communication problems.



TSX-32 Utilities

TSX-32 comes with a complete suite of utility programs for managing the system and performing operations such as backing up files, sorting, comparing files, searching for strings in files, dumping binary files, and monitoring job and system activities. Many of these programs provide convenient, full-screen "point and shoot" type operations that are sure to boost your productivity. TSX-32 provides the traditional DIR command, but it also provides the more convenient FMAN program that gives a full screen display of files. By selecting files and pressing a few action keys you can copy, delete, rename, edit and perform other file management operations. TSX-32 simplifies the backup and recovery of important data and program files. The TSX-32 BACKUP and RESTORE programs provide extensive options for selecting files by device, directory, name, and date/time. Backup save sets contain internal CRC checksums and redundancy blocks to allow the full recovery of data even if some portions of the save set are damaged or unreadable. The TSX-32 SEARCH command searches for strings of characters, or general string expressions, in groups of files. SEARCH is extremely fast and can search through selected directory trees or all files on a disk. TSX-32 SORT is capable of efficiently sorting enormous disk files. Comparable in speed and capacity to mainframe sort programs, TSX-32 SORT can handle files as large as your available disk space and allows specification to multiple keys of both binary and text string types. SORT also includes full logical expressions for selecting records to be included in the sort so it can be used to extract data from a database as well as sorting it.



User Defined Commands

You can easily define commands to run programs, invoke command files or perform other functions. Because user commands are checked before system commands, you can define a command to perform a different operation than the standard system command. Users can define local or system-wide symbols and logical device name assignments. The MACRO and DEFINE KEY commands allows you to designate a terminal key to execute a system command or command file. At the touch of a key you can run programs or carry out complex operations. Keys can also be redefined to support foreign language or other alternate keyboards. Extended Wildcard Operations TSX-32 extends the "wildcard" file matching operation to include searches through directory trees. For example, the following command lists a directory of all files on the C disk in the PHIL directory and all directories under it: "DIR C:\PHIL\...\*.*". Because this feature is built into the operating system, it works with all TSX-32 utilities such as directory, file searching, file deletion, copying, backup, etc.



Usage Accounting

If enabled, an entry is made in the system accounting file for each job session recording statistics such as CPU time, connect time, page faults, and I/O operations.



Online HELP

TSX-32 includes an on-line, screen-oriented HELP facility that explains each system command and option. In addition, most of the TSX-32 utility programs include an integrated, context-sensitive help facility that can be invoked by pressing one key.



TUTOR Facility

Application developers and VAR's will be pleased by the remote support and diagnosis capabilities of the TUTOR command. TUTOR allows a user to "copilot" another terminal. This synchronizes the two screens and keyboards so that you can see what the other user is typing and enter commands at the same time. This makes it easy to guide customers through an application or bail users out of tight spots. Any time sharing-line can tutor any other line (if authorized by the system manager). You can even dial into a remote system and tutor the console or any other terminal. Multiple tutor connections can be established to allow you to conduct a class with all student screens synchronized to the teacher.



Terminal Logging

When a user enables terminal logging, all input received from the controlling terminal or a command file, and all output written to the terminal, is copied to a log file.



Terminal Input Editor

The TSX-32 Terminal Input Editor allows you to recall, edit and reexecute previously entered command lines.



Terminal Printers

Printers attached to the auxiliary printer ports of supported serial terminals may be used system wide, that is by all users on the local system and the TSX-Net network. The terminal may be used without interruption while the printer is active. Terminal printers are also supported on TSX-Term workstations.



Terminal Support

TSX-32 supports connections from a wide variety of terminal types including multi-console adapters, serial ANSI and PC-Term terminals, and computers running terminal emulator programs. PC-Term type terminals such as the Wyse and Relisys are a popular choice for serial line connections because they provide a PC compatible keyboard, 25 line display, and local printers. Another way to connect to TSX-32 is by using a terminal emulator program such as TSX-Term (see separate description) to turn an inexpensive PC into a terminal. This approach allows you to make productive use of older computers (including 8088 systems) that you may have considered obsolete. ANSI terminals such as DEC VT-100, 220, 320, 420 and compatible terminals can be used to run DOS programs on TSX-32 because TSX provides function key mapping and also does screen shifting to allow 25 line application screens to be displayed on 24 line terminals. Serial terminals can be connected through COM ports and several brands of serial multiplexers that support literally hundreds of communication ports.



System Monitor Facility

The SYSMON program displays dynamic information about system usage, executing jobs, and data caching.



System Generation

TSX-32's system generation program builds information tables that are used during bootstrap. System generation does not require any reassembly or relinking and can usually be accomplished in a matter of seconds.



Shared Program Images

When two or more users are executing the same 32-bit program, TSX-32 keeps in physical memory only one copy of the program which is shared by all users. This saves a significant amount of physical memory when many users are executing the same program.



Shared File Record Locking

TSX-32 coordinates file access so that multiple users can read and write the same or different files concurrently. This makes TSX-32 a natural and efficient system for applications such as pharmacies, video stores, and other situations where multiple terminals are used to access a common database. File open control allows an application to specify whether the file is being opened for read-only or read-write access. The application can specify whether other applications can access the file in read-only or read-write mode. Record locking allows you to reserve a range of bytes within a file for exclusive access. The locking service blocks other readers, writers, or both. Programs may test for locked records, wait for locked records, or queue completion routines to be executed when a record becomes available. Both native 32-bit and DOS-compatible 16-bit record locking services are provided. If the "tentative file" facility is engaged, TSX-32 will create tentative files with temporary names that do not replace existing files until the tentative file is closed and all users accessing the permanent file close the file.



Printer Spooling & Queueing

TSX-32 provides a comprehensive spooling system for managing even the most demanding configuration with many spooled devices. Spooler requests can be assigned priorities and scheduled for processing at later times. A print request may specify an associated "form" which determines printer stock, page margins and associated setup and reset files which are printed automatically whenever the job starts and finishes. Flag and trailer pages with block letters identifying the user, job, and file name may be selected. Simple commands allow you to move a single job or all jobs from one queue to another, or change the priority, scheduling parameters, and form names. A full screen queue management program makes it easy to monitor and control your spooling system. It provides a dynamic display of the jobs in print and batch queues and gives you options for defining forms, deleting and requeueing jobs, and creating print and batch queues. Spooled printers may attached via parallel or serial lines and may share a serial line with terminals with auxiliary printer ports (refer to "Terminal Printers").



Inter-Process Communication

A "mailbox" is a software facility which transfers data between running programs. Mailboxes can be created with storage space to hold messages to be picked up later by another program. Mailboxes can also be used as "pipes" to transfer data directly between running programs.



General Facility Locking

Cooperating programs may define facilities which are single named entities or hierarchically grouped sets of entities. Programs can synchronize their execution by locking facilities.



EDIT-32 Editor

EDIT-32 is a powerful screen-oriented text editor which offers "Gold Key" style editing commands familiar to users of EDT, KED and EVE. DOS users may define EDIT-32's function keys to perform many familiar DOS-style operations. EDIT-32's advanced features include multi-file editing with windowing, a powerful command language with numeric manipulation and conditional execution, "Teach" capability, and regular expression pattern searching. EDIT-32 is also available under PC/MS-DOS, Windows, and VAX/VMS.



Process Control

TSX-32 provides several ways that one process can initiate, control, and communicate with other processes. For example, one program can start a "detached" process, that is not connected to any terminal, to perform some computing. It can communicate with other processes by use of "mailboxes," signals and other mechanisms. In addition, the "fork" service allows one process to initiate concurrent, parallel processing of another copy of its program image.



Command Files

TSX-32 command files are similar to DOS batch files, but much more powerful. TSX-32 command file execution can be controlled by a programming language complete with expressions including strings, numbers, symbols, arithmetic operators, string operators, relational operators, and lexical functions. This makes it easy to write "intelligent" command procedures that carry out routine operations. Command procedures can be executed either interactively or as batch jobs.



Batch Jobs

Users can submit jobs to a batch queue which holds the request until a specified time or until previously submitted batch jobs complete. The batch system features multiple queues, priorities, scheduling times, log files, and requeueing. Do you have an application you want to run at midnight? No problem, just submit it as a batch job using the "/AFTER=TOMORROW" qualifier to specify when it should start executing.



Dial-in Line Support

TSX-32 supports both hardwired and dial-in terminal connections. Based on system security settings, dial-in lines potentially have full access to all of the commands and programs available to local, hardwired users. This means that you can dial in from home and run your favorite word processor or spread sheet. It also greatly facilitates support of remote sites. And dial-in support is a standard, integrated part of TSX-32 so you do not need to buy any third-party products. With its dial-in support, TSX-32 is a little like a multi-node bulletin board except that with TSX-32 each user can run any set of commands and programs rather than being limited to a specific set of programs (or "doors") that are controlled by the bulletin board. Any of the COM or serial multiplexer ports can be connected to modems making it possible to construct TSX-32 systems with hundreds of dial-in lines. In a networked system, you can dial in and log onto any system on the network.



Task Isolation

TSX-32 executes each task using the "protected mode" of the processor which provides hardware control over the areas of memory that the program can access and restricts some privileged instructions. This protects the operating system and other users from inadvertent or intentional harm by another program and greatly reduces the occurrences of system "hangs" or "crashes."



System Security

TSX-32 includes many security features normally found only on mainframe and super-mini computer systems. The security system is very flexible and may be disabled entirely or enabled on a feature-by-feature basis. The LOGON program requires entry of a valid user name and password and then sets user specific privileges and priorities. Each account may be granted any combination of the 31 job privileges. In addition, limits can be set for the maximum authorized job priority and the maximum memory space that may be used. Expiration limits can be set for accounts. Access to the system for each account can be limited to hardwired, dial-in, network, or batch modes. Thus, dial-in access to highly privileged accounts can be restricted even if the proper password is known by the accessor. Logon access control can be enabled on a line-by-line basis. An optional "system password" can be used to require entry of an additional password before any system identification is displayed. This is useful to avoid revealing information about a system to hackers who may be performing random calling. The system manager may "install" programs so that privileges are temporarily granted or denied while the program is running. Programs also can be "locked" to an account so that the user may execute no other program. A flexible file access control system can be used to limit the type of access that each user may have to files on a file-by-file, directory, or disk basis. For each disk, directory, or file, individual users or groups of users may be granted full access, read-only access, or execute-only access. An event log may be enabled to audit attempted security violations. The security log will keep track of all failed logon attempts and attempts to access files for which the user was not authorized. An additional file event log can be activated to silently record all accesses to selected files.



API

TSX-32 system services are provided through four application program interfaces ("API's"). These API's are a standard part of the TSX-32 kernel, not layered emulators, thus execution is very efficient. None reduce memory address space nor do they add system overhead. Single and multiple users can multi-task any combination of programs using a variety of these API's without conflict. The 32-bit Native API offers an extensive set of system services (more than 200) and facilitates the migration of sophisticated software to 386/486 platforms. Complete libraries of system service interface routines are provided for C and FORTRAN programs. The 32-bit Extended DOS API provides system services which are compatible with the popular Phar Lap 386|DOS-Extender. This allows TSX-32 to directly execute the high performance 32-bit applications and compilers developed for the 386|DOS-Extender. The 16-bit DOS API provides system services which are compatible with DOS and the BIOS. This allows TSX-32 to directly execute DOS applications and languages without conversion or adaptation. In addition, a library of system service interface routines is provided so 16bit C programs can use the full set of "native" 32-bit TSX-32 services. The DOS Protected Mode Interface, DPMI API, provides the services needed by 16- and 32-bit DOS programs that wish to run in protected mode. The TSX-32 DPMI API includes the extensions for DOS system services provided by the Microsoft Windows DPMI. Real-time Services TSX-32 is capable of running multiple real-time tasks at the same time as time-sharing and batch operations. TSX-32 provides system services to allow real-time programs to connect to external interrupts, access I/O control ports, share data through global memory regions, and perform clock-driven operations. To facilitate the development of programs that require event-driven operation, asynchronous "completion routines" (AST's) are provided for many system services. For time-critical applications, real-time programs can execute at priorities that take precedence over normal time-sharing jobs.



Memory Management

TSX-32 uses the "protected" mode of 386 and 486 processors to give each running application its own memory space which no other application may access. If an application attempts to access areas of memory that are outside of its allowed region TSX-32 takes corrective action such as stopping the application or invoking a debugging program. Protected mode allows the use of 32-bit addresses. TSX-32 supports both the Phar Lap and DPMI "flat" and segmented memory models which do away with the DOS 640 KB memory limit and allow direct access to enormous memory areas. When running 16-bit DOS programs, TSX-32 provides each application with a consistent virtual address space of 640 Kb + EMS and XMS, no matter how many other users or tasks are running. Physical memory is used efficiently by the operating system with only the active portions of running programs residing in memory. Typically, less than 500 Kb of physical memory need be configured for each DOS user task. TSX-32's virtual memory with demand paging allows programs to access large amounts of memory, potentially more than the physical memory installed on your computer. The system automatically keeps in memory the active parts of large programs. In order to balance the demand for memory by multiple users, TSX-32 monitors the memory requirements of each task and automatically and dynamically adjusts the amount of physical memory available to each job. For advanced applications, TSX-32 provides shared memory regions which allow multiple programs to access a common memory area such that the same data is available to all of the cooperating programs. This is especially useful for advanced real-time systems.



Disk Shadowing

The disk shadowing option for TSX-32 causes changes made to selected files on one disk to be "shadowed" (or "mirrored") to another disk either on the same computer or another computer connected through the network. Thus, the primary and shadow files always contain the same information. Shadowing can be enabled for entire disks, directories, or individual files. The shadowing option makes it easy to set up fault-tolerant systems that can recover quickly without losing data even if one disk or computer goes down.



Data and Directory Caching

TSX-32 performs extensive caching of data and directory entries to optimize I/O to disk files. The data cache stores blocks of frequently accessed information in memory. Disk read operations are eliminated when the desired data or directory entries are in the cache. Using the "automatic read ahead" technique, TSX-32 anticipates which data will be required next by the program and reads it into the cache while the program processes the previous data. TSX-32 offers both the "write through" (also called "synchronous write") and "deferred write" data caching techniques.



Overlapped I/O

TSX-32 does not use the DOS BIOS, rather it has its own set of 32-bit I/O management routines and device drivers. This allows TSX-32 to execute one job while another is waiting for an I/O operation to complete. TSX-32 also provides "no wait" I/O operations that allow a program to initiate an I/O operation and then continue its execution while the I/O takes place. Asynchronous "completion routines" (also called AST's or Signals) can be used to notify the task when the operation completes. TSX-32 supports multi-threaded SCSI disk operations and performs "elevator" seek optimization as well as anticipatory read-ahead operations.



File Management and Compatability

The TSX-32 file system has a hierarchical directory structure that is DOS compatible. Because of this compatibility you can run TSX part of the time and DOS at other times on the same computer, and you do not have to divide, partition, or reformat your disk. In addition to supporting the standard DOS "FAT" file structure, TSX-32 constructs internal File Window Blocks which greatly increase the speed of accessing indexed and random files. The file window blocks hold in a more efficient form information about where the segments for a file are stored on disk. Using the window blocks TSX-32 can avoid the lengthy search of the FAT blocks required by other systems. File information is cached so subsequent opens of the same file can be executed without performing any I/O. TSX-32 does a much better job of disk space allocation than DOS. Rather than allocating blocks in a random fashion, TSX-32 attempts to extend files in a contiguous fashion. This results in far less disk fragmentation and faster file access. Disk compression schemes such as DoubleSpace and Stacker are not supported under TSX-32.



32-Bit Power

TSX-32 is not a limited, 16-bit, multi-DOS add-on; rather, it is a complete operating system designed from day one to fully utilize modern 32-bit processors. TSX-32 provides the industry standard DPMI multi-megabyte memory model that will be used by advanced applications of the future, and it does it today. For application developers, 32-bit compilers for C, Fortran, Pascal, Cobol, Dibol (DBL) and other major languages are available today.



DOS Compatibility

Although TSX-32 is designed from the ground up to be a 32-bit operating system, it also has integral support for most 16-bit DOS applications. This means that you are ready for the 32-bit future but can continue to use the 16-bit applications that predominate today. Your software investment is protected. TSX-32 offers two levels of DOS compatibility. In the standard mode, users execute either native 32-bit or 16-bit DOS programs from the TSX32 enhanced command processor. In the DOS mode, users are actually using the DOS command processor (COMMAND.COM) and utilities. Terminate and Stay Resident (TSR) programs can be run in a DOS mode session. TSX-32 supports nearly all of the DOS commands so you can install TSX-32 at a DOS site with virtually no retraining and without changing your working style. Since DOS compatibility is an integral part of TSX-32 you don't have to buy any add-on emulator product or suffer the overhead of a layered product.



Adaptive Scheduling Algorithm

If there is a key factor that determines how well a multi-user operating system works it is the job scheduler, and TSX-32 has the best scheduler there is. The patented Adaptive Scheduling Algorithm (#4,642,756) provides excellent system response to interactive users while handling real-time jobs and filling idle time with low priority tasks. Rather than using a simple "round robin" scheduling technique, TSX-32 uses an adaptive approach that takes many factors into consideration in deciding how to allocate the CPU to the set of jobs. For example, while one job is waiting for some operation to complete (for example, a disk read) the scheduler immediately switches the CPU to other tasks that are ready to run. When an I/O operation completes the scheduler gives the job a brief priority boost to allow it to immediately start another operation. Interactive jobs are scheduled according to a flexible algorithm based on their activity. Events which influence job scheduling include terminal input and output, I/O completion, and duration of execution. Real-time and batch programs can be assigned fixed priorities above or below the normal interactive priority. One of the most appreciated aspects of the Adaptive Scheduling Algorithm is its ability to adjust automatically to changing system loads without requiring intervention by a system manager.



Multi-Sessions / Multi-Tasking

Do you ever start a computing task such as printing a document from a word processor or recomputing a spreadsheet and then have to wait for the computer? If you do you will appreciate TSX-32's multisessions ability which will let you proceed on with one task while another is busy computing. With the TSX-32 multi-sessions facility it is easy for each user to concurrently control many applications from the same terminal. At the touch of a key the TSX-32 "session manager" displays a list of your current sessions. Touch another key to select a session and your screen is instantly updated with the appropriate display. It is just as easy to start and terminate sessions. Sessions that are not connected to the terminal can execute as background tasks while you interact with other sessions. By typing a control character, you can print the contents of the current terminal display on any system printer. Multiple sessions can be used immediately with any application because no program modification is necessary.



Adjustable System Size

TSX-32 can be configured for a wide range of system sizes and needs. From single user real-time applications, through small systems supporting a few lines, all the way up to large systems with more than 100 terminals, TSX-32 can handle the job. This means that you can start out with an inexpensive limiteduser version but expand smoothly as the need grows, and you do not even need to install new software to increase system limits or enable optional features. With TSX-32 you don't pay for capacity that you don't need but you have a smooth growth path ready when you need it. TSX-32 can run with a limited number of users on 386 systems with as little as 8 MB of memory. But when you are ready to grow it will take full advantage of today's Pentium and P6 systems



The Multi-User Solution

TSX-32 is a multi-user, multi-tasking operating system. This means that many users can access the system at the same time, and each user can have concurrent control over many applications. A multi-user operating system is a little like a computer network such as Novell or Lantastic: many users can run a variety of programs at the same time and they can access common data files. However, a network requires each user to have a separate computer, and usually there has to be a dedicated file server. In contrast, a multi-user system allows many users to run programs and access common files on the same computer. Each user's workstation is an inexpensive serial terminal or low-end computer with terminal emulation software. All of the application computing takes place on the central system. The multi-user approach has many advantages. First, it is less expensive since you do not have to buy a separate computer for each user. Second, it is more efficient since files can be accessed directly without having to transfer data through the network. Third, management and upkeep of a single computer are much easier than with a network. Fourth, TSX-32 supports multiple dial-in lines on the central computer without requiring a dedicated communications server. The TSX-32 system is actually both a multi-user and a networking system. The basic system is inherently multi-user and is capable of running many users on a single computer. The TSX-Net option provides industry-standard TCP/IP network support so multiple TSX-32 systems can be linked together via Ethernet or serial connections. TSX-32 systems can also be interconnected with Unix/Xenix, Macintosh, Novell, and VAX networks.