17
Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester S. T. Allworth and R.N. Zobel, Introduction to Real-time Software Design, second edition Ian 0. Angell and Gareth Griffith, High-resolution Computer Graphics Using FORTRAN 77 Ian 0. Angell and Gareth Griffith, High-resolution Computer Graphics Using Pascal M. Azmoodeh, Abstract Data Types and Algorithms C. Bamford and P. Curran, Data Structures, Files and Databases Philip Barker, Author Languages for CAL A. N. Barrett and A. L. Mackay, Spatial Structure and the Microcomputer R. E. Berry, B. A. E. Meekings and M.D. Soren, A Book on C, second edition G. M. Birtwistle, Discrete Event Modelling on Simula B. G. Blundell, C. N. Daskalakis, N. A. E. Heyes and T. P. Hopkins, An Introductory Guide to Silvar Lisco and HILO Simulators B. G. Blundell and C. N. Daskalakis, Using and Administering an Apollo Network T. B. Boffey, Graph Theory in Operations Research Richard Bornat, Understanding and Writing Compilers Linda E. M. Brackenbury, Design of VLSI Systems- A Practical Introduction J. K. Buckle, Software Configuration Management W. D. Burnham and A. R. Hall, Prolog Programming and Applications J. C. Cluley, Interf .. cing to Microprocessors J. C. Cluley, Introduction to Low Level Programming for Microprocessors Robert Cole, Computer Communications, second edition Derek Coleman, A Structured Programming Approach to Data Andrew J. T. Colin, Fundamentals of Computer Science Andrew J. T. Colin, Programming and Problem-solving in Algol 68 S. M. Deen, Fundamentals of Data Base Systems S. M. Deen, Principles and Practice of Database Systems Tim Denvir, Introduction to Discrete Mathematics for Software Engineering P. M. Dew and K. R. James, Introduction to Numerical Computation in Pascal M. R. M. Dunsmuir and G. J. Davies, Programming the UNIX System D. England eta/., A Sun User's Guide K. C. E. Gee, Introduction to Local Area Computer Networks J. B. Gosling, Design of Arithmetic Units for Digital Computers M.G. Hartley, M. Healey and P. G. Depledge, Mini and Microcomputer Systems Roger Hurty, Z80 Assembly Language Programming for Students Roland N. Ibbett, The Architecture of High Performance Computers Patrick Jaulent, The 68000- Hardware and Software P. Jaulent, L. Baticle and P. Pillot, 68020--30 Microprocessors and their Coprocessors J. M. King and J.P. Pardoe, Program Design Using ]SP-A Practical Introduction H. Kopetz, Software Reliability E. V. Krishnamutthy, Introductory Theory of Computer Science V. P. Lane, Security of Computer Based Information Systems Graham Lee, From Hardware to Software - an introduction to computers A. M. Lister and R. D. Eager, Fundamentals of Operating Systems, fourth edition Thomas Manns and Michael Coleman, Software Quality Assurance G. P. McKeown and V. J. Rayward-Smith, Mathematics for Computing Brian Meek, Fortran, PL/1 and the A/gals A. Mevel and T. Gueguen, Smallta/k-80 Barry Morrell and Peter Whittle, CP/M 80 Programmer's Guide Derrick Morris, System Programming Based on the PDPJJ Y. Nishinuma and R. Espesser, UNIX- First contact Pim Oets, MS-DOS and PC-DOS- A Practical Guide Christian Queinnec, LISP E. J. Redfern, Introduction to Pascal for Computational Mathematics (continued overlea(J

K. L. - Springer978-1-349-10308-9/1.pdf · Barry Morrell and Peter Whittle, CP/M 80 Programmer's Guide Derrick Morris, System ... 1 Introduction 8 5.3.2 Tutorial: The Pascal Compiler

Embed Size (px)

Citation preview

Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester

S. T. Allworth and R.N. Zobel, Introduction to Real-time Software Design, second edition Ian 0. Angell and Gareth Griffith, High-resolution Computer Graphics Using FORTRAN 77 Ian 0. Angell and Gareth Griffith, High-resolution Computer Graphics Using Pascal M. Azmoodeh, Abstract Data Types and Algorithms C. Bamford and P. Curran, Data Structures, Files and Databases Philip Barker, Author Languages for CAL A. N. Barrett and A. L. Mackay, Spatial Structure and the Microcomputer R. E. Berry, B. A. E. Meekings and M.D. Soren, A Book on C, second edition G. M. Birtwistle, Discrete Event Modelling on Simula B. G. Blundell, C. N. Daskalakis, N. A. E. Heyes and T. P. Hopkins, An Introductory Guide to Silvar Lisco and HILO Simulators B. G. Blundell and C. N. Daskalakis, Using and Administering an Apollo Network T. B. Boffey, Graph Theory in Operations Research Richard Bornat, Understanding and Writing Compilers Linda E. M. Brackenbury, Design of VLSI Systems- A Practical Introduction J. K. Buckle, Software Configuration Management W. D. Burnham and A. R. Hall, Prolog Programming and Applications J. C. Cluley, Interf .. cing to Microprocessors J. C. Cluley, Introduction to Low Level Programming for Microprocessors Robert Cole, Computer Communications, second edition Derek Coleman, A Structured Programming Approach to Data Andrew J. T. Colin, Fundamentals of Computer Science Andrew J. T. Colin, Programming and Problem-solving in Algol 68 S. M. Deen, Fundamentals of Data Base Systems S. M. Deen, Principles and Practice of Database Systems Tim Denvir, Introduction to Discrete Mathematics for Software Engineering P. M. Dew and K. R. James, Introduction to Numerical Computation in Pascal M. R. M. Dunsmuir and G. J. Davies, Programming the UNIX System D. England eta/., A Sun User's Guide K. C. E. Gee, Introduction to Local Area Computer Networks J. B. Gosling, Design of Arithmetic Units for Digital Computers M.G. Hartley, M. Healey and P. G. Depledge, Mini and Microcomputer Systems Roger Hurty, Z80 Assembly Language Programming for Students Roland N. Ibbett, The Architecture of High Performance Computers Patrick Jaulent, The 68000- Hardware and Software P. Jaulent, L. Baticle and P. Pillot, 68020--30 Microprocessors and their Coprocessors J. M. King and J.P. Pardoe, Program Design Using ]SP-A Practical Introduction H. Kopetz, Software Reliability E. V. Krishnamutthy, Introductory Theory of Computer Science V. P. Lane, Security of Computer Based Information Systems Graham Lee, From Hardware to Software - an introduction to computers A. M. Lister and R. D. Eager, Fundamentals of Operating Systems, fourth edition Thomas Manns and Michael Coleman, Software Quality Assurance G. P. McKeown and V. J. Rayward-Smith, Mathematics for Computing Brian Meek, Fortran, PL/1 and the A/gals A. Mevel and T. Gueguen, Smallta/k-80 Barry Morrell and Peter Whittle, CP/M 80 Programmer's Guide Derrick Morris, System Programming Based on the PDPJJ Y. Nishinuma and R. Espesser, UNIX- First contact Pim Oets, MS-DOS and PC-DOS- A Practical Guide Christian Queinnec, LISP E. J. Redfern, Introduction to Pascal for Computational Mathematics

(continued overlea(J

Gordon Reece, Microcomputer Modelling by Finite Differences W. P. Salman, 0. Tisserand and B. Toulout, FORTH L. E. Scales, Introduction to Non-linear Optimization Peter S. Sell, Expert Systems -A Practical Introduction A. G. Sutcliffe, Human-Computer Interface Design Colin J. Theaker and Graham R. Brookes, A Practical Course on Operating Systems M. R. Tolhurst et al., Open Systems Interconnection J-M. Trio, 8086-8088 Architecture and Programming M. J. Usher, Information Theory for Information Technologists B.S. Walker, Understanding Microprocessors Peter J. L. Wallis, Portable Programming Colin Walls, Programming Dedicated Microprocessors I. R. Wilson and A.M. Addyman, A Practical Introduction to Pascal- with BS6192, second edition

Non-series Roy Anderson, Management, Information Systems and Computers I. 0. Angell, Advanced Graphics with the IBM Personal Computer J. E. Bingham and G. W. P. Davies, A Handbook of Systems Analysis, second edition J. E. Bingham and G. W. P. Davies, Planning for Data Communications B. V. Cordingley and D. Chamund, Advanced BASIC Scientific Subroutines N. Frude, A Guide to SPSS/PC+

Using and Administering an Apollo Network

Damian Anderson Bary Blundell (Joint Editor)

Steve Boniwell Glenn Brennan

Costas Daskalakis (Joint Editor) Bob Henson Nick Heyes

John Howarth

Barry Blundell, Costas Daskalakis and Nick Heyes are with the University of Manchester

Damian Anderson is with Harsant and Steward, Chester Glenn Brennan and Steve Boniwell are with the Technical Support

Group, Apollo, Milton Keynes John Howarth is the Technical Support Manager, Apollo,

Manchester Bob Henson is the Strategic Accounts Manager, Apollo, Bracknell

M MACMILLAN EDUCATION

© B. G. Blundell and C. N. Daskalakis 1988

All rights reserved. No reproduction, copy or transmission of this publication may be made without written permission. No paragraph of this publication may be reproduced, copied or transmitted save with written permission or in accordance with the provisions of the Copyright Act 1956 (as amended), or under the terms of any licence permitting limited copying issued by the Copyright Licensing Agency, 33-4 Alfred Place, London WC1E 7DP. Any person who does any unauthorised act in relation to this publication may be liable to criminal prosecution and civil claims for damages. First published 1988 Published by MACMILLAN EDUCATION LTD Houndmills, Basingstoke, Hampshire RG21 2XS and London Companies and representatives throughout the world

Unix is a registered trademark of AT&T Information Systems Inc. Domain, Domain/IX, Aegis, Dialogue, NCS, GMR, GPR, GSR are registered trademarks of Apollo Computer Inc. VAX, MICROVAX, Ultrix, VMS are registered trademarks of Digital Equipment Corporation. Postscript is a registered trademark of Adobe Systems Inc. MS-DOS is a registered trademark of Microsoft Corporation. Ethernet is a registered trademark of Xerox Corporation. IBM PC, IBM PC/AT are registered trademarks of International Business Machines Corporation.

British Library Cataloguing in Publication Data Using and administering an Apollo network.-

(Macmillan computer science series). 1. Computer systems. Networks. Apollo I. Blundell, B. G. (Barry G.) II. Daskalakis, C. N. (Costas N.) 004.6

ISBN 978-0-333-46804-3 ISBN 978-1-349-10308-9 (eBook) DOI 10.1007/978-1-349-10308-9

To

Maureen, Wilfred and Brian Blundell Marouso Daskalaki

Mr and Mrs Anderson Tracey Boniwell Myrna Howarth

Tom and Francis Heyes

CONTENTS

Foreword

Preface

Acknowledgements

CHAPTER ONE: Introduction to Apollo Workstations

1.1 HISTORICAL NOTE 1.2 PROCESSING POWER 1. 3 GRAPHICS 1.4 USER INTERFACE 1.5 THE NETWORK

1. 5.1 The Bus Structure 1. 5. 2 The Ring Structure

1.6 OPERATING SYSTEMS 1. 6.1 The Apollo Domain System 1.6.2 UNIX

1. 7 NETWORKING AND UNIX 1.7.1 AT&T's Remote File System 1.7.2 Sun's Network File System 1.7.3 Apollo's 'Domain File System'

1.8 NON-UNIX ENVIRONMENTS

CHAPTER TWO: Getting Started

2.1 INTRODUCTION 2 .1. 1 Concerning the Syntax in this Book

2.2 FILES AND DIRECTORIES 2.3 TUTORIAL: GETTING STARTED

2. 3. 1 Introduction 2. 3. 2 The Tutorial

2.4 CREATING AND EDITING TEXT FILES 2. 4. 1 Introduction 2. 4. 2 File Access Keys 2. 4. 3 Text Manipulation Keys 2.4.4 A Tutorial: Using the Apollo Editor

Page

xvii

xix

xxi

1

1 2 3 3 4 4 5 5 5 6 6 6 7 7 8

10

10 10 11 13 13 13 17 17 17 18 19

viii Using and Administering an Apollo Network

2.5 SHELL AND DISPLAY MANAGER COMMANDS 21 (in brief)

2.6 TUTORIAL: THE LIST DIRECTORY COMMANDS 22 2.7 CONCERNING DIRECTORIES 23

2.7.1 Introduction 23 2.7.2 A Tutorial 23

2.8 THE NAMING DIRECTORY AND THE COMMAND 25 SEARCH RULES

2.9 MORE SPECIAL PURPOSE KEYS 27

CHAPTER THREE: Commands and Processes 31

3.1 INTRODUCTION 31 3.2 SHELL COMMANDS 31

3.2.1 Introduction 31 3.2.2 The Commands 32 3.2.3 Redirection of Input and Output 37 3.2.4 Pipes and Filters 39 3.2.5 Wildcards 39 3.2.6 To Stop a Program 40

3.3 DISPLAY MANAGER COMMANDS 40 3.3.1 Introduction 40 3.3.2 The Commands 41

3.4 ACCESSING OTHER WORKSTATIONS ACROSS THE 47 NETWORK 3.4.1 Introduction 47 3.4.2 Accessing a Remote Workstation across the 47

Network 3.5 LINKS 48 3.6 PROCESSES so

3.6.1 Introduction so 3.6.2 Process 51 3.6.3 A Background Process 52 3.6.4 Server Processes 52 3.6.5 Remote Processes 52 3.6.6 Stopping a Process 53

3.7 SOME SERVER PROCESSES 54 3.7.1 Introduction 54 3.7.2 The Mailbox Server 54 3.7.3 The Server Process Manager 54 3.7.4 The Alarm Server 55

3.8 CHANGING PASSWORDS AND HOME DIRECTORIES 56 3.8.1 Changing Your Password 57

Contents

3.8.2 Changing Your Home Directory REFERENCES

CHAPTER FOUR: Concerning Aegis

ix

57 57

58

4.1 INTRODUCTION 58 4.2 TUTORIAL: A TOUR THROUGH SOME AEGIS 58

DIRECTORIES 4.3 THE BEHAVIOUR OF THE SYSTEM AT STARTUP 64

AND LOG-IN 4.3.1 The Events Occurring at Startup 64

4.3.1.1 Booting of a disked node (in 'normal' mode) 65 4.3.1.2 Booting of a diskless node (in 'normal' 65

mode) 4.3.1.3 The actions of Aegis when it begins 67

execution 4.4 THE EVENTS OCCURRING AT LOG-IN 69

4.4.1 Log-In Files 71 4.5 THE EFFECT OF THE 'SERVICE MODE' SWITCH 72

UPON STARTUP 4. 5 .1 Introduction 72 4.5.2 Manual Startup (Service Mode Switch Set to 73

'Service') 4.6 TURNING OFF A WORKSTATION 74

CHAPTER FIVE: Software Development on Apollo Workstations

5.1 INTRODUCTION 5.2 INTRODUCTION TO SHELL SCRIPTS

5.2.1 A Note on Shell Script Syntax 5.2.2 A Simple Shell Script Example 5. 2. 3 Printing to the Screen 5. 2.4 Mathematical and Logical Operators 5.2.5. Variables within Shell Scripts 5.2.6 Passing Parameters to Shell Scripts 5. 2. 7 Active Functions 5. 2. 8 Conditional Statements

5.2.8.1 The 'if' statement 5.2.8.2 The 'while' statement 5.2.8.3 The 'for' statement 5.2.8.4 The 'select' statement

76

76 76 77 77 77 78 78 81 82 82 82 84 85 86

X Using and Administering an Apollo Network

5.3 COMPILING AND BINDING PROGRAMS ON 88 APOLLO WORKSTATIONS 5. 3. 1 Introduction 8 8 5.3.2 Tutorial: The Pascal Compiler 89 5.3.3 Programming in Fortran and C 91 5.3.4 Using the Binder Utility 92 5.3.5 Tutorial: Executing Programs Which Contain 93

Graphics Calls 5.3.6 Programming Using System Calls 94

5.3.6.1 Tutorial: programming using system calls 95 5.3.7 Compiler Switches 96 5.3.8 Debug 97

REFERENCES 99

CHAPTER SIX: Domain/IX - Getting Started 100

6.1 INTRODUCTION 100 6.2 CONFIGURING A WORKSTATION TO RUN UNIX 100 6.3 DOMAIN/IX SHELLS 101

6. 3.1 Creating UNIX Shells 10 1 6. 3 .1.1 Invoking a UNIX shell from another shell 10 1 6.3.1.2 Creating UNIX shells using the display 103

manager 6.3.2 Differences between UNIX and Aegis Shells 103

6.3.2.1 Command names and functions 103 6.3.2.2 Command search rules 103 6.3.2.3 Execution of shell scripts 105 6.3.2.4 Wildcards 106

6.4 OPENING A UNIX SHELL AT LOG-IN 106 6.4.1 A Default UNIX Shell for All Users of a 106

Workstation 6.4.2 A Default UNIX Shell for a Single User of a 107

Workstation 6.5 DEFINING THE KEYBOARD FOR UNIX 107

CHAPTER SEVEN: System Administration (Aegis)

7.1 INTRODUCTION 7.2 BACKING UP FILES AND DIRECTORIES

7.2.1 WBAK 7.2.2 RBAK 7.2.3 Storage Devices 7.2.4 Creating a Remote Process for Backup

109

109 110 110 111 112 113

Contents xi

7.3 SETTING UP ACCOUNTS AND REGISTRIES 113 7.3.1 Registries 114 7.3.2 Setting up the Registries (on a Network) 115 7.3.3 Setting up the Registry (on a Stand-Alone 119

Network) 7.3.4 Using EDPPO and EDACCT to Enter 119

Information into the Registries 7.3.4.1 Introduction 119 7.3.4.2 The use of EDPPO 120 7.3.4.3 The use of EDACCT 122

7.4 SETTING UP DIRECTORY TREES AND FIXING 123 THEIR SECURITY 7.4.1 Building a User Directory Tree 123 7.4.2 Security of Files and Directories 124 7.4.3 The Modification of ACL's 127

7.4.3.1 The use of the EDACL command 127 7.4.3.2 The use of the ACL command to set the 130

access control list 7.4.4 More about ACL's 131 7.4.5 The Propagation of Security down a Directory 132

Tree 7.4.6 Positioning Applications Software and Defining 136

Logical Volumes 7.5 OPERATING SYSTEM SECURITY 137

7.5.1 Operating System ACL's 137 7.5.1.1 Setting the ACL's 138

7.5.2 Vulnerable Areas of the Operating System 139 7.6 V ARlO US SOFTWARE TOOLS 141

7.6.1 Chuvol (Change Unique Volume Identifier) 141 7.6.2 Ctnode (Catalog a Node) 142

7.6.2.1 Adding a node to the network 142 7.6.3 Calendar 143 7.6.4 Said (Salvage a Directory) 144 7.6.5 Rdym (Timing a Command) 144

7.7 TROUBLESHOOTING ON APOLLO 144 7.7.1 Introduction 144 7.7.2 The Error Log 145 7.7.3 Error Codes, Error Messages, etc 145 7.7.4 Shell Commands Available for Troubleshooting 147 7.7.5 Fault Finding with a Network 149 7.7.6 The 'Systest' Directory 149 7.7.7 The 'Sysboot' Program 150 7.7.8 Stand-Alone Utilities 151

7.7.8.1 'Sau' programs 152

xii Using and Administering an Apollo Network

7.7.8.2 'Sau' diagnostics 152 7.7.8.3 The 'diagnostic executive' ('dex') 153

7. 7. 9 The Boot Prom Diagnostics 15 4 7.7.9.1 DN3000 boot prom diagnostic LED error 154

codes 7.7.10 Troubleshooting at the Phase II Boot Shell 155

7.7.10.1 An example of troubleshooting at the 156 phase II boot shell

REFERENCES 156

CHAPTER EIGHT: Protected Subsystems 157

8.1 INTRODUCTION 157 8.2 WHY USE A PROTECTED SUBSYSTEM? 157 8.3 THE THEORY 158 8.4 PUTTING THE THEORY INTO PRACTICE 159 8.5 PROTECTED SUBSYSTEMS: A TUTORIAL 161

8. 5. 1 Introduction 161 8.5.2 The Tutorial 161

8.6 FURTHER INFORMATION 164 8.7 THE LOG-IN PROTECTED SUBSYSTEM 165 REFERENCES 166

CHAPTER NINE: Introduction to Graphics 167

9.1 COMPUTER GRAPHICS: A DEFINITION 167 9.2 HISTORICAL NOTE 167 9.3 COMPUTER GRAPHICS SYSTEMS DESCRIPTION 168 9.4 PRESENTATIONAL FEATURES OF DISPLAYS 171 9.5 OUTPUT DEVICES 172

9. 5 .1 Random Scan Refresh CRT's 172 9.5.2 Raster Scan CRT Displays 173 9.5.3 Storage CRT Displays 173 9.5.4 Memory Requirements in Raster Scan Systems 173

9.6 INPUT DEVICES 174 9.7 SOFTWARE ASPECTS IN COMPUTER GRAPHICS 175

9. 7.1 Languages in Graphics 17 5 9. 7. 2 General Purpose Languages in Graphics 17 5

9.8 GRAPHICS STANDARDS 177 9. 8 .1 Graphical Kernel System 17 8

9. 8 .1.1 GKS primitives and attributes 17 8 9. 8. 1. 2 Coordinate system 179 9.8.1.3 GKS segments and their attributes 179

Contents xiii

9.8.1.4 GKS input 180 9.8.1.5 GKS workstations 180 9.8.1.6 Conclusion 181

9.8.2 GKS-3D 181 9.8.3 Programmer's Hierarchical Interactive Graphics 182

System - PRIGS 9.8.4 PostScript 183 9.8.5 Other Related Standards 184

9.8.5.1 Computer graphics metafile - CGM 184 9.8.5.2 Computer graphics interface - CGI 184

REFERENCES 184

CHAPTER TEN: Using and Selecting Apollo Graphics 187 Packages

10.1 INTRODUCTION 187 10.2 HARDWARE CONSIDERATIONS 187 10.3 GRAPHICS TOOLS 188

10.3.1 Standards 189 1 0. 3. 2 Proprietary Resources 18 9

10.4 COMPARISON OF PROPRIETARY GRAPHICS TOOLS 191 10.4 .1 Introduction 191 10.4.2 GSR 191

10.4.2.1 When to use GSR 192 10.4.2.2 Example code 192

10.4.3 GPR 196 10.4.3.1 When to use GPR 196 10.4.3.2 Example code 196

10.4.4 20 GMR 198 10.4.4.1 When to use 2D GMR 198 10.4.4.2 Example code 199

10.4.5 3D GMR 201 10.4.5.1 When to use 3D GMR 201 10.4.5.2 Example code 201

10.5 USING THE PROPRIETARY RESOURCES 204 10.5 .1 Application Programming 204 10.5.2 Display Modes 205 10.5.3 Initialising the System 206 10.5.4 Other Useful Information for Programmers 209

10.5.4.1 GSR 209 10.5.4.2 GPR 209 10.5.4.3 2D GMR 211 10.5.4.4 3D GMR 213

REFERENCES 215

xiv Using and Administering an Apollo Network

CHAPTER ELEVEN: Dialogue 216

11.1 INTRODUCTION 216 11.1.1 Need for Good User Interfaces 216

11.2 CONCEPTS OF DIALOGUE 216 11.2.1 The Advantages of Using Dialogue 218

11.3 THE APPEARANCE OF DIALOGUE USER 219 INTERFACES 11.3.1 Example Programs 219 11.3. 2 Presentation Techniques 219 11.3.3 Structuring Techniques 221

11.4 WRITING DIALOGUE SOFTWARE 224 11. 4. 1 The Description File 2 2 4

11.4.1.1 Tutorial - creating a 'quit' icon 226 11.4.1.2 Component syntax 229 11.4.1.3 Tutorial- using rows and popups 231 11.4.1.4 Key definitions 234 11.4.1.5 Templates 234 11.4.1.6 Insert files 235 11.4.1. 7 Help 235 11.4.1.8 Tutorial - using oneofs, templates and help 236

11.4.2 The Main Program 237 11.4.3 The Routine File 238

11.4.3.1 Dialogue library routines 238 11.4.4 Translating, Compiling and Binding 239

11.4.4.1 Translating 240 11.4.4.2 Compiling 240 11.4.4.3 Binding 240 11.4.4.4 Tutorial- creating a complete program 241

REFERENCES 243

CHAPTER TWELVE: Operating System Internals 244

12.1 INTRODUCTION 244 12.2 DESIGN REQUIREMENTS 244

12.2.1 Personal Workstations 245 12.2.2 Distributed System 245 12.2.3 Local Area Network 245 12.2.4 Summary 246

12.3 PROCESSES 246 12.3.1 Address Space 247 12.3.2 Process Scheduling 249

12.4 VIRTUAL MEMORY 252

Contents

12 .4. 1 Single Level Store 12.4.2 Implementation

12.4.2.1 Points to note 12.5 THE FILE SYSTEM

12.5.1 Overview 12.5.2 Unique Identifiers 12.5.3 The Naming Server

12. 5. 3. 1 Directory structure 12.5.3.2 Notes on naming

12.5 .4 The Object Storage System 12.5.5 The Streams Manager 12.5.6 Network Filing System

APPENDIX A: Aegis and UNIX Commands

XV

252 255 255 256 256 257 258 258 259 260 261 262

264

FOREWORD

British universities and polytechnics have received significant capital and extra recurrent funding for hardware and software to support the teach­ing of CAD. This funding has led to a very rapid expansion in the use of high quality graphics workstations in many areas of teaching.

Networked Apollo workstations support a wide range of the software required for undergraduate and postgraduate teaching and a large number of systems have been installed over the last two years. With the large number of staff and students involved in managing and using these workstation clusters, it is highly desirable that there should be a textbook at an appropriate level of detail.

This book benefits considerably from being a joint effort between staff at the University of Manchester and staff at Apollo UK. The input from Apollo guarantees the accuracy of the technical detail at the time of publication and ensures that the systems described are as up to date as possible in such a rapidly developing area. The academic staff have been involved in setting up and running teaching laboratories using Apollo sys­tems for over two years. This experience is essential in selecting the information to be included in a compact introduction to the use and management of networked Apollo workstations.

Detailed treatment of some topics cannot be included in a book of this size. However, the reader of the book will find it much easier to extract any detailed information that may be required from the com­prehensive range of Apollo manuals.

J M F Drake, Apollo Computer (UK) Ltd F H Sumner, University of Manchester

March 1988

xvii

PREFACE

This work aims to discuss the hardware, software and networking of Apollo workstations. Many of the topics that are described could each occupy an entire book, and it has therefore been necessary at times to omit detail. It is hoped, nonetheless, that the book will provide a link between the user and the vast quantity of manuals which are provided with a workstation.

Most of the tutorials presented have been tested immediately prior to publication, and it is expected that the majority will be completely accurate. The Editors should be grateful to hear of any mistakes or omis­sions.

The book is based on the SR9. 5 version of the operating system, although many of the chapters are accurate for all versions of Aegis. It is hoped that major revisions will take place when SR10, together with Open Dialogue, become readily available and commonly used. The Editors would, therefore, be pleased to hear from any Apollo users who would like to contribute to the above work, in particular from those who gain experience using Open Dialogue, the Apollo Network Computing System, and the networking of Apollos to computers produced by other vendors.

Barry Blundell Costas Daskalakis

March 1988

xix

ACKNOWLEDGEMENTS

The Editors wish to express their gratitude to the many people who have helped in the preparation of this work. Professor Frank Sumner (Univer­sity of Manchester) kindly provided us with the opportunity to produce the book, and Malcolm Stewart of Macmillan Education arranged for its publication.

We have had access to the excellent Apollo computer facilities within the Department of Electrical Engineering of the University of Manchester, and should like to thank Professor P G Farrell (Head of Department) for making these available to us.

During the course of producing this work a great deal of help has been forthcoming from the staff at Apollo Computer (UK) Ltd. We should particularly like to thank those who have written material for the book, and their colleagues who have read and made corrections to it. Our thanks, therefore, to Glenn Brennan, Steve Boniwell, Andrew Jenkins, Dave Catchpole and John Pile, from the technical support group of Apollo, Milton Keynes. Thanks also to Bob Henson, the strategic accounts manager of Apollo, Bracknell. The staff in the training depart­ment at Milton Keynes kindly read and corrected a large portion of the final draft of this work, thanks therefore to John Conneely, John Parry, Larry Wiltshire and Cliff Willsher. We are greatly indebted to all the staff at the local Apollo office in Manchester, in particular John Howarth, Dave Kershaw, Ian Stewart, Nigel Thorpe, Mike Rawse, Robby Robinson and Steve Kaye. Let us not forget Rhona Gillespie, whose patience is infinite, and Alan Thwaites, who finally had enough and emigrated to Australia. Thanks also to Mike Drake of Apollo, Milton Keynes, for his support and encouragement. We should also like to acknowledge the help and courtesy shown to us by Traci Hawksworth - yet anothe.r ex­tremely patient Apollo staff member!

The book has been produced using Interleaf Workstation Publica­tion Software on a DN300, which was loaned to us for the purpose by Apollo, Milton Keynes. The typing was done by Kathryn Howard and Lisa Salt, and the formatting was carried out by Jandy Blundell. We should like to thank them all for their contribution.

Our thanks to the staff of the Computer Graphics Unit of the Com­puter Science Department, particularly Terry Hewitt, for his help with graphics standards in Chapter 9. Finally thanks to Alys ...

xxi