Jump to content

System Support Program

From Alfawiki
System Support Program (SSP)
Company typeOperating system
IndustryComputer software
Founded1977
Headquarters
United States
ProductsOperating system for IBM System/34 and System/36 minicomputers

System Support Program (SSP) serves as the operating system designed for IBM's System/34 and System/36 minicomputer families, first introduced in 1977.

History

Initially, SSP comprised roughly 60 commands and was implemented on the System/34 from 1977 through 1983 across multiple versions. The debut Release 1 accompanied the S/34 launch in 1977, with Release 9 arriving by 1981. In 1983, IBM adapted SSP for use on the IBM System/36, a platform that lacked object-code compatibility with its predecessor, the S/34. By 1994, SSP was delivered as a virtual machine environment on the Advanced/36, an updated model within the IBM AS/400 lineup.

Notable SSP versions include:

  • S/34
    • Release 1.0 – launched alongside the original System/34 in 1977.
    • Release 8.0 – issued approximately in 1980.
    • Release 9.0 – the final System/34 release around 1980.
  • S/36
    • Release 1.0 – introduced with the initial System/36 in 1983.
    • Release 2.0 – incorporated support for the 8809 tape drive.
    • Release 4.0 – added functionality for five job queues.
    • Release 5.1 – marked the last significant update for the 536X series in 1988.
    • Release 6.0 (VASP) – introduced RPG program call capabilities and software tools to estimate upgrade requirements for AS/400; this release faced criticism due to limitations in RPG CALL/PARM functions and imposed upgrade constraints.
    • Release 7.1 – delivered with the Advanced/36 (9402-236 models) in 1994; incompatible with earlier releases but enabled program object code compatibility with Release 7.5; some developers favored the older RPGII compiler over newer iterations.
    • Release 7.5 – shipped with the final Advanced/36 (9402-436) in 1995; featured enhancements such as WRKSYSVL allowing dynamic system time adjustments; assembler routines continued to operate effectively.
    • Guest/36 – built upon Release 7.5, this version allowed running an M36 guest partition on AS/400 systems (OS/400 V3R6 through V4R4), supporting multiple guest partitions and integration with OS/400 applications; LAN-based terminals connected via TCP/IP replaced traditional twinax connections.
    • S36EE (S/36 Execution Environment) – native to AS/400 and its successors (iSeries, IBM i), facilitating execution of legacy S/36 programs without requiring conversion; although execution involves additional steps resulting in slower processing, modern hardware delivers substantially faster performance compared to Advanced/36; recompilation is necessary due to incompatible object code, but it enables seamless integration with OS/400 applications and RPGIV programs.

Among the primary restrictions of S/36, A/36, and M/36 systems were a maximum disk capacity of 4 GB per operating system instance, a program size ceiling of 64 KB necessitating modular program design, a limit of roughly 8,000 files per system, and file size constraints (initial load capacity near eight million records with a maximum file size around sixteen million records). These limitations are not present in S36EE, which supports larger programs and files to meet contemporary business requirements.

Functions and components

SSP empowers operators to create, remove, and manage objects on S/34 and S/36 systems including libraries, data files, menus, procedures, source members, and security files.

The operating system incorporates tools such as DFU, SEU, SDA, and WSU that facilitate library and file construction, data entry, report generation, and menu maintenance for streamlined navigation. Notably, WSU is unsupported on the Advanced/36 platform. SSP also administers password protection, resource security, and remote communication capabilities akin to dial-up networking.

As a disk-based operating system, SSP executes programs from fixed disk drives rather than diskettes or tapes. Typical System/34 (5340) or System/36 (5360/5362) configurations include one to four hard disks, at least one terminal device, and an 8" diskette drive optionally equipped with magazine units. Later S/36 models (5363/5364) utilize a 5¼" diskette drive. Tape storage options such as the 8809 reel-to-reel or the 6157 QIC cartridge are available for S/36 systems; A/36 models offer high-density QIC tape drives along with optional diskette or nine-track tape drives.

System utility programs

