THE DARTMOUTH TIME-SHARING SYSTEM

Transcription

Co mputers and Thei r ApplicationsSeries Editor:aBRIAN MEEK Director , Computer UnitQueen Elizabeth College, University of LondonTHE DARTMOUTH TIME SHARING SYSTEMThe Dartmouth Time Sharing System (DTSS) isimportant both for its historical position and forits influence on time sharing systems throughoutthe world ; and no less importantly for its ease ofuse both to specialist and non-specialist users. Fewsystems have the unique advantage of hav ing beendesigned and developed from grass roots leveltwice by the same personnel, and few systems canmatch the efficiency, elegance of design, and thesimplicity of the DTSS.This book documents the system in detail andprovides an overview with an introduction tothe main software modules and a brief descriptionof the hardware . The coverage of the user interfacegives the reader a "feel" for what the software isimplementing, and there is a broad view of the filesystem, including types of files , file security, filesystems maintenance , and file sharing . There is alarge section on the operating system software ,dealing with the first level virtual machine whichimplements the file system and runs the hardware.All the major aspects are covered tho roughly andclearly , to the final chapter on systems operation ,an area which is often left uncovered in existingliterature.The author, who has worked at Dartmouth in theDTSS writing team, has provided here an elemen tary yet broad text which will fill a need forstudents studying operating systems and professionals involved in operating system design .Readership : Undergraduates and post-graduates studyingcomputer operating systems, and all those working ineducational establishments. industry and commerce wherethe DTSS system is in use.---- ----------- -------------- - - - - - - - - - - - - - -

THE DARTMOUTH TIME-SHARING SYSTEM

THE ELLIS HORWOOD SERIES INCOMPUTERS AND THEIR APPLICATIONSSeries Editor: BRIAN MEEKComputer Unit, Queen Elizabeth College, University of LondonThe series aims to provide up-to-date and readable texts on the theory and practice ofcomputing, with particular though not exclusive emphasis on computer applications. Preference is given in planning the series to new or developing areas, or to new approaches inestablished areas.The books will usually be at the level of introductory or advanced undergraduate courses.In most cases they will be suitable as course texts, with their use in industrial and commercial fields always kept in mind. Together they will provide a valuable nucleus for a computingscience library.Published and in active pUblicationTHE DARTMOUTH TIME SHARING SYSTEMG. M. BULL, The Hatfield PolytechnicTHE MICROCHIP AS AN APPROPRIATE TECHNOLOGYDr. A. BURNS, The Computing Laboratory, Bradford UniversityINTERACTIVE COMPUTER GRAPHICS IN SCIENCE TEACHINGEdited by J. McKENZIE, University College, London, L. ELTON, University of Surrey,R. LEWIS, Chelsea College, London.INTRODUCTORY ALGOL 68 PROGRAMMINGD. F. BRAILSFORD and A. N. WALKER, University of Nottingham.GUIDE TO GOOD PROGRAMMING PRACTICEEdited by B. L. MEEK, Queen Elizabeth College, London and P. HEATH, PlymouthPolytechnic.DYNAMIC REGRESSION: Theory and AlgorithmsL. J. SLATER, Department of Applied Engineering, Cambridge University andH. M. PESARAN, Trinity College, Cambridge.CLUSTER ANALYSIS ALGORITHMS: For Data Reduction and Classification of ObjectsH. SPATH; Professor of Mathematics, Oldenburg University.FOUNDATIONS OF PROGRAMMING WITH PASCALLAWRIE MOORE, Birkbeck College, London.RECURSIVE FUNCTIONS IN COMPUTER SCIENCER. PETER, formerly Eotvos Lorand University of Budapest.SOFTWAR E ENGINEERINGK. GEWALD, G. HAAKE and W. PFADLER, SiemensAG, MunichPROGRAMMING LANGUAGE STANDARDISATIONEdited by B. L. MEEK, Queen Elizabeth College, London and I. D. HILL, ClinicalResearch Centre, Harrow.FUNDAMENTALS OF COMPUTER LOGICD. HUTCHISON, University of Strathclyde.SYSTEMS ANALYSIS AND DESIGN FOR COMPUTER APPLICATIOND. MILLINGTON, University of Strathclyde.ADA: A PROGRAMMER'S CONVERSION COURSEM. J. STRATFORD-COLLINS, U.S.A.

THE DARTMOUTHTIME-SHARINGSYSTEMGORDON M. BULL, F.B.C.S., M.Sc., Ph.D.Reader in Com pu ter ScienceThe Hatfield PolytechnicELLIS HORWOOD LIMITEDPublishers . ChichesterHalsted Press: a division ofJOHN WILEY & SONSNew York· Chichester· Brisbane· Toronto

