Formatted contents note |
Chapter 0 Guide for Readers and Instructors 0.1 Outline of the Book0.2 A Roadmap for Readers and Instructors0.3 Internet and Web Resources PART ONE BACKGROUND Chapter 1 Computer System Overview1.1 Basic Elements1.2 Evolution of the Microprocessor1.3 Instruction Execution1.4 Interrupts1.5 The Memory Hierarchy1.6 Cache Memory1.7 Direct Memory Access1.8 Multiprocessor and Multicore Organization1.9 Recommended Reading and Web Sites1.10 Key Terms, Review Questions, and ProblemsAppendix 1A Performance Characteristics of Two-Level Memory Chapter 2 Operating System Overview2.1 Operating System Objectives and Functions2.2 The Evolution of Operating Systems2.3 Major Achievements2.4 Developments Leading to Modern Operating Systems2.5 Virtual Machines2.6 OS Design Considerations for Multiprocessor and Multicore2.7 Microsoft Windows Overview2.8 Traditional UNIX Systems2.9 Modern UNIX Systems2.10 Linux2.11 Android2.12 Recommended Reading and Web Sites2.13 Key Terms, Review Questions, and Problems PART TWO PROCESSES Chapter 3 Process Description and Control 3.1 What Is a Process?3.2 Process States3.3 Process Description3.4 Process Control3.5 Execution of the Operating System3.6 UNIX SVR4 Process Management3.7 Summary3.8 Recommended Reading and Animations3.9 Key Terms, Review Questions, and Problems Chapter 4 Threads4.1 Processes and Threads4.2 Types of Threads4.3 Multicore and Multithreading4.4 Windows 8 Process and Thread Management 4.5 Solaris Thread and SMP Management4.6 Linux Process and Thread Management4.7 Android Process and Thread Management4.8 Mac OS X Grand Central Dispatch4.9 Summary4.10 Recommended Reading4.11 Key Terms, Review Questions, and Problems Chapter 5 Concurrency: Mutual Exclusion and Synchronization5.1 Principles of Concurrency5.2 Mutual Exclusion: Hardware Support5.3 Semaphores5.4 Monitors5.5 Message Passing5.6 Readers/Writers Problem5.7 Summary5.8 Recommended Reading and Animations5.9 Key Terms, Review Questions, and Problems Chapter 6 Concurrency: Deadlock and Starvation6.1 Principles of Deadlock6.2 Deadlock Prevention6.3 Deadlock Avoidance6.4 Deadlock Detection6.5 An Integrated Deadlock Strategy6.6 Dining Philosophers Problem6.7 UNIX Concurrency Mechanisms6.8 Linux Kernel Concurrency Mechanisms6.9 Solaris Thread Synchronization Primitives6.10 Windows Concurrency Mechanisms6.11 Android Interprocess Communications6.12 Summary6.13 Recommended Reading6.14 Key Terms, Review Questions, and Problems PART THREE MEMORY Chapter 7 Memory Management7.1 Memory Management Requirements7.2 Memory Partitioning7.3 Paging7.4 Segmentation7.5 Summary7.6 Recommended Reading and Animations7.8 Key Terms, Review Questions, and ProblemsAppendix 7A Loading and Linking Chapter 8 Virtual Memory8.1 Hardware and Control Structures8.2 Operating System Software8.3 UNIX and Solaris Memory Management8.4 Linux Memory Management8.5 Windows Memory Management8.6 Android Memory Management8.7 Summary8.8 Recommended Reading and Web Sites8.9 Key Terms, Review Questions, and Problems PART FOUR SCHEDULING Chapter 9 Uniprocessor Scheduling9.1 Types of Scheduling9.2 Scheduling Algorithms9.3 Traditional UNIX Scheduling9.4 Summary9.5 Recommended Reading and Animations9.6 Key Terms, Review Questions, and Problems Chapter 10 Multiprocessor and Real-Time Scheduling10.1 Multiprocessor and Multicore Scheduling10.2 Real-Time Scheduling10.3 Linux Scheduling10.4 UNIX SVR4 Scheduling10.5 UNIX FreeBSD Scheduling10.6 Windows Scheduling10.7 Summary10.8 Recommended Reading10.9 Key Terms, Review Questions, and Problems PART FIVE INPUT/OUTPUT AND FILES Chapter 11 I/O Management and Disk Scheduling11.1 I/O Devices11.2 Organization of the I/O Function11.3 Operating System Design Issues11.4 I/O Buffering11.5 Disk Scheduling11.6 RAID11.7 Disk Cache11.8 UNIX I/O11.9 Linux I/O11.10 Windows I/O11.11 Summary11.12 Recommended Reading11.13 Key Terms, Review Questions, and Problems Chapter 12 File Management12.1 Overview12.2 File Organization and Access12.3 B-Trees12.4 File Directories12.5 File Sharing12.6 Record Blocking12.7 Secondary Storage Management12.8 UNIX File Management12.9 Linux Virtual File System12.10 Windows File System12.11 Android File Management12.12 Summary12.13 Recommended Reading12.14 Key Terms, Review Questions, and Problems PART SIX ADVANCED TOPICS Chapter 13 Embedded Operating Systems13.1 Embedded Systems13.2 Characteristics of Embedded Operating Systems13.3 Embedded Linux13.4 TinyOS13.5 Embedded Linux13.5 Recommended Reading13.6 Key Terms, Review Questions, and Problems Chapter 14 Virtual Machines14.1 Approaches to Virtualization14.2 Processor Issues14.3 Memory Management14.4 I/O Management14.5 VMware ESXi14.6 Microsoft Hyper-V and Xen Variants14.7 Java VM14.8 Linux VServer Virtual Machine Architecture14.9 Android Virtual Machine14.10 Recommended Reading14.11 Key Terms, Review Questions, and Problems Chapter 15 Operating System Security15.1 Intruders and Malicious Software15.2 Buffer Overflow15.3 Access Control15.4 UNIX Access Control15.5 Operating Systems Hardening15.6 Security Maintenance15.7 Windows Security15.8 Recommended Reading15.9 Key Terms, Review Questions, and Problems Chapter 16 Distributed Processing, Client/Server, and Clusters16.1 Client/Server Computing16.2 Distributed Message Passing16.3 Remote Procedure Calls16.4 Clusters16.5 Windows Cluster Server16.6 Beowulf and Linux Clusters16.7 Summary16.8 Recommended Reading16.9 Key Terms, Review Questions, and Problems APPENDICESAppendix A Topics in Concurrency Appendix B Programming and Operating System Projects ReferencesIndex Acronyms ONLINE CHAPTERS AND APPENDICES[1] Chapter 17 Network Protocols17.1 The Need for a Protocol Architecture17.2 The TCP/IP Protocol Architecture17.3 Sockets17.4 Linux Networking17.5 Summary17.6 Recommended Reading and Web Sites17.7 Key Terms, Review Questions, and ProblemsAppendix 17A The Trivial File Transfer Protocol Chapter 18 Distributed Process Management 18.1 Process Migration18.2 Distributed Global States18.3 Distributed Mutual Exclusion18.4 Distributed Deadlock18.5 Summary18.6 Recommended Reading18.7 Key Terms, Review Questions, and Problems Chapter 19 Overview of Probability and Stochastic Processes19.1 Probability19.2 Random Variables19.3 Elementary Concepts of Stochastic Processes19.4 Recommended Reading and Web Sites19.5 Key Terms, Review Questions, and Problems Chapter 20 Queueing Analysis20.1 How Queues Behave-A Simple Example20.2 Why Queuing Analysis?20.3 Queueing Models20.4 Single-Server Queues20.5 Multiserver Queues20.6 Examples20.7 Queues with Priorities20.8 Networks of Queues20.9 Other Queueing Models20.10 Estimating Model Parameters20.11 Recommended Reading and Web Sites20.12 Key Terms, Review Questions, and Problems Programming Project One Developing a Shell Programming Project Two The HOST Dispatcher Shell Appendix C Topics in Computer Organization Appendix D Object-Oriented Design Appendix E Amdahl's Law Appendix F Hash TablesAppendix G Response TimeAppendix H Queueing System Concepts Appendix I The Complexity of Algorithms Appendix J Disk Storage Devices Appendix K Cryptographic AlgorithmsAppendix L Standards Organizations Appendix M Sockets: A Programmer's Introduction Appendix N The International Reference Alphabet Appendix O BACI: The Ben-Ari Concurrent Programming System Appendix P Procedure Control Appendix Q eCOS Glossary |
Summary, etc |
Intended for use in a one- or two-semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors Operating Systems: Internals and Design Principles provides a comprehensive and unified introduction to operating systems topics. Stallings emphasizes both design issues and fundamental principles in contemporary systems and gives readers a solid understanding of the key structures and mechanisms of operating systems. He discusses design trade-offs and the practical decisions affecting design, performance and security. The book illustrates and reinforces design concepts and ties them to real-world design choices through the use of case studies in Linux, UNIX, Android, and Windows 8. Teaching and Learning Experience This program presents a better teaching and learning experience-for you and your students. It will help: *Illustrate Concepts with Running Case Studies: To illustrate the concepts and to tie them to real-world design choices that must be made, four operating systems serve as running examples. *Easily Integrate Projects in your Course: This book provides an unparalleled degree of support for including a projects component in the course. *Keep Your Course Current with Updated Technical Content: This edition covers the latest trends and developments in operating systems. *Provide Extensive Support Material to Instructors and Students: Student and instructor resources are available to expand on the topics presented in the text. |