- ホーム
- > 洋書
- > 英文書
- > Computer / Operating Systems
Full Description
Operating Systemsa one- or two-semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors. It also serves as a useful reference for programmers, systems engineers, network designers and others involved in the design of computer products, information system and computer system personnel.Operating Systems 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 ExperienceThis 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.
Contents
Chapter 0 Guide for Readers and Instructors 0.1 Outline of the Book0.2 A Roadmap for Readers and Instructors0.3 Internet and Web ResourcesPART ONE BACKGROUND Chapter 1 Computer System Overview 1.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 MemoryChapter 2 Operating System Overview 2.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 ProblemsPART 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 ProblemsChapter 4 Threads 4.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 ProblemsChapter 5 Concurrency: Mutual Exclusion and Synchronization 5.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 ProblemsChapter 6 Concurrency: Deadlock and Starvation 6.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 ProblemsPART THREE MEMORY Chapter 7 Memory Management 7.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 LinkingChapter 8 Virtual Memory 8.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 ProblemsPART FOUR SCHEDULING Chapter 9 Uniprocessor Scheduling 9.1 Types of Scheduling9.2 Scheduling Algorithms9.3 Traditional UNIX Scheduling9.4 Summary9.5 Recommended Reading and Animations9.6 Key Terms, Review Questions, and ProblemsChapter 10 Multiprocessor and Real-Time Scheduling 10.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 ProblemsPART FIVE INPUT/OUTPUT AND FILES Chapter 11 I/O Management and Disk Scheduling 11.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 ProblemsChapter 12 File Management 12.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 ProblemsPART SIX ADVANCED TOPICS Chapter 13 Embedded Operating Systems 13.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 ProblemsChapter 14 Virtual Machines 14.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 ProblemsChapter 15 Operating System Security 15.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 ProblemsChapter 16 Distributed Processing, Client/Server, and Clusters 16.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 ProblemsAPPENDICES Appendix A Topics in Concurrency Appendix B Programming and Operating System Projects References Index Acronyms ONLINE CHAPTERS AND APPENDICES[1] Chapter 17 Network Protocols 17.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 ProtocolChapter 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 ProblemsChapter 19 Overview of Probability and Stochastic Processes 19.1 Probability19.2 Random Variables19.3 Elementary Concepts of Stochastic Processes19.4 Recommended Reading and Web Sites19.5 Key Terms, Review Questions, and ProblemsChapter 20 Queueing Analysis 20.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 ProblemsProgramming 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 Algorithms Appendix 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 [1] Online chapters, appendices, and other documents are Premium Content, available via the access card at the front of the book.