Browse Prior Art Database

A HIERARCHIC CONTROL STRUCTURE FOR USER PROGRAMS IN THE SYMBOL SYSTEM

IP.com Disclosure Number: IPCOM000127990D
Original Publication Date: 1975-Dec-31
Included in the Prior Art Database: 2005-Sep-14
Document File: 10 page(s) / 38K

Publishing Venue

Software Patent Institute

Related People

Robert Francis Bretl: AUTHOR [+3]

Abstract

One of the main objectives in the design of the k_ SYMBOL-2R computer was to support the basic features of the operating system directly in hardware. For example, three of the functions normally found in software which have been im-plemented in the hardware include the compilation of a high level language (i) , management of a virtual memory to support dynamically varying data structures (2)(3), and a hardware system supervisor (4). Many of the algorithms required are hardware executed with software-established parameters so as to obtain higher performance without losing needed flexibili-ty. Other functions, such as provision of error diagnostics, were not sufficiently clear to be stabilized and did not need the higher performance of direct hardware implementation. For this reason, two features were provided in the hard-ware/software interface to alloy expansion or extension. First, interrupts are provided for traps at hardware compile and/or execution time. These interrupts allow a break-out from the high level language and may call a "system program" to perform some desired task. Second, memory operations are provided which allow such system programs to initiate direct-ly any memory operation available to the hardware (7 : PP* 578-579) . >2 Since SYMBOL is a multiprogrammed time-sharing system, it is necessary to prevent interference among programs. In as much as the language is directly implementad in hardware with all data manipulated by symbolic name rather than ad-dresses, the protection is inherent since there are no mecha-nisms by which one program can interfere with another. The introduction of the memory operations and hardware breaks to the system software recreates the danger of interference be-tween programs. Therefore the break statements and memory operations are designated as "privileged" operations which can be used only under special restrictions (8;p.571). Each user of the SYMBOL-2R system has at his disposal a Virtual Machine, and in the software-free configuration of the system the Virtual Machines operate in complete logical independence of one another. The active data transforming element of each virtual Machine is called a virtual proces-sor. SYMBOL's hardware provides for 32 virtual processors and each terminal supported by SYMBOL is perm3aently connect-ed to one of the virtual processors up to a maximum of 31. The remaining virtual processor is used exclusively for system software and has no I/o capability (6 ; p. 1) . ..:_ In the current operating system, each of the 31 virtual processors is provided with its own Monitor, a systam-supplied program which is invoiced whenever the virtual proc-essor generates an Exceptional Service Request. Some typical >examples of Exceptional Service Bequests are processor-detected errors (syntax or execution errors in user pro-grams), processing time or memory space limit violations, and certain terminal control-key signals (Initiate, Terminate, F0, etc.). The Monitor can then provide such functions as a diagnostic messages, login/logout and accounting operations, inter-terminal communication, and file management facilities. The Monitor itself, however, runs on the same virtual proces-sor as a user's program and thus can be active only when the user's program is suspended (6; p. 1) . The purpose of this paper is to describe a software sup-ported extension to the SYMBOL operating system which allows an unprivileged user (one who is not permitted to use the break statements or memory operations) the capability to write programs which can initiate the translation and execu-tion of another program on the same virtual processor. The activation of this "offspring" program, however, implies the suspension of the "parentis program, since only one program can be active on a given virtual ;processor at any time. This extension then does not introduce another dimension of multi-programming into the system, but a hierarchy of user pro-grams. The user would create this hierarchy by calling a non-restricted,(5) privileged library procedure called "RUN". This procedure has one parameter which is a variable is which

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 10% of the total text.

Page 1 of 10

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

A HIERARCHIC CONTROL STRUCTURE FOR USER PROGRAMS IN THE SYMBOL SYSTEM

Robert Francis Bretl

Iowa State University Ames 1975 ' This report was submitted to the Graduate Faculty at Iowa State University in partial fulfillment of requirements for the degree of` Master of Science >

I. INTRODUCTION

One of the main objectives in the design of the k_ SYMBOL-2R computer was to support the basic features of the operating system directly in hardware. For example, three of the functions normally found in software which have been im-plemented in the hardware include the compilation of a high level language (i) , management of a virtual memory to support dynamically varying data structures (2)(3), and a hardware system supervisor (4). Many of the algorithms required are hardware executed with software-established parameters so as to obtain higher performance without losing needed flexibili-ty. Other functions, such as provision of error diagnostics, were not sufficiently clear to be stabilized and did not need the higher performance of direct hardware implementation. For this reason, two features were provided in the hard-ware/software interface to alloy expansion or extension. First, interrupts are provided for traps at hardware compile and/or execution time. These interrupts allow a break-out from the high level language and may call a "system program" to perform some desired task. Second, memory operations are provided which allow such system programs to initiate direct-ly any memory operation available to the hardware (7 : PP* 578-579) .

>2

Since SYMBOL is a multiprogrammed time-sharing system, it is necessary to prevent interference among programs. In as much as the language is directly implementad in hardware with all data manipulated by symbolic name rather than ad-dresses, the protection is inherent since there are no mecha-nisms by which one program can interfere with another. The introduction of the memory operations and hardware breaks to the system software recreates the danger of interference be-tween programs. Therefore the break statements and memory operations are designated as "privileged" operations which can be used only under special restrictions (8;p.571). Each user of the SYMBOL-2R system has at his disposal a Virtual Machine, and in the software-free configuration of the system the Virtual Machines operate in complete logical independence of one another. The active data transforming element of each virtual Machine is called a virtual proces-sor. SYMBOL's hardware provides for 32 virtual processors and each terminal supported by SYMBOL is perm3aently connect-ed to one of the virtual processors up to a maximum of 31. The remaining virtual processor is used exclusively for

system software and has no I/o capability (6 ; p. 1) . ..:_ In the current operating system, each of the 31 virtual processors is provided with its own Monitor, a systam-supplied program whic...