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.
58-573: 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
116-583: A card reader . Magnetic tape , drum and disk card image files created from such card decks often had no line-separation characters at all, and assumed fixed-length 80- or 90-character records. An alternative to cards was Punched tape . It could be created by some teleprinters (such as the Teletype), which used special characters to indicate ends of records. Some early operating systems included batch text editors, either integrated with language processors or as separate utility programs; one early example
174-481: A markup language (e.g. RTF or HTML ), or in a hybrid form of both (e.g. Office Open XML ). Text editors are intended to open and save text files containing either plain text or anything that can be interpreted as plain text, including the markup for rich text or the markup for something else (e.g. SVG ). Before text editors existed, computer text was punched into cards with keypunch machines. Physical boxes of these thin cardboard cards were then inserted into
232-418: A network protocol , or as an event triggered in a graphical user interface . Specifically, the term command is used in imperative programming languages. The name arises because statements in these languages are usually written in a manner similar to the imperative mood used in many natural languages . A statement in an imperative programming language would then be a sentence in a natural language, and
290-406: 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. SSP procedures utilize utility programs, which can in some cases be more useful to
348-711: 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
406-597: 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
464-613: 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
522-455: A markup language, with the basic format being plain text and visual formatting achieved using non-printing control characters or escape sequences . Later word processors like Microsoft Word store their files in a binary format and are almost never used to edit plain text files. Some text editors can edit unusually large files such as log files or an entire database placed in a single file. Simpler text editors may just read files into
580-544: 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. SSP provides for two different data objects called files and libraries. Files contain records, almost always with
638-410: 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
SECTION 10
#1732780368321696-439: 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
754-579: A single long consecutive array of characters, the desire for text editors that could more quickly insert text, delete text, and undo/redo previous edits led to the development of more complicated sequence data structures. A typical text editor uses a gap buffer , a linked list of lines (as in PaperClip ), a piece table , or a rope , as its sequence data structure. Some text editors are small and simple, while others offer broad and complex functions. For example, Unix and Unix-like operating systems have
812-499: A specific use can determine what the user is editing and assist the user, often by completing programming terms and showing tooltips with relevant documentation. Many text editors for software developers include source code syntax highlighting and automatic indentation to make programs easier to read and write. Programming editors often let the user select the name of an include file , function or variable , then jump to its definition. Some also allow for easy navigation back to
870-488: A specified file. Some common line editors supported a "verify" mode in which change commands displayed the altered lines. When computer terminals with video screens became available, screen-based text editors (sometimes called just "screen editors") became common. One of the earliest full-screen editors was O26 , which was written for the operator console of the CDC 6000 series computers in 1967. Another early full-screen editor
928-516: 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
986-406: A text editor with those typical of a word processor such as rulers, margins and multiple font selection. These features are not available simultaneously, but must be switched by user command, or through the program automatically determining the file type . Most word processors can read and write files in plain text format, allowing them to open files saved from text editors. Saving these files from
1044-412: A word processor, however, requires ensuring the file is written in plain text format, and that any text encoding or BOM settings will not obscure the file for its intended use. Non- WYSIWYG word processors, such as WordStar , are more easily pressed into service as text editors, and in fact were commonly used as such during the 1980s. The default file format of these word processors often resembles
1102-840: Is readme.txt . The following command lists the contents of the current directory. The program name is dir , and Q is a flag requesting that the owner of each file also be listed. Text editor A text editor is a type of computer program that edits plain text . An example of such program is " notepad " software (e.g. Windows Notepad ). Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files , documentation files and programming language source code . There are important differences between plain text (created and edited by text editors) and rich text (such as that created by word processors or desktop publishing software ). Plain text exclusively consists of character representation. Each character
1160-489: 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 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
1218-662: 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
SECTION 20
#17327803683211276-511: Is done in Bash with the builtin command printf , while it is done with the built-in function print() in Python. Here are some commands given to a command-line interpreter ( Unix shell ). The following command changes the user's working position in the directory tree to the directory /home/pete . The utility program is cd and the argument is /home/pete : The following command prints
1334-560: 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. 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
1392-654: Is often thought of as a Lisp execution environment with a Text User Interface . Emacs can even be programmed to emulate Vi , its rival in the traditional editor wars of Unix culture . An important group of programmable editors uses REXX as a scripting language. These "orthodox editors" contain a "command line" into which commands and macros can be typed and text lines into which line commands and macros can be typed. Most such editors are derivatives of ISPF/PDF EDIT or of XEDIT , IBM's flagship editor for VM/SP through z/VM . Among them are THE , KEDIT , X2, Uni-edit, and SEDIT . A text editor written or customized for
1450-475: Is represented by a fixed-length sequence of one, two, or four bytes, or as a variable-length sequence of one to four bytes, in accordance to specific character encoding conventions, such as ASCII , ISO/IEC 2022 , Shift JIS , UTF-8 , or UTF-16 . These conventions define many printable characters, but also non-printing characters that control the flow of the text, such as space , line break , and page break . Plain text contains no other information about
1508-451: 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
1566-406: 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 was modified from the System/3 days to allow access to the "WORKSTN file" to allow
1624-652: 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 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
1682-483: The pico editor (or a variant), but many also include the vi and Emacs editors. Microsoft Windows systems come with the simple Notepad , though many people—especially programmers—prefer other editors with more features. Under Apple Macintosh 's classic Mac OS there was the native TeachText later replaced by SimpleText in 1994, which was replaced in Mac OS X by TextEdit , which combines features of
1740-516: 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
1798-481: 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. Command (computing) In computing , a command is a directive to a computer program to perform a specific task. It may be issued via a command-line interface or as input to a network service as part of
System Support Program - Misplaced Pages Continue
1856-447: The argument is the directory /bin : The following command displays the contents of the files ch1.txt and ch2.txt . The program name is cat , having two file name arguments: Here are some commands for the DOS , OS/2 and Microsoft Windows command prompt processor. The following command displays the contents of the file readme.txt . The program name is type and the argument
1914-632: The command would be the predicate . Many programs allow specifically formatted arguments , known as flags or options, which modify the default behaviour of the program, while further arguments may provide objects, such as files, to act on. As an analogy to a natural language, the flags are adverbs, while the other arguments are objects . The meaning of command is highly dependent on context. For example, some authors refer to conditionals as commands while they are called expressions in Python or Bash and statements in JAVA. Similarly, writing to stdout
1972-562: 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
2030-416: The computer's main memory . With larger files, this may be a slow process, and the entire file may not fit. Some text editors do not let the user start editing until this read-in is complete. Editing performance also often suffers in nonspecialized editors, with the editor taking seconds or even minutes to respond to keystrokes or navigation commands. Specialized editors have optimizations such as only storing
2088-442: 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. There are four types of security on an SSP system: Badge security
2146-405: 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
2204-411: The file, and periodically by printing the entire file. In some line editors, the cursor could be moved by commands that specified the line number in the file, text strings (context) for which to search, and eventually regular expressions . Line editors were major improvements over keypunching. Some line editors could be used by keypunch; editing commands could be taken from a deck of cards and applied to
2262-420: 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
2320-425: 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
2378-478: 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). Using SSP,
System Support Program - Misplaced Pages Continue
2436-539: 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
2494-517: The original section of code by storing the initial cursor location or by displaying the requested definition in a popup window or temporary buffer. Some editors implement this ability themselves, but often an auxiliary utility like ctags is used to locate the definitions. Some editors include special features and extra functions, for instance, Programmable editors can usually be enhanced to perform any or all of these functions, but simpler editors focus on just one, or, like gPHPedit , are targeted at
2552-419: The other hand, may contain metadata, character formatting data (e.g. typeface, size, weight and style ), paragraph formatting data (e.g. indentation, alignment, letter and word distribution, and space between lines or other paragraphs), and page specification data (e.g. size, margin and reading direction). Rich text can be very complex. Rich text can be saved in binary format (e.g. DOC ), text files adhering to
2610-451: The program level than associated SSP procedures can be. 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
2668-516: The same copy of the same program in memory. The largest program size was 64k. 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
2726-404: The text Hello World on the standard output stream, which, in this case, just prints the text on the screen. The program name is echo and the argument is "Hello World". The quotes are used to prevent Hello and World being treated as separate tokens: The following commands are equivalent. They list files in the directory /bin . The program is ls , having three flags ( l , t , r ), and
2784-422: The text itself, not even the character encoding convention employed. Plain text is stored in text files , although text files do not exclusively store plain text. Since the early days of computers, plain text was (once by necessity and now by convention) generally displayed using a monospace font , such that horizontal alignment and columnar formatting were sometimes done using whitespace characters. Rich text, on
2842-511: 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. 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
2900-491: The user is more familiar, or to duplicate missing functionality the user has come to depend on. Software developers often use editor customizations tailored to the programming language or development environment they are working in. The programmability of some text editors is limited to enhancing the core editing functionality of the program, but Emacs can be extended far beyond editing text files—for web browsing, reading email, online chat, managing files or playing games and
2958-442: The visible portion of large files in memory, improving editing performance. Some editors are programmable, meaning, e.g., they can be customized for specific uses. With a programmable editor it is easy to automate repetitive tasks or, add new functionality or even implement a new application within the framework of the editor. One common motive for customizing is to make a text editor use the commands of another text editor with which
SECTION 50
#17327803683213016-517: Was vi . Written in the 1970s, it is still a standard editor on Unix and Linux operating systems. Also written in the 1970s was the UCSD Pascal Screen Oriented Editor, which was optimized both for indented source code and general text. Emacs , one of the first free and open-source software projects, is another early full-screen or real-time editor, one that was ported to many systems. The 1977 Commodore PET
3074-540: 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. 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. It is an IBM-supplied no-charge item which is used to view and change field values in individual records. DFU can be used High-level language programs require OCL to be activated. OCL
3132-539: 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. Cobol, Fortran, and RPG generated object code (type O). Basic
3190-488: 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
3248-478: Was the ability to edit SQUOZE source files for SCAT in the SHARE Operating System . The first interactive text editors were "line editors" oriented to teleprinter- or typewriter -style terminals without displays. Commands (often a single keystroke) effected edits to a file at an imaginary insertion point called the "cursor". Edits were verified by typing a command to print a small section of
3306-421: Was the first mass-market computer to feature a full-screen editor. A full-screen editor's ease-of-use and speed (compared to the line-based editors) motivated many early purchases of video terminals. The core data structure in a text editor is the one that manages the string (sequence of characters) or list of records that represents the current state of the file being edited. While the former could be stored in
3364-413: 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
#320679