Modern software systems rely on the concepts of concurrency, modularity and distribution, both within the design of the operating system and those systems that it supports. Underlying this book is the premise that distributed systems are now commonplace and a reader is more likely to be using one than a centralized time-sharing system. This modern approach therefore avoids the focus on centralized systems, instead placing the operating system within its context and providing an overview of system components and their relationships.The book is divided into four parts:
System Design, covering the basic operating system functions and describing the abstraction and implementation of a system as a community of (possibly distributed) concurrent processes. Distributed systems are introduced and a chapter on system security is included.
Concurrency Control in Main Memory, focusing on concurrency control in operating systems and application-level systems and exploring inter-process communication (IPC) in the context of (distributed) system design.
Transactions, demonstrating the general applicability of concurrent composite operations.
Case Studies, considering different systems in the light of the perspective developed in the book: Classical UNIX; Linux, Solaris and Contemporary Unix; Extensible Systems; Windows 2000; Web Programming; Middleware; and Transaction Processing Systems.The Java language has been used throughout to illustrate object-oriented concepts, concurrent algorithms and distributed programming and the book includes a chapter on system security. The case studies, covering a full suite of professional operating systems, enable the course to be taught as a blend of theory and practice, so that on completion of the course a student is able to adapt and build real operating systems that function within a distributed environment.
Shelving category: Operating Systems/Concurrency/Distributed Systems
Title: Operating Systems
Subtitle: Concurrent and Distributed Software Design
Authors: Jean Bacon and Tim Harris
Today's software systems rely on the concepts of concurrency, modularity and distribution, both within the design of the operating system and those systems that it supports. The modern approach of this book acknowledges that distributed systems are now commonplace and a reader is more likely to be using one than a centralized time-sharing system. This avoids the focus on centralized systems, instead placing the operating system within its context and providing an overview of system components and their relationships. Java is used throughout to illustrate object-oriented concepts, concurrent algorithms and distributed programming.
* Core OS concepts and functions are explained
* Covers the latest developments in OS theory and practice
* OS case studies in UNIX, LINUX, Windows 2000/NT, JVM
* Objects, concurrency and transactions are unifying themes
* Incorporates Java throughout the book
* System security is covered in a full chapter
* Integrated approach to database and distributed system design
* Further case studies on Web services, Middleware and Transaction Processing
Operating Systems is an ideal text for undergraduates on modern operating systems courses. Programmers, software engineers and systems designers will also gain new insights into the integrated nature of today's system software.
Jean Bacon is a Reader 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 a Lecturer in Computer Science at the University of Cambridge and a Fellow of Churchill College. He recently received his doctorate on extensible operating systems. As well as systems courses he teaches concurrent programming in Java.