Operating systems are large and complex, and yet must function with near-absolute reliability--that's why they're a class unto themselves in the field of software development. Since its first release 20 years ago, "the dinosaur book"--Operating System Concepts by Avi Silberschatz, Peter Baer Galvin, and Greg Gagne--has been a valuable reference for designers and implementers of operating systems. The newly released sixth edition of this book maintains the volume's authority with new sections on thread management, distributed processes, and the Java Virtual Machine (JVM). There's also information on the workings of the latest crop of operating systems, including Microsoft Windows 2000, Linux, FreeBSD, and compact operating systems for handheld devices.
This book is concerned with the design of operating systems, which is to say it enumerates the problems that pop up in the creation of efficient systems and explores alternative ways of dealing with them, detailing the advantages and shortcomings of each. For example, in their chapter on scheduling CPU activity, the authors explain several algorithms (first-come, first-served, and round-robin scheduling, among others) for allocating the capacity of single and multiple processors among jobs. They highlight the relative advantages of each, and explain how several real-life operating systems solve the problem. They then present the reader with exercises--this book is essentially a university textbook--that inspire thought and discussion. --David Wall
Topics covered: The problems faced by designers of system software for electronic computers, and strategies that have been developed over the past 20 years to address (and, in some cases, solve ) them. Problems of CPU scheduling, memory allocation, paging, processes and threads, storage management, distributed processes and storage mechanisms, and security are all discussed thoroughly and with many authoritative references. [via]