1 Introduction: Examples and requirements PART 1 BACKGROUND AND FUNDAMENTALS 2 System structure and dynamic execution 3 The hardware interface, I/O and communications 4 Support for processes and threads 5 Fundamentals of distributed systems 6 Memory management 7 File management 8 Security PART II SINGLE CONCURRENT ACTIONS 9 System structure 10 Low-level synchronization primitives: Implementation 11 Low-level primitives: Use in systems and languages 12 Language primitives for shared memory 13 IPC and system structure 14 IPC without shared memory 15 Crash resilience and persistent data 16 Distributed IPC PART III CONCURRENT COMPOSITE ACTIONS 17 Decomposable abstract operations 18 Resource allocation and deadlock 19 Transactions 20 Concurrency control 21 Recovery 22 Distributed transaction 23 Distributed computations PART IV CASE STUDIES 24 Unix and Linux 25 NT and Windows 2000 26 Extensible Operating Systems 27 Middleware 28 Transaction processing monitors and systems Appendix: Evolution of computer systems A.1 Introduction, technological and commercial context A.2 Operating systems and distributed operating systems A.2.1 Multiprogramming batch A.2.2 Centralized time-sharing (interactive) systems A.2.3 Workstations and personal computers A.3 Middleware A.3.1 Distributed programming, communications and services A.3.2 Mobile and ubiquitous computing A.4 Databases Bibliography Glossary Author index Subject index
Jean Bacon is Lecturer in Computer Science at the University of Cambridge and a Fellow of Jesus College. She teaches operating systems, distributed systems and computer architecture, with her research in the area of distributed systems for which Cambridge is a centre of excellence. Tim Harris is Lecturer in Computer Science at the University of Cambridge and a Fellow of Churchill College. He recently received his doctorate on extensible operating systems.