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 Page Foreword xvii Preface xix Acknowledgements xxi CHAPTER ONE: Introduction to Apollo Workstations 1 1.1 HISTORICAL NOTE 1 1.2 PROCESSING POWER 2 1. 3 GRAPHICS 3 1.4 USER INTERFACE 3 1.5 THE NETWORK 4 1. 5.1 The Bus Structure 4 1. 5. 2 The Ring Structure 5 1.6 OPERATING SYSTEMS 5 1. 6.1 The Apollo Domain System 5 1.6.2 UNIX 6 1. 7 NETWORKING AND UNIX 6 1.7.1 AT&T's Remote File System 6 1.7.2 Sun's Network File System 7 1.7.3 Apollo's 'Domain File System' 7 1.8 NON-UNIX ENVIRONMENTS 8 CHAPTER TWO: Getting Started 10 2.1 INTRODUCTION 10 2 .1. 1 Concerning the Syntax in this Book 10 2.2 FILES AND DIRECTORIES 11 2.3 TUTORIAL: GETTING STARTED 13 2. 3. 1 Introduction 13 2. 3. 2 The Tutorial 13 2.4 CREATING AND EDITING TEXT FILES 17 2. 4. 1 Introduction 17 2. 4. 2 File Access Keys 17 2. 4. 3 Text Manipulation Keys 18 2.4.4 A Tutorial: Using the Apollo Editor 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 ix 3.8.2 Changing Your Home Directory 57 REFERENCES 57 CHAPTER FOUR: Concerning Aegis 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 76 Workstations 5.1 INTRODUCTION 76 5.2 INTRODUCTION TO SHELL SCRIPTS 76 5.2.1 A Note on Shell Script Syntax 77 5.2.2 A Simple Shell Script Example 77 5. 2. 3 Printing to the Screen 77 5. 2.4 Mathematical and Logical Operators 78 5.2.5. Variables within Shell Scripts 78 5.2.6 Passing Parameters to Shell Scripts 81 5. 2. 7 Active Functions 82 5. 2. 8 Conditional Statements 82 5.2.8.1 The 'if' statement 82 5.2.8.2 The 'while' statement 84 5.2.8.3 The 'for' statement 85 5.2.8.4 The 'select' statement 86 Using and Administering an Apollo Network X 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) 109 7.1 INTRODUCTION 109 7.2 BACKING UP FILES AND DIRECTORIES 110 7.2.1 WBAK 110 7.2.2 RBAK 111 7.2.3 Storage Devices 112 7.2.4 Creating a Remote Process for Backup 113