Operating systems internals and design principles

For one- or two-semester undergraduate courses in operating systems for computer science, computer engineering, and electrical engineering majors An introduction to operating systems with up-to-date and comprehensive coverage Now in its 9th Edition, Operating Systems: Internals and Design Principles...

Descripción completa

Detalles Bibliográficos
Otros Autores: Stallings, William, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Harlow, England : Pearson 2018.
Edición:Ninth edition, Global edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009632533306719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright Page
  • Contents
  • Online Chapters and Appendices
  • VideoNotes
  • Preface
  • About the Author
  • PART 1 BACKGROUND
  • Chapter 1 Computer System Overview
  • 1.1 Basic Elements
  • 1.2 Evolution of the Microprocessor
  • 1.3 Instruction Execution
  • 1.4 Interrupts
  • 1.5 The Memory Hierarchy
  • 1.6 Cache Memory
  • 1.7 Direct Memory Access
  • 1.8 Multiprocessor and Multicore Organization
  • 1.9 Key Terms, Review Questions, and Problems
  • 1A Performance Characteristics of Two-Level Memories
  • Chapter 2 Operating System Overview
  • 2.1 Operating System Objectives and Functions
  • 2.2 The Evolution of Operating Systems
  • 2.3 Major Achievements
  • 2.4 Developments Leading to Modern Operating Systems
  • 2.5 Fault Tolerance
  • 2.6 OS Design Considerations for Multiprocessor and Multicore
  • 2.7 Microsoft Windows Overview
  • 2.8 Traditional UNIX Systems
  • 2.9 Modern UNIX Systems
  • 2.10 Linux
  • 2.11 Android
  • 2.12 Key Terms, Review Questions, and Problems
  • PART 2 PROCESSES
  • Chapter 3 Process Description and Control
  • 3.1 What is a Process?
  • 3.2 Process States
  • 3.3 Process Description
  • 3.4 Process Control
  • 3.5 Execution of the Operating System
  • 3.6 UNIX SVR4 Process Management
  • 3.7 Summary
  • 3.8 Key Terms, Review Questions, and Problems
  • Chapter 4 Threads
  • 4.1 Processes and Threads
  • 4.2 Types of Threads
  • 4.3 Multicore and Multithreading
  • 4.4 Windows Process and Thread Management
  • 4.5 Solaris Thread and SMP Management
  • 4.6 Linux Process and Thread Management
  • 4.7 Android Process and Thread Management
  • 4.8 Mac OS X Grand Central Dispatch
  • 4.9 Summary
  • 4.10 Key Terms, Review Questions, and Problems
  • Chapter 5 Concurrency: Mutual Exclusion and Synchronization
  • 5.1 Mutual Exclusion: Software Approaches
  • 5.2 Principles of Concurrency
  • 5.3 Mutual Exclusion: Hardware Support.
  • 5.4 Semaphores
  • 5.5 Monitors
  • 5.6 Message Passing
  • 5.7 Readers/Writers Problem
  • 5.8 Summary
  • 5.9 Key Terms, Review Questions, and Problems
  • Chapter 6 Concurrency: Deadlock and Starvation
  • 6.1 Principles of Deadlock
  • 6.2 Deadlock Prevention
  • 6.3 Deadlock Avoidance
  • 6.4 Deadlock Detection
  • 6.5 An Integrated Deadlock Strategy
  • 6.6 Dining Philosophers Problem
  • 6.7 UNIX Concurrency Mechanisms
  • 6.8 Linux Kernel Concurrency Mechanisms
  • 6.9 Solaris Thread Synchronization Primitives
  • 6.10 Windows Concurrency Mechanisms
  • 6.11 Android Interprocess Communication
  • 6.12 Summary
  • 6.13 Key Terms, Review Questions, and Problems
  • PART 3 MEMORY
  • Chapter 7 Memory Management
  • 7.1 Memory Management Requirements
  • 7.2 Memory Partitioning
  • 7.3 Paging
  • 7.4 Segmentation
  • 7.5 Summary
  • 7.6 Key Terms, Review Questions, and Problems
  • 7A Loading and Linking
  • Chapter 8 Virtual Memory
  • 8.1 Hardware and Control Structures
  • 8.2 Operating System Software
  • 8.3 UNIX and Solaris Memory Management
  • 8.4 Linux Memory Management
  • 8.5 Windows Memory Management
  • 8.6 Android Memory Management
  • 8.7 Summary
  • 8.8 Key Terms, Review Questions, and Problems
  • PART 4 SCHEDULING
  • Chapter 9 Uniprocessor Scheduling
  • 9.1 Types of Processor Scheduling
  • 9.2 Scheduling Algorithms
  • 9.3 Traditional UNIX Scheduling
  • 9.4 Summary
  • 9.5 Key Terms, Review Questions, and Problems
  • Chapter 10 Multiprocessor, Multicore, and Real-Time Scheduling
  • 10.1 Multiprocessor and Multicore Scheduling
  • 10.2 Real-Time Scheduling
  • 10.3 Linux Scheduling
  • 10.4 UNIX SVR4 Scheduling
  • 10.5 UNIX FreeBSD Scheduling
  • 10.6 Windows Scheduling
  • 10.7 Summary
  • 10.8 Key Terms, Review Questions, and Problems
  • PART 5 INPUT/OUTPUT AND FILES
  • Chapter 11 I/O Management and Disk Scheduling
  • 11.1 I/O Devices.
  • 11.2 Organization of the I/O Function
  • 11.3 Operating System Design Issues
  • 11.4 I/O Buffering
  • 11.5 Disk Scheduling
  • 11.6 RAID
  • 11.7 Disk Cache
  • 11.8 UNIX SVR4 I/O
  • 11.9 Linux I/O
  • 11.10 Windows I/O
  • 11.11 Summary
  • 11.12 Key Terms, Review Questions, and Problems
  • Chapter 12 File Management
  • 12.1 Overview
  • 12.2 File Organization and Access
  • 12.3 B-Trees
  • 12.4 File Directories
  • 12.5 File Sharing
  • 12.6 Record Blocking
  • 12.7 Secondary Storage Management
  • 12.8 UNIX File Management
  • 12.9 Linux Virtual File System
  • 12.10 Windows File System
  • 12.11 Android File Management
  • 12.12 Summary
  • 12.13 Key Terms, Review Questions, and Problems
  • PART 6 EMBEDDED SYSTEMS
  • Chapter 13 Embedded Operating Systems
  • 13.1 Embedded Systems
  • 13.2 Characteristics of Embedded Operating Systems
  • 13.3 Embedded Linux
  • 13.4 TinyOS
  • 13.5 Key Terms, Review Questions, and Problems
  • Chapter 14 Virtual Machines
  • 14.1 Virtual Machine Concepts
  • 14.2 Hypervisors
  • 14.3 Container Virtualization
  • 14.4 Processor Issues
  • 14.5 Memory Management
  • 14.6 I/O Management
  • 14.7 VMware ESXi
  • 14.8 Microsoft Hyper-V and Xen Variants
  • 14.9 Java VM
  • 14.10 Linux Vserver Virtual Machine Architecture
  • 14.11 Summary
  • 14.12 Key Terms, Review Questions, and Problems
  • Chapter 15 Operating System Security
  • 15.1 Intruders and Malicious Software
  • 15.2 Buffer Overflow
  • 15.3 Access Control
  • 15.4 UNIX Access Control
  • 15.5 Operating Systems Hardening
  • 15.6 Security Maintenance
  • 15.7 Windows Security
  • 15.8 Summary
  • 15.9 Key Terms, Review Questions, and Problems
  • Chapter 16 Cloud and IoT Operating Systems
  • 16.1 Cloud Computing
  • 16.2 Cloud Operating Systems
  • 16.3 The Internet of Things
  • 16.4 IoT Operating Systems
  • 16.5 Key Terms and Review Questions
  • APPENDICES
  • Appendix A Topics in Concurrency.
  • A.1 Race Conditions and Semaphores
  • A.2 A Barbershop Problem
  • A.3 Problems
  • Appendix B Programming and Operating System Projects
  • B.1 Semaphore Projects
  • B.2 File Systems Project
  • B.3 OS/161
  • B.4 Simulations
  • B.5 Programming Projects
  • B.6 Research Projects
  • B.7 Reading/Report Assignments
  • B.8 Writing Assignments
  • B.9 Discussion Topics
  • B.10 BACI
  • References
  • Credits
  • Index
  • ONLINE CHAPTERS AND APPENDICES
  • Chapter 17 Network Protocols
  • 17.1 The Need for a Protocol Architecture
  • 17.2 The TCP/IP Protocol Architecture
  • 17.3 Sockets
  • 17.4 Linux Networking
  • 17.5 Summary
  • 17.6 Key Terms, Review Questions, and Problems
  • 17A The Trivial File Transfer Protocol
  • Chapter 18 Distributed Processing, Client/Server, and Clusters
  • 18.1 Client/Server Computing
  • 18.2 Distributed Message Passing
  • 18.3 Remote Procedure Calls
  • 18.4 Clusters
  • 18.5 Windows Cluster Server
  • 18.6 Beowulf and Linux Clusters
  • 18.7 Summary
  • 18.8 References
  • 18.9 Key Terms, Review Questions, and Problems
  • Chapter 19 Distributed Process Management
  • 19.1 Process Migration
  • 19.2 Distributed Global States
  • 19.3 Distributed Mutual Exclusion
  • 19.4 Distributed Deadlock
  • 19.5 Summary
  • 19.6 References
  • 19.7 Key Terms, Review Questions, and Problems
  • Chapter 20 Overview of Probability and Stochastic Processes
  • 20.1 Probability
  • 20.2 Random Variables
  • 20.3 Elementary Concepts of Stochastic Processes
  • 20.4 Problems
  • Chapter 21 Queueing Analysis
  • 21.1 How Queues Behave-A Simple Example
  • 21.2 Why Queueing Analysis?
  • 21.3 Queueing Models
  • 21.4 Single-Server Queues
  • 21.5 Multiserver Queues
  • 21.6 Examples
  • 21.7 Queues With Priorities
  • 21.8 Networks of Queues
  • 21.9 Other Queueing Models
  • 21.10 Estimating Model Parameters
  • 21.11 References
  • 21.12 Problems.
  • Programming Project One Developing a Shell
  • Programming Project Two The HOST Dispatcher Shell
  • Appendix C Topics in Concurrency
  • Appendix D Object-Oriented Design
  • Appendix E Amdahl's Law
  • Appendix F Hash Tables
  • Appendix G Response Time
  • Appendix 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.