wants to execute his program again, he can merely load it and execute it, without going through the time consuming translation phase. Compilation therefore offers the potential of time-saving efficiency. INTERACTIVE SYSTEMS … Interpreters generally offer an advantage of their own in that they may be "interactive." This allows the programmer to sit at a teletype, for instance, with the interactive BASIC interpreter in control, and get immediate "feedback" from the interpreter as he enters his BASIC statements. Errors can be immediately identified by the interpreter and corrected by the programmer. Also, the results of executing each BASIC statement can be available immediately, thus making the system react to the user as if it were a sophisticated calculator. For a new program, it may therefore be possible to get an answer faster using an interpreter than using a compiler, since the interpreter does not have to go through the separate translate and execute phases. DEBUG PROGRAMS … A special type of interactive program often available for mini's and micro's is the debug program, sometimes called a monitor.5 A debug program is used to aid in debugging a machine language program. It typically permits the programmer to insert "break points" in his program which will cause the program to pause in its execution and then allow the programmer to examine the contents of key registers and memory locations. In this way, the programmer can walk through the execution of his program and if there is a "bug" in the program, he can isolate it (hopefully). 5 The use of the term "monitor" is somewhat different from the OS type "monitor" TEXT EDITORS ... Other programs besides interpreters may be interactive. One of the most common is a "text editor" which can be used to help create a new program or "file." If a BASIC compiler were available through a time-sharing system, an interactive text editor could be used to build or create a BASIC program using an on-line terminal; the text editor would permit the programmer to make changes such as adding or deleting individual characters or whole lines. When the programmer is satisfied with his program, he could then ask the system to compile it and execute it. The software performing the actual time-sharing operations serving many users simultaneously is essentially a more complex type of operating system as we have previously discussed. SUMMARY … We have now completed a very general introductory overview of systems software. The reader should now have a reasonable understanding of the various types of programs involved, the functions they perform, and how they relate to one another. The types of systems programs available and the functions they perform are summarized in the accompanying table. TABLE OF KEY SYSTEMS PROGRAMS Systems Program Name Function Input(s) Output(s) Comments Compiler Translate HOL HOL Source Listing. Machine Object Program Program to Machine Program Language Object may be Language Program Program punched out or loaded into memory Assembler Translate Assembly Assembly Language Listing. Machine Object Program Language Program Source Program Language Object may be to Machine Language Program punched out or Program loaded into memory Interpreter "Executes" HOL HOL Source Problem Solution Output is only Program Program what the source program produces. Interactive Loader Loads Machine Machine Language Machine Language Loaded into Language Programs Object Program (s) programs ready to memory be executed Text Editor Creates or edits files Source Programs Listing or copies Interactive data, etc. of files when requested Debug Facilitates isolation Commands to Responses to Runs along with Program of program bugs Debug Program commands, e.g. user's object register contents, program to be memory contents, debugged etc. Operating Overall control of Job Control Language Responses to JCL Schedules jobs, System computer system or equivalent. All commands. Log of allocates and its resources other inputs to system status, error memory, etc. computer messages to to minimize operator, etc. need for