System Support Program

Last updated
System Support Program (SSP)
System-36-ssp-main-menu.png
Main Menu of SSP 7.5, shown inside a TN5250 client
Developer IBM
Working stateDiscontinued
Initial release1977;47 years ago (1977)
Platforms System/34 and System/36 minicomputer
Default
user interface
Command-line interface
License Proprietary
Preceded by System/32 System Control Program (SCP)
Succeeded by OS/400

System Support Program (SSP) was the operating system of the IBM System/34 and System/36 minicomputers. SSP was a command-based operating system released in 1977. [1]

Contents

History

SSP originally contained 60 or so commands that were implemented on the System/34 from 1977 to 1983 in different versions called releases. Release 1 was issued with the original S/34 in 1977. Release 9 was issued in 1981. In 1983, IBM repackaged SSP on a new computer called the IBM System/36, which was not object-code compatible with the S/34. In 1994, IBM repackaged SSP on an updated model of the S/36 called the Advanced/36. The A/36 was an IBM AS/400 which had the SSP implemented as a "virtual machine".

Major releases of SSP include:

Limitations on S/36 and A/36 and M/36 operating system: The maximum amount of disk space that a system could utilize was 4 gb (per occurrence of the operating system, so a machine running two M36 "partitions" could have 4 gb in each. Another limitation was the program size, could not exceed 64KB. If you had a program that was larger than that, you had to become creative in the later years when call/parm came into place, as you would move code into a called program, because if the base program was 63kb for example, you could easily call a 20kb called program. You also could not have more than around 8,000+ files on the machine. There were also restrictions on the number of files you could bring into a program (again, you could get around by putting files in called programs and passing the result back in. The maximum number of records you could initially load was about 8 million and the maximum a file could hold was about 16 million. None of these limitations exist in S36EE (there are a few maximum numbers of files in a program, but much larger than in native SSP).

Functions and components

Using SSP, the operator can create, delete, and manage S/34-36 objects such as libraries, data files, menus, procedures, source members, and security files.

SSP contains modules such as DFU, SEU, SDA, and WSU that permit operators to build libraries and files, enter information into those files, produce simple reports, and maintain a menu structure that simplifies access to the information. The Advanced/36 does not support WSU. Password and resource security are also implemented through SSP, as are remote communications, which today is similar to dial-up networking.

SSP is a disk-based operating system. Computer programs can be run from the fixed disk, but not from diskette or tape. The complement of a System/34 5340, or System/36 5360/5362 is a fixed disk array of one to four fixed disks, at least one computer terminal, and an 8" diskette drive, optionally fitted with two magazine units that can contain 10 diskettes each and three diskette slots. A S/36 5363/5364 has a 5-1/4" diskette drive. S/36 computers can be configured with an 8809 reel-to-reel tape drive (800/1600 bpi) or a 6157 1/4" cartridge (QIC) tape drive. A/36 computers have a high-density QIC drive but the 5.25" or 8" diskette drive (single) was optional as was a 9348-001 9 track (reel to reel) 1600/6250 bpi tape drive.

System utility programs

SSP procedures utilize utility programs, which can in some cases be more useful to the computer programmer than the SSP procedures themselves. $MAINT is the library utility, used in ALOCLIBR, BLDLIBR, FROMLIBR, LIBRLIBR, REMOVE, CONDENSE, LISTLIBR, and TOLIBR. $COPY is the file utility used in SAVE, RESTORE, COPYDATA, and LISTDATA. There are many other utilities, including $FBLD, $LABEL, $DUPRD, $INIT, $DELET, $HIST, $CNFIG, #GSORT, $PACK, and $PROF, which are more flexible at the program level than associated SSP procedures can be.

Configuring using CNFIGSSP

The CNFIGSSP procedure was used to configure the system, including the devices. Each device is assigned a two-character ID. The first letter must be alphabetic; the second must be alphameric. The system also reserved certain IDs; the device can't be called I1 or F1, for example. I1 is the name of the diskette drive; F1 is what the system calls the hard drive (stands for "fixed disk," since it is not a removable disk pack.)

To apply CNFIGSSP, the system must be dedicated (no other users logged on or programs running). The system must be IP Led (rebooted.) When IPL finished, the new devices would appear on the status display.

SDA - Screen Design Aid

SDA allows the operator to build screen formats or menus. Command keys can be enabled/disabled. Input fields, output fields, and constants can be created and conditioned. Conditions (in RPG these are called indicators) can cause fields to disappear or change colours.

SEU - Source Entry Utility

SEU is a text editor which allows data entry on a line-by-line basis. Special forms are used to assist the operator in keying RPG programs or other types of form-based languages (WSU, Sort, SDA, etc.)

SORT - The system Sort utility

SORT has one to eight input files, which may be of any valid record length. It has one output file, of any stated length, which may contain from zero to 8 million-plus records.

A sort can contain entire records or just 3-byte addresses which point to records in an associated file. This was called an address-out file or ADDROUT. When using an Add rout, the program read in these 3-byte addresses and then fetched associated records from the master file.

WSU - Work Station Utility

This was an RPG-like language that ran on SSP. It was focused on data entry type programs. WSU was free, but it wasn't particularly well-received because it was so limited.

DFU - Data File Utility

It is an IBM-supplied no-charge item which is used to view and change field values in individual records.

DFU can be used

Programming

Operational Control Language (OCL)

High-level language programs require OCL to be activated. OCL is used to load programs into the system's memory and start them (a process called execution) and assign resources such as disk files, printers, message members, memory, and disk space to those programs. Other abilities, such as displaying text on the screen, pause messages, and so forth, make OCL more powerful.

RPG II

RPG II was modified from the System/3 days to allow access to the "WORKSTN file" to allow a punched card-based language to interact with a person sitting at a keyboard and monitor. A WORKSTN file was an output file (it wrote to the monitor) and also an input file (because it accepted the user's keyboard input). Thus, it was labelled a combined-primary file or a combined-demand file.

Command keys became RPG indicators KA-KY, and different on-screen forms were recognized by different invisible control characters hidden in the forms themselves. Since the user had to display a form on the screen in order to type, RPG II provided a way for a program to write output before accepting input. Many successful programmers moved from using the combined-primary WORKSTN file to using a combined-demand file, which had operation codes to read and write the display. There was even a way to code for multiple WORKSTNs; several people could sign on to the same copy of the same program in memory. The largest program size was 64k.

Program attributes - MRTs, SRTs, NRTs and NEPs

MRT = Multiple Requestor Terminal program. SSP could attach up to 7 terminals to a program at once. Any operator could start the program at their terminal, then other operators' terminals would be attached when they selected the same program. The maximum number of terminals to be serviced was controllable by the programmer.

SRT = Single Requestor Terminal program. Not an MRT.

NRT = No Requestor Terminal program. Started at a terminal, the NRT releases the requesting terminal and continues. This is similar to an MS-DOS TSR (Terminate and Stay Resident) program. By definition, any program that was evoked or submitted to the JOBQ was an NRT.

NEP = Never Ending Program. This was typically an interactive MRT program that would wait after all terminals disconnected until some terminal reconnected, avoiding initiation overhead. This was commonly used to allow large programs to be implemented as a chain of small programs that would pass the terminals from one to another while remaining ready to continue processing for other terminals and/or subsequent transactions. NRT programs could also be NEPs if written to loop and wait for some condition indicating there was work to be done. NEP programs normally did not end until system shutdown, unless written to recognize some special terminate condition.

Object code formats

Cobol, Fortran, and RPG generated object code (type O). Basic was interpreted only; a compilation utility called BASICS created subroutine code (type R). Basic programs could be saved as sources for compatibility with other computers, but the project's text was preserved in the subroutine (unless the programmer used the LOCK parameter to keep it private.)

Procedures, which use OCL to start programs and assign resources to them, are type P.

Source members for all objects are type S, with the exception of Basic as above specified.

DFU programs generated subroutine (R) code. So did WSU programs.

Screen formats generated object code.

Menus generated object code. A menu is simply a very specific screen format with a companion message member suffixed with two-pound signs ("##") to contain the action to be taken when the associated number was chosen.

System security

There are four types of security on an SSP system:

Badge security is implemented using a stripe reader device attached to a 5250-series terminal. In order to log on, the user not only typed the user/password information but also swiped the badge through the reader.

SECEDIT

The SECEDIT procedure was used to work with User IDs and passwords. The user profile contains a 1-to-8-character alphanumeric User ID, a 4-character alphanumeric password, a code for the user's security rating – M (Master Security Officer), S (Security Officer), O (System Operator), C (Subconsole Operator), or D (Display Station Operator) – and a number of other default settings.

The SECEDIT RESOURCE procedure was used to establish security ratings for file, library, folder, and group objects. Access levels of O (Owner), C (Change), U (Update), R (Read), E (Execute) or N (None) could be granted for a user to a particular resource. A group object was a sort of holding company that owned one or more lower objects. For example, granting access to the group ACCOUNTG made it easier to establish access to all of the accounting files. Group objects could also reference group files; the group UB referenced UB.OLD, UB.NEW, UB.01, or any filename with the embedded period.

SECEDIT USERID was also used to confine a user's operational authority to a specific menu. By entering a Y for Mandatory Menu and specifying a default sign-on menu, the security officer could prevent the user from any program access not found on that sign-on menu. A user so confined could only run menu options, send messages, and sign off the system.

Other procedures

The PROF ("Profile") procedure was used to work with User IDs and passwords. The user profile contains a 1-to-8-character alphanumeric User ID, a 4-character alphanumeric password, a code for the user's security rating—M (Master Security Officer), S (Security Officer), O (System Operator), C (Sub Console Operator), or D (Display Station Operator) -- and a number of other default settings.

The PRSRCID ("Profile Resource Security by User ID") procedure was used to establish security ratings for file and library objects. Access levels of O (Owner), G (Change), R (Read), E (Execute) or N (None) could be granted for a user to a particular resource.

The printed disk catalogue (VTOC, Volume Table of Contents) displayed all secured objects with the notation 3 as being secured.

Files, libraries, and folders

SSP provides for two different data objects called files and libraries. Files contain records, almost always with a fixed record length. Libraries contain programs which can reference and access these files. SSP contained more than 80 different commands that allowed operators to create, delete, copy, edit/change, and secure files and libraries.

A library or a file must exist in a contiguous organization on one fixed disk (however, a library may contain one "extent" of roughly 50 blocks which must be reorganized, and it cannot be extended if allocated to other users). A file may be organized with an EXTEND value or it may be allocated with FILE OCL to automatically extend. All record adds/updates/deletes wait while the file is being extended. It is good sense policy to create extend values large enough to minimize the frequency of extends. Libraries could have "extents" that were not contiguous. At times, when compiling a program, an extent would be created and by doing a "CONDENSE", it was removed if there was enough room in the main allocation for it. Otherwise, one did an ALOCLIBR to reallocate the library to a bigger size.

Files on the S/36 may be Sequential (S), Direct (D), or Indexed (I). An indexed file can have multiple alternate indexes (X), and in fact, a sequential file may have alternate indexes placed on it so there is no primary index. An indexed file contains a key, which must be contiguous and may be up to 60 characters long; however, alternate indexes may have three-part keys which are not contiguous with one another. Duplicate keys in indexed or alternate index files may be allowed or disallowed. A file with direct organization is built with all records added and cannot auto-extend. A file with sequential or indexed organization is built with no records added. An alternate index always has as many records as its parent, as opposed to a System/38-style logical file which is built with conditions to filter records from the parent.

In 1986, support for Distributed Data Management Architecture (DDM) was added to SSP. This enabled System/36 programs to create, manage, and access record-oriented files on remote System/36, System/38, and IBM mainframe systems running CICS. It also enabled programs on remote System/36 and System/38 computers to create, access, and manage files on a System/36. The initial record-oriented file models defined by DDM were based on the System/36 file system.

The System/3 (1969) ran a disk-based batch operating system called the System Control Program (SCP) (5702-SC1). IBM later introduced an online program for the System/3 named the Communications Control Program (CCP) which was started as a batch program. The IBM System/32 (1975) ran a disk-based operating system also called the System Control Program. The IBM System/38 (1978) ran an operating system named the Control Program Facility (CPF) that was much more advanced than SSP and not particularly similar.

Sources

Related Research Articles

<span class="mw-page-title-main">CP/M</span> Discontinued family of computer operating systems

CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc. CP/M is a disk operating system and its purpose is to organize files on a magnetic storage medium, and to load and run programs stored on a disk. Initially confined to single-tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations and were migrated to 16-bit processors.

<span class="mw-page-title-main">IBM i</span> Operating system

IBM i is an operating system developed by IBM for IBM Power Systems. It was originally released in 1988 as OS/400, as the sole operating system of the IBM AS/400 line of systems. It was renamed to i5/OS in 2004, before being renamed a second time to IBM i in 2008. It is an evolution of the System/38 CPF operating system, with compatibility layers for System/36 SSP and AIX applications. It inherits a number of distinctive features from the System/38 platform, including the Machine Interface, the implementation of object-based addressing on top of a single-level store, and the tight integration of a relational database into the operating system.

<span class="mw-page-title-main">IBM System/34</span> IBM midrange computer (1977–1985)

The IBM System/34 was an IBM midrange computer introduced in 1977. It was withdrawn from marketing in February 1985. It was a multi-user, multi-tasking successor to the single-user System/32. It included two processors, one based on the System/32 and the second based on the System/3. Like the System/32 and the System/3, the System/34 was primarily programmed in the RPG II language.

<span class="mw-page-title-main">IBM System/36</span> IBM midrange computer (1983–2000)

The IBM System/36 was a midrange computer marketed by IBM from 1983 to 2000 - a multi-user, multi-tasking successor to the System/34.

<span class="mw-page-title-main">IBM System/38</span> IBM midrange computer (1978–1988)

The System/38 is a discontinued minicomputer and midrange computer manufactured and sold by IBM. The system was announced in 1978. The System/38 has 48-bit addressing, which was unique for the time, and a novel integrated database system. It was oriented toward a multi-user system environment. At the time, the typical system handled from a dozen to several dozen terminals. Although the System/38 failed to displace the systems it was intended to replace, its architecture served as the basis of the much more successful IBM AS/400.

Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem. The purpose of JCL is to say which programs to run, using which files or devices for input or output, and at times to also indicate under what conditions to skip a step. Parameters in the JCL can also provide accounting information for tracking the resources used by a job as well as which machine the job should run on.

<span class="mw-page-title-main">TRSDOS</span> Operating system for Tandy TRS-80 computers

TRSDOS is the operating system for the Tandy TRS-80 line of eight-bit Zilog Z80 microcomputers that were sold through Radio Shack from 1977 through 1991. Tandy's manuals recommended that it be pronounced triss-doss. TRSDOS should not be confused with Tandy DOS, a version of MS-DOS licensed from Microsoft for Tandy's x86 line of personal computers (PCs).

<span class="mw-page-title-main">IBM System/32</span> IBM midrange computer (1975–1984)

The IBM System/32 introduced in January 1975 was a midrange computer with built-in display screen, disk drives, printer, and database report software. It was used primarily by small to midsize businesses for accounting applications. RPG II was the primary programming language for the machine.

RPG is a high-level programming language for business applications, introduced in 1959 for the IBM 1401. It is most well known as the primary programming language of IBM's midrange computer product line, including the IBM i operating system. RPG has traditionally featured a number of distinctive concepts, such as the program cycle, and the column-oriented syntax. The most recent version is RPG IV, which includes a number of modernization features, including free-form syntax.

<span class="mw-page-title-main">IBM System/3</span> IBM midrange computer (1969–1985)

The IBM System/3 was an IBM midrange computer introduced in 1969, and marketed until 1985. It was produced by IBM Rochester in Minnesota as a low-end business computer aimed at smaller organizations that still used IBM 1400 series computers or unit record equipment. The first member of what IBM refers to as their "midrange" line, it also introduced the RPG II programming language. It is the first ancestor in the product line whose current version is the IBM i series and includes the highly successful AS/400.

The MCP is the operating system of the Burroughs B5000/B5500/B5700 and the B6500 and successors, including the Unisys Clearpath/MCP systems.

MBASIC is the Microsoft BASIC implementation of BASIC for the CP/M operating system. MBASIC is a descendant of the original Altair BASIC interpreters that were among Microsoft's first products. MBASIC was one of the two versions of BASIC bundled with the Osborne 1 computer. The name "MBASIC" is derived from the disk file name MBASIC.COM of the BASIC interpreter.

<span class="mw-page-title-main">IBM Displaywriter System</span> 1980 office desktop computer

The IBM 6580 Displaywriter System is a 16-bit microcomputer that was marketed and sold by IBM's Office Products Division primarily as a word processor. Announced on June 17, 1980 and effectively withdrawn from marketing on July 2, 1986, the system was sold with a 5 MHz Intel 8086, 128 KB to 448 KB of RAM, a swivel-mounted monochrome CRT monitor, a detached keyboard, a detached 8" floppy disk drive enclosure with one or two drives, and a detached daisy wheel printer, or Selectric typewriter printer. The primary operating system for the Displaywriter is IBM's internally developed word processing software titled "Textpack", but UCSD p-System, CP/M-86, and MS-DOS were also offered by IBM, Digital Research, and CompuSystems, respectively.

<span class="mw-page-title-main">IBM Advanced/36</span> Midrange computer

The Advanced/36 was an IBM midrange computer based on an adapted IBM AS/400 hardware and System/36 software. It was marketed from October 1994 to 2000.

Programmer and Operator Productivity Aid (POP) is an application package written originally for the IBM System/34, which became much more popular and functional on the IBM System/36 and universal on the Advanced/36.

Operational Control Language (OCL) is the control language of the IBM System/3, System/32, System/34 and System/36 minicomputer family. It is supported on IBM i's System/36 Environment for backwards compatibility purposes. It is similar to the older control languages JCL (System/370), and unrelated to the later Control Language, and REXX (AS/400).

IBM System/3 BASIC was an interpreter for the BASIC programming language for the IBM System/34 midrange computer.

IBM System/36 BASIC was an interpreter for the IBM System/36 midrange computer.

Screen Design Aid (SDA) is a utility for the IBM System/34 and System/36 midrange computers. Programmers can use SDA to create menus, display formats, or WSU skeleton programs. The System/38, and IBM i platforms also have a utility Screen Design Aid, but its syntax and functionality are different.

VS/9 is a computer operating system for the UNIVAC Series 90 mainframes, used during the late 1960s through 1980s. The 90/60 and 90/70 were repackaged Univac 9700 computers. After the RCA acquisition by Sperry, it was determined that the RCA TSOS operating system was far more advanced than the Univac counterpart, so the company opted to merge the Univac hardware with the RCA software and introduced the 90/70. The 90/60 was introduced shortly thereafter as a slower, less expensive 90/70. It was not until the introduction of the 90/80 that VS/9 finally had a hardware platform optimized to take full advantage of its capability to allow both interactive and batch operations on the same computer.

References

  1. 1 2 "IBM March - April 1977 Announcements: Operating System" (PDF). HP computer systems newsletter. June 1, 1977. p. 15.