System Support Program
) was an operating system
for the IBM System/34
and System/36 minicomputers
. SSP was a command-based operating system released in 1977
, the days of CP/M
, and the original UNIX
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:
- S/34 Release 1.0 - this was apparently shipped with the first S/34 in 1977.
- S/34 Release 8.0 - this seems to have been issued about 1980.
- S/34 Release 9.0 - this was the last release for the S/34 c.1980.
- S/36 Release 1.0 - this was apparently shipped with the first S/36 in 1983.
- S/36 Release 4.0 - this was the release where S/36 was given 5 job queues.
- S/36 Release 5.1 - this 1988 release was the last major change on 536X platforms.
- S/36 Release 6.0 - also known as the VASP or Value-Added Support Product, this release added functionality that allowed program calls in RPG, and it also provided software to calculate the size AS/400 that the user would need when upgrading. The VASP was controversial. Rumors circulated in the industry papers that the customer could not go back to 5.1 if 6.0 did not function adequately. Program calls with RPG CALL/PARM were inferior to RPGIII designs and inferior to customer add-on products.
- S/36 Release 7.1 - this 1994 release was shipped with the Advanced/36. The first A/36 machines would not function on a lower release and were also incompatible with 7.5. Rumors circulated that stated prior release compilers would not function on the Advanced/36, but they proved unfounded. There were reasons a programmer would rather use the 5.1 RPGII compiler instead of the presumably more advanced 7.x compiler.
- S/36 Release 7.5 - this 1995 release was shipped with the second and final wave of the Advanced/36. Functions like WRKSYSVL allowed the operator to change the system time on the fly, which was interesting because customer add-ons to do this through assembler subroutines did not function on the Advanced/36.
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 permits 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 or a 6157 1/4" cartridge (QIC) tape drive. A/36 computers have a high-density QIC drive but the 8" diskette drive (single) is optional.
Basic SSP procedures include:
- HELP, to request an online form to assist with command entry.
- MENU, to display a user-created menu of commands, procedures, or OCL.
- ALTERBSC, to change the binary synchronous communications profile.
- ALOCFLDR(*), to reallocate a folder.
- HISTORY, to report and optionally reset the system history file.
- BLDLIBR, to create a user library.
- BLDFILE, to create a file.
- KEYSORT, to reorganize an indexed file, rebuilding the key index area for greater efficiency.
- CATALOG, to report the disk VTOC or media VTOC.
- INIT, to initialize diskette media.
- TAPEINIT, to initialize tape media.
- COPYDATA(*), to create a new file using records from an existing file.
- LISTDATA(*), to print unformatted records from an existing file.
- LISTLIBR, to print members within a library.
- LIBRLIBR, to copy members within a library.
- REMOVE, to remove members within a library.
- ALOCLIBR(*), to change the size or directory size of a library.
- DELETE, to remove files.
- DFU, to start the interactive Data File Utility.
- ENTER, to enter new records into a defined file.
- UPDATE, to change records in a defined file.
- INQUIRY, to display records in a defined file.
- LIST, to report records from a defined file.
- SEU, to start the interactive Source Entry Utility.
- SDA, to start the interactive Screen Design Aid.
- BLDMENU, to create a menu.
- CREATE, to create a message member.
- FORMAT, to create a display format member.
- WSU (**) , to start the interactive Work Station Utility.
- SECDEF(*), to define security.
- SECEDIT(*), to change security.
- SECLIST(*), to report security.
- SECSAVE(*), to copy security from disk to media.
- SECREST(*), to copy security from media to disk.
- SECDROP(*), to remove security.
- PROF(**), to edit password security.
- PRSRCID(**), to edit resource security.
- PRLIST (**), to print password or resource security.
- HISTORY, to print or manage the System History file.
- HISTCOPY (*), to copy the System History file to a disk file.
- CNFIGSSP, to configure the system support product.
- IPL, to restart the system.
- SAVE, to copy a disk file to media.
- SAVELIBR, to copy a library to media.
- RESTORE, to copy a file from media to disk.
- RESTLIBR, to copy a library from media to disk.
- SAVEFLDR(*), to save a folder to media.
- RESTFLDR(*), to restore a folder from media.
- COMPRESS, to reorganize the disk for maximum space availability.
- CONDENSE, to reorganize a library, or (*) a folder, for maximum space availability.
- WRKSYSVL(****), to view/change system values such as date and time.
- CSALL (*), to cancel inactive sessions.
Basic SSP commands include:
- ASSIGN (A), to temporarily switch workstation IDs.
- CHANGE (G), to change the parameters of a spooled report.
- CANCEL (C), to cancel a spooled report, or a session, or the job queue(***), or a user program.
- STOP (P), to stop a printer, or a session, or the job queue(***), or the system.
- START (S), to start a printer, or a session, or the job queue(***), or the system.
- STATUS (D), to see the status of a printer, or sessions, or communications.
- HOLD (H), to place a spooled report on hold.
- RELEASE (L), to release a spooled report from hold.
- RESTART (T), to restart a stopped report from the beginning.
- REPLY (R), to reply to a message sent to the System Console, or to a subconsole, or to all informational messages, or to clear messages from the console or subconsole.
- CONSOLE GIVE, to surrender the System Console to alternate consoles.
- CONSOLE TAKE, to cause an alternate console to become System Console.
- COMMAND, to return to command mode from console/subconsole mode.
- INFOMSG (I), to set the suppression of informational console messages.
- VARY (V), to set the online state of a device.
- TIME, to request the current time and date.
- OFF, to end the current session.
- DATE, to set the session date (not the system date).
- MSG, to send or retrieve messages.
- POWER, to power off the system.
(*) These functions were created for the System/36. CSALL was created for the VASP.
(**) These functions were discontinued on the System/36.
(***) The System/34 was created with a single job queue. The System/36 was created with five job queues; therefore, where "job queue" is written above, the action can refer to a single job queue or all of them.
(****) This function was added on the Advanced/36.
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.
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.
Related operating systems
The System/3 (c. 1972) ran a card-based operating system called CCP ("Computer Control Program.") The IBM System/32 (1975) ran a disk-based operating system called SCP ("System Control Program.") The IBM System/38 (1978) ran an operating system called CPF ("Control Program Facility") that was much more advanced than SSP and not particularly similar.
Read more about SSP
- IBM Publication SC21-8299, General Information for SSP Operating System.