【Fujitsu】CPS80 (Operating System for FACOM System 80)

Announced in April 1979, CPS80 was an operating system developed for the FACOM System 80 series of small office computers. The FACOM System 80 office computers followed in the footsteps of the FACOM Bm, the first entry in the small office computer market developed jointly by Fujitsu, USAC Electronic Industrial (which later became PFU), and Uchida Yoko. CPS80, for its part, was derived from BMOS, the operating system for the FACOM Bm. By adding support for multiwork systems and other functions described below, CPS80 provided substantial functional improvements over BMOS while taking advantage of experiences with the UNIOS family of operating systems (the operating systems for the FACOM V series).
In the late 1970s, in addition to being used as host computers running business processes at smaller corporations, office computers were increasingly being deployed as section machines, handling departmental office automation tasks at corporations, and as distributed computers connected by networks. A key requirement and assumption of these new applications was that office computers did not require dedicated computer operators. As a result, Fujitsu developed FACOM System80 and CPS80 based on the following design tenets, which focused on these new applications.

  • The computers will be usable anywhere, anytime by anyone.
  • The computers will be equipped with comprehensive processing functions for office tasks that can be applied to both routine tasks and one-off tasks.
  • The computers will support a wide range of task sizes and task configurations, from desktop floppy-disk-based systems to full-fledged multiwork systems.

Figure 1 shows a typical usage configuration for the FACOM System80 consisting of multiple display-workstations. This configuration was called a multiwork system, and it was aimed at applications in which end users entered data in real time and ran routine tasks in real time.

Figure 1: Usage configuration with multiple workstations

Figure 1: Usage configuration with multiple workstations

CPS80 was furnished with various functions, as shown in Figure 2, for the straightforward and efficient application of FACOM System 80 office computers as section machines or distributed computers on networks. Below are brief descriptions of some of the more interesting CPS80 functions.

Figure 2: CPS80 organization

Figure 2: CPS80 organization

(1) Interactive processes
To support computer use in situations without a dedicated computer operator, CPS80 provided functions so that operations could be executed via an interactive man-machine interface having the following traits.
  • Interactive operation in Japanese
  • Menu-based operation (menus written in Japanese)
(2) Japanese language processes
 At the same time as the launch of UNIOS/F4 Enhanced (announced in April 1979), Fujitsu provided the following Japanese language functions that ran under the Japanese Processing Extended Feature (JEF) system.
  • Utility functions that permitted messages to be entered in Japanese without needing a special Japanese input device.
  • Functions that defined menus, screen formats for display-workstations, and report formats for printer workstations independent of application programs. These functions simplified the creation and modification of application programs that processed Japanese.
(3) Multiwork processes
 CPS80 enabled processing configurations that made effective use of display-workstations located in corporate offices (see Figure 1). In other words, CPS80 enabled display-workstations to be used independently and multiple print processes to be run simultaneously by means of a spool writer. CPS80 also provided a function that resumed workstation processes that had been interrupted by a higher priority process from the point that the processes were suspended.

(4) Dynamic memory relocation and re-entrant program control
 These functions were provided to use main memory more effectively.
  • Dynamic memory relocation
     This function ensured that programs used only the minimum required main memory. In concrete terms, this function divided the main memory into 2-kilobyte pages and allocated just the number of pages needed for the program to be executed. Even if the assigned pages were physically noncontiguous, they were treated as a logically contiguous memory field.
  • Re-entrant program control
     This was a method of conserving main memory when multiple processes require the same sub-program. In such cases, each instance of the sub-program shares the sub-program’s logical section while each instance’s work section is assigned a separate field in memory. Figure 1 illustrates re-entrant control in operation.
(5) Online processes
 CPS80 supported the BSC and FTS transmission control protocols. With FTS, it was possible to transmit multiplexed communications over one communication line. It was also possible to create online processing programs in COBOL. A utility (FTRUTY) was provided for file transfers.

(6) Database-oriented multikey indexed files
 Multikey indexed files are composite files consisting of a single data file and multiple index files. They permit data to be called by various key entries. Up to six index files could be defined.

(7) Interactive Reporter (IREP)
 This utility was provided for processing data searches, reports, etc. as urgently required one-off tasks. IREP came with end-user-oriented functions so that the execution parameters could be entered interactively with the system.

(8) CAPSEL III and CAPG program development tools
 These tools were provided for developing different application programs so that the computer could be used by anyone.
  • Creating programs using prepackaged programs and a little design work
     CAPSEL III supported this programming method. CAPSEL III had a flexible, highly versatile structure so that users could form packages by selecting from and incorporating an array of conditions. Some of the more popular packaged structures were for financial accounting and personnel and payroll (see Figure 3).
  • Creating programs with COBOL
     CPS80 came with CAPG, a program generator that simplified COBOL programming. CAPG grouped basic workstation processes into several patterns. The end user created the desired program by setting a few simple parameters based on one of the patterns. Some of the processes that could be generated with CAPG included file creation, file maintenance, file display, and file printing.