7th Edition. — Prentice Hall, 2011. — 210 p.
This book is about the concepts, structure, and mechanisms of operating systems. Its purpose is to present, as clearly and completely as possible, the nature and characteristics of modern-day operating systems.
This task is challenging for several reasons. First, there is a tremendous range and variety of computer systems for which operating systems are designed. These include embedded systems, smart phones, single-user workstations and personal computers, medium-sized shared systems, large mainframe and supercomputers, and specialized machines such as real-time systems. The variety is not just in the capacity and speed of machines, but in applications and system support requirements as well. Second, the rapid pace of change that has always characterized computer systems continues with no letup. A number of key areas in operating system design are of recent origin, and research into these and other new areas continues. In spite of this variety and pace of change, certain fundamental concepts apply consistently throughout. To be sure, the application of these concepts depends on the current state of technology and the particular application requirements. The intent of this book is to provide a thorough discussion of the fundamentals of operating system design and to relate these to contemporary design issues and to current directions in the development of operating systems.
The book is intended for both an academic and a professional audience. As a textbook, it is intended as a one-semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors. It covers all of the core topics and most of the elective topics recommended in Computer Science Curriculum 2008, from the Joint Task Force on Computing Curricula of the IEEE Computer Society and the ACM, for the Undergraduate Program in Computer Science. The book also covers the operating systems topics recommended in the Guidelines for Associate-Degree Curricula in Computer Science 2002, also from the Joint Task Force on Computing Curricula of the IEEE Computer Society and the ACM. The book also serves as a basic reference volume and is suitable for self-study.
Reader’s and Instructor’s Guide
BackgroundComputer System Overview
Operating System
ProcessesProcess Description and Control
Threads
Concurrency: Mutual Exclusion and Synchronization
Concurrency: Deadlock and Starvation
MemoryMemory Management
Virtual Memory
SchedulingUniprocessor Scheduling
Multiprocessor and Real-Time Scheduling
Input/Output and FilesI/O Management and Disk Scheduling
File Management
Embedded SystemsEmbedded Operating Systems
Computer SecurityComputer Security Threats
Computer Security Techniques
Distributed SystemsDistributed Processing, Client/Server, and Clusters
AppendicesTopics in Concurrency
Programming and Operating System Projects