First published in 1980 byELLIS HORWOOD LIMITEDMarket Cross House, Cooper Street, Chichester, West Sussex, P019 lEB, EnglandThe publisher's colophon is reproduced from James Gillison's drawing of theancient Market Cross, Chichester.Distributors :Australia, New Zealand, South-east Asia:Jacaranda-Wiley Ltd., Jacaranda Press,JOHN WILEY & SONS INC.,G.P.O. Bo 8?9, Brisbane, Queensland 40001, AustraliaCanada:JOHN WILEY & SONS CANADA LIMITED22 Worcester Road, Rexdale, Ontario, Canada.Europe, Africa:JOHN WILEY & SONS LIMITEDBaffins Lane, Chichester, West Sussex, England.North and South America and the rest of the world:Halsted Press: a division ofJOHN WILEY & SONS60S Third Avenue, New York, N.Y. 10016, U.S.A.British Library Cataloguing in Publication DataBull, Gordon M.The Dartmouth Time-sharing System. (Ellis Horwood series in computers and their applications).1. Dartmouth Time-sharing SystemI. Title001-6'4404 QA76.53 80-41327ISBN 0-85312-253-9 (Ellis Horwood Ltd., Publishers)ISBN 0-470-27082-9 (Halsted Press)Typeset in Press Roman by Ellis Horwood Ltd.Printed in Great Britain by R. J. Acford Ltd., ChichesterCOPYRIGHT NOTICE Ellis Horwood Limited 1980All Rights Reserved. No part of this publication may be reproduced, stored in a retrievalsystem, or transmitted, in any form or by any means, electronic, mechanical, photocopying,recording or otherwise, without the permission of Ellis Horwood Limited, Market CrossHouse, Cooper Street, Chichester, West Sussex, England.

Table of ContentsPREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Chapter 1 - INTRODUCTION1.1 Historical Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131. 2 DTSS is Not Just Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3 Current Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Chapter 2 - OVERVIEW OF THE SYSTEM2.1 Hardware Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.1.1 The processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1.2 System controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.1.3 Input/output multiplexor (10M) . . . . . . . . . . . . . . . . . . . . 242.1.4 Peripheral processors . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.1.5 Terminal communications controller . . . . . . . . . . . . . . . . . 252.2 Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2.1 The Executive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.2.2 Terminal communication controller interface (TCFACE) . 292.2.3 LOGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2.4 Simple monitor (SIMON) . . . . . . . . . . . . . . . . . . . . . . . . 312.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Chapter 3 - THE USER INTERFACE3.1 The Current File .' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2 Elemenatary Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.1 The LIST command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.2 The NEW command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.3 The SAVE and REPLACE commands .0 34

6Table of Contents3.33.43.53.63.73.83.93.103.2.4 The OLD command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.5 The UNSAVE command . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.6 The RUN and SYSTEM commands . . . . . . . . . . . . . . . . . . 35Other Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.1 File commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3.2 Program execution commands . . . . . . . . . . . . . . . . . . . . . 383.3.3 Editing commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.4 Environment commands . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.5 Terminal mode commands . . . . . . . . . . . . . . . . . . . . . . . . 393.3.6 Information commands . . . . . . . . . . . . . . . . . . . . . . . . . . 393.3.7 Miscellaneous commands . . . . . . . . . . . . . . . . . . . . . . . . . 39Error Messages . ' . . . . . . . . . . . . . . . . . . 39Explain Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40File System and Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . .44Perform Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Examples. . 483.8.1 Use of library programs . . . . . . . . . . . . . . . . . . . . . . . . . . 483.8.2 Use of library subprogram . . . . . . . . . . . . . . . . . . . . . . . . 523.8.3 Command errors and the EXPLAIN command . 563.8.4 Perform files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Background Job Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Chapter 4 - THE FILE SYSTEM4.1 . Types of File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1.1 Data fues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1.2 Catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.1.3 Device fues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.1.4 Communication files . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.1.5 Job fues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.2 A Job's View of Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3 Catalog Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.4 The Catalog Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.5 Security System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.5.1 User number protection . . . . . . . . . . . . . . . . . . . . . . . . . 894.5.2 Access permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.5.3 Passwords on mes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.5.4 Master·trap programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.5.5 Slave-trap programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.6 File Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.7 File Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.8 File System Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

7Table of ContentsChapter 5 - MASTER-MODE OPERATING SYSTEM5.1 Executive's View of a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115.2 Job-Executive Interface Mechanism . . . . . . . . . . . . . . . . . . . . . 1135.2.1 Nontrapping Executive Calls . . . . . . . . . . . . . . . . . . . . . . 1145.2.2 Trapping Executive Calls . . . . . . . . . . . . . . . . . . . . . . . . . 1145.2.3 The ERASE Executive Call . . . . . . . . . . . . . . . . . . . . . . . 1165.2.4 The EXECUTE Executive Call . . . . . . . . . . . . . . . . . . . . . 1175.2.5 Trap-Handling Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195.2.6 Fault Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205.3 Inter-Process Communication . . . . . . . . . . . . . . . . . . . . . . . . . 1225.3.1 Special Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.3.2 Operations on Communication Files . . . . . . . . . . . . . . . . . 1255.3.3 The No-Trap Option . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285.3.4 Reserving the Communication File . . . . . . . . . . . . . . . . . . 1295.3.5 Special Interrupt Routing . . . . . . . . . . . . . . . . . . . . . . . . 1295.4 Internal Structure of the Executive . . . . . . . . . . . . . . . . . . . . . . 1345.5 The Executive's Queue Structures . . . . . . . . . . . . . . . . . . . . . . . 1375.5.1 The Run Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385.5.2 The Processing Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385.5.3 The Job Service Queue . . . . . . . . . . . . . . . . . . . . . . . . . . 1385.5.4 Free Job Number Queue . . . . . . . . . . . . . . . . . . . . . . . . . 1395.5.5 In-Core Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395.5.6 Non-Core Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395.5.7 Task Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395.5.8 Executive Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1415.6 Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1415.6.1 Scheduling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 1415.6.2 Scheduling Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445.6.3 Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445.7 Swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455.8 Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485.8.1 10M Mailboxes . . . . . . . . . . . . .

time-sharing system on combined GE-235 and Datanet 30 computers. In 1965· General Electric (U.S.A.) marketed the first commercial time-sharing service using the Dartmouth software (the GE-265, Mark I time-sharing system). This world-wide service was responsible in