SSP procedures depend heavily on utility programs, which frequently offer greater capabilities than the procedures themselves. Library management is conducted through commands such as and . File handling tasks, including , , and , are managed by . Additional utilities like , , , , and provide enhanced program-level flexibility beyond what SSP procedures can deliver.

Configuring with CNFIGSSP

The utility is responsible for setting up system devices, each identified by a two-character code beginning with a letter; some codes, for example I1 (diskette drive) and F1 (fixed disk), are reserved. Using requires the system to be dedicated—meaning no active users or running programs—and necessitates a reboot (IPL). Once the system restarts, newly configured devices become visible on the status screen.

SDA - Screen Design Aid

SDA offers operators the capability to create screen layouts and menus by defining input/output fields alongside constant values. It allows enabling or disabling command keys. The use of conditions (known as indicators in RPG) facilitates dynamic changes such as field visibility or color adjustments.

SEU - Source Entry Utility

SEU is a text editor designed for line-by-line data input, featuring specialized templates that assist in entering RPG code and other form-based languages like WSU, Sort, and SDA.

SORT - The system Sort utility

SORT can handle from one up to eight input files of any valid record length, producing a single output file, with capacity exceeding 8 million records. It supports sorting either entire records or 3-byte addresses (ADDROUT) that point to master file records, enabling efficient data retrieval operations.

WSU - Work Station Utility

WSU is an RPG-like programming language tailored for data entry applications on SSP. Although offered at no cost, its limited functionality resulted in minimal adoption.

DFU - Data File Utility

Provided by IBM at no charge, DFU allows users to view and modify individual record fields without programming. It enables programmers to update database files directly, create simple data operation programs, and permits data entry staff to add or delete records or print them.

Operational Control Language (OCL)

OCL facilitates the execution of high-level programs by loading them into memory and allocating resources such as disk files, printers, message queues, memory space, and disk storage. It also manages screen displays and pause messages to improve program control flow.

RPG II

Derived from System/3, RPG II introduced the "WORKSTN file" concept to support interactive input/output via keyboard and monitor. This primary combined file allowed output generation before accepting input. Command keys were linked to RPG indicators (KA-KY), with forms identified by embedded control characters. Multiple WORKSTNs could be supported simultaneously within a maximum program size of 64k.

Program attributes - MRTs, SRTs, NRTs and NEPs

  • MRT (Multiple Requestor Terminal): Enables a single program instance to serve up to seven terminals concurrently; programmers define the maximum connected terminals.
  • SRT (Single Requestor Terminal): Programs designed to interact with only one terminal at a time.
  • NRT (No Requestor Terminal): Programs initiated from a terminal that relinquish it immediately after starting and continue running independently, functioning similarly to MS-DOS TSRs. Programs submitted via JOBQ are classified as NRTs by default.
  • NEP (Never Ending Program): Usually interactive MRTs that stay active even after all terminals disconnect, waiting for reconnections to minimize startup delays. They are used for chaining small programs sharing terminals while maintaining ongoing processing. NRTs may also function as NEPs if programmed to loop awaiting tasks. NEPs generally operate until system shutdown unless explicitly stopped.

Object code formats

Object code produced by Cobol, Fortran, and RPG is classified as type O. Basic, on the other hand, was primarily interpreted; however, a compilation tool named BASICS generated subroutine code identified as type R. Basic programs could be preserved in source form to maintain compatibility, retaining the source text within the subroutine unless the LOCK parameter was applied.

Procedures utilizing OCL for program initiation and resource allocation are designated as type P.

Source members for all object types are labeled as type S, with the exception of Basic as previously mentioned.

Programs created with DFU and WSU produce subroutine (R) code.

Screen formats and menus result in object code generation. Menus represent specialized screen formats combined with message members that have a "##" suffix; these messages define actions activated by user selections.

Popular SSP applications

  • Programmer and Operator Productivity Aid (POP), a commonly employed development utility bundled with the Advanced 36.
  • MAPICS, the Manufacturing and Production Information Control System.
  • IMAS, a fundamental accounting software package.
  • BPCS, a more sophisticated accounting solution.
  • IBM Office/36 suite (including DisplayWrite/36, IDDU, Query), which gained popularity in the late 1980s and was later integrated with Advanced/36; it originated from the System/34 Text Editor.
  • Britz Word Processing System, a versatile text editor featuring mail merge, label creation, and basic file editing capabilities.

