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...
Otros Autores: | |
---|---|
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.