System security

SSP incorporates four distinct security types:

  • Badge security.
  • Password security.
  • Resource security.
  • Menu security.

Badge security involves using a magnetic stripe reader attached to 5250 terminals; users must swipe their badges in addition to providing login credentials.

SECEDIT

SECEDIT oversees management of User IDs and passwords. User profiles consist of an alphanumeric User ID ranging from 1 to 8 characters, a password of 4 characters, a security classification—M (Master Security Officer), S (Security Officer), O (System Operator), C (Subconsole Operator), or D (Display Station Operator)—alongside various default settings.

The SECEDIT RESOURCE function allocates access permissions—O (Owner), C (Change), U (Update), R (Read), E (Execute), or N (None)—to users for specific files, libraries, folders, or groups. Group objects facilitate easier access control by combining related files; for example, ACCOUNTG grants permissions for all accounting-related files.

Using SECEDIT USERID, administrators can restrict users to particular menus by enabling a Mandatory Menu flag and setting a default sign-on menu, thereby limiting program access strictly to authorized options.

Other procedures

The PROF ("Profile") procedure was responsible for managing User IDs and passwords. User profiles contained an alphanumeric User ID of 1 to 8 characters, a 4-character password, a security level—M (Master Security Officer), S (Security Officer), O (System Operator), C (Sub Console Operator), or D (Display Station Operator)—and other predefined defaults.

PRSRCID ("Profile Resource Security by User ID") assigned security levels to files and libraries per user. Access rights included O (Owner), G (Change), R (Read), E (Execute), or N (None) for each user-resource combination.

The printed disk catalog (VTOC, Volume Table of Contents) indicated secured objects by marking them with the symbol 3.

Files, libraries, and folders

SSP manages two main types of data entities: files and libraries. Files consist of fixed-size records, whereas libraries contain programs designed to interact with these files. The system provides more than 80 commands dedicated to creating, deleting, copying, modifying, and protecting both files and libraries.

Both libraries and files must be stored in contiguous space on a single disk. Libraries typically occupy a single "extent" of roughly 50 blocks, necessitating reorganization since they cannot expand if space is allocated elsewhere. Files may be assigned an EXTEND parameter or configured through Operational Control Language (OCL) to automatically increase in size; however, record processing halts during this extension. It is recommended to allocate sufficiently large extend values to minimize the frequency of extensions. Libraries can include multiple non-contiguous extents; compiling may generate extents that can be removed using the "CONDENSE" command if sufficient space exists or reallocated at a larger size via ALOCLIBR.

On the System/36, files are categorized as Sequential (S), Direct (D), or Indexed (I). Indexed files support several alternate indexes (X), and sequential files may also have alternate indexes without a primary index. Keys for indexed files are contiguous and can be up to 60 characters long, while alternate indexes allow for three-part keys that are non-contiguous. The system permits or disallows duplicate keys depending on configuration. Direct files are pre-allocated with all records and do not support automatic extension; conversely, sequential and indexed files begin empty. Alternate indexes always contain the same number of records as their parent file, differing from System/38 logical files that filter records.

In 1986, SSP incorporated Distributed Data Management Architecture (DDM) capabilities, allowing System/36 applications to create, manage, and access record-based files on remote System/36, System/38, and IBM mainframe systems running CICS. This enhancement also enabled external systems to access System/36 files remotely. The DDM file structure was modeled after the System/36 file system.

Related operating systems

The System/3 introduced in 1969 operated with a disk-oriented batch OS known as the System Control Program (SCP) (5702-SC1). IBM subsequently released an online application for the System/3 called the Communications Control Program (CCP), which initially functioned as a batch program. The IBM System/32 from 1975 also utilized a disk-based System Control Program. The IBM System/38, launched in 1978, featured the more sophisticated Control Program Facility (CPF), which represented a substantial departure from SSP.

Sources

  • IBM Publication SC21-8299, General Information for SSP Operating System.

External links