Testbankszip for study guides

Operating Systems: Internals and Design Principles

Operating Systems: Internals and Design Principles 9th Edition

By: William Stallings
ISBN-10: 0134670957
/ ISBN-13: 9780134700113
Edition: 9th Edition
Language: English
				
					=> All chapters included .
=> Download zip file into your device
=> Dedicated support
=> Affordable pricing 

				
			
secure-stripe-payment-logo.png

TEST BANK

$30

Contact

Digital product.

    Digital Resources for Students
    Operating Systems Internals and Design Principles
    Operating Systems Internals and Design Principles
    Contents
    Online Chapters and Appendices1
    VideoNotes
    Preface

  • What’s New in the Ninth Edition
  • Objectives
  • Example Systems
  • Support of ACM/IEEE Computer Science Curricula 2013
  • Plan of the Text
  • Instructor Support Materials
  • Projects and other Student Exercises
  • OS/161
  • Simulations
  • Animations
  • Programming Projects
  • Online Documents and Videonotes for Students
  • Part 1 Background

  • Chapter 1 Computer System Overview
  • Learning Objectives
  • 1.1 Basic Elements
  • 1.2 Evolution of the Microprocessor
  • 1.3 Instruction Execution
  • 1.4 Interrupts
  • Interrupts and the Instruction Cycle
  • Interrupt Processing
  • Multiple Interrupts
  • 1.5 The Memory Hierarchy
  • 1.6 Cache Memory
  • Motivation
  • Cache Principles
  • Cache Design
  • 1.7 Direct Memory Access
  • 1.8 Multiprocessor and Multicore Organization
  • Symmetric Multiprocessors
  • Definition
  • Organization
  • Multicore Computers
  • 1.9 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Appendix 1A Performance Characteristics of Two-Level Memories
  • Locality
  • Operation of Two-Level Memory
  • Performance
  • Chapter 2 Operating System Overview
  • Learning Objectives
  • 2.1 Operating System Objectives and Functions
  • The Operating System as a User/Computer Interface
  • The Operating System as Resource Manager
  • Ease of Evolution of an Operating System
  • 2.2 The Evolution of Operating Systems
  • Serial Processing
  • Simple Batch Systems
  • Multiprogrammed Batch Systems
  • Time-Sharing Systems
  • 2.3 Major Achievements
  • The Process
  • Memory Management
  • Information Protection and Security
  • Scheduling and Resource Management
  • 2.4 Developments Leading to Modern Operating Systems
  • 2.5 Fault Tolerance
  • Fundamental Concepts
  • Faults
  • Operating System Mechanisms
  • 2.6 OS Design Considerations for Multiprocessor and Multicore
  • Symmetric Multiprocessor OS Considerations
  • Multicore OS Considerations
  • Parallelism within Applications
  • Virtual Machine Approach
  • 2.7 Microsoft Windows Overview
  • Background
  • Architecture
  • Operating System Organization
  • User-Mode Processes
  • Client/Server Model
  • Threads and SMP
  • Windows Objects
  • 2.8 Traditional Unix Systems
  • History
  • Description
  • 2.9 Modern Unix Systems
  • System V Release 4 (SVR4)
  • BSD
  • Solaris 11
  • 2.10 Linux
  • History
  • Modular Structure
  • Kernel Components
  • 2.11 Android
  • Android Software Architecture
  • Applications
  • Application Framework
  • System Libraries
  • Linux Kernel
  • Android Runtime
  • The Dalvik Virtual Machine
  • The Dex File Format
  • Android Runtime Concepts
  • Advantages and Disadvantages
  • Android System Architecture
  • Activities
  • Power Management
  • 2.12 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Part 2 Processes

  • Chapter 3 Process Description and Control
  • Learning Objectives
  • 3.1 What is a Process?
  • Background
  • Processes and Process Control Blocks
  • 3.2 Process States
  • A Two-State Process Model
  • The Creation and Termination of Processes
  • Process Creation
  • Process Termination
  • A Five-State Model
  • Suspended Processes
  • The Need for Swapping
  • Other Uses of Suspension
  • 3.3 Process Description
  • Operating System Control Structures
  • Process Control Structures
  • Process Location
  • Process Attributes
  • The Role of the Process Control Block
  • 3.4 Process Control
  • Modes of Execution
  • Process Creation
  • Process Switching
  • When to Switch Processes
  • Mode Switching
  • Change of Process State
  • 3.5 Execution of the Operating System
  • Nonprocess Kernel
  • Execution within User Processes
  • Process-Based Operating System
  • 3.6 UNIX SVR4 Process Management
  • Process States
  • Process Description
  • Process Control
  • 3.7 Summary
  • 3.8 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 4 Threads
  • Learning Objectives
  • 4.1 Processes and Threads
  • Multithreading
  • Thread Functionality
  • Thread States
  • Thread Synchronization
  • 4.2 Types of Threads
  • User-Level and Kernel-Level Threads
  • User-Level Threads
  • Kernel-Level Threads
  • Combined Approaches
  • Other Arrangements
  • Many-to-Many Relationship
  • One-to-Many Relationship
  • 4.3 Multicore and Multithreading
  • Performance of Software on Multicore
  • Application Example: Valve Game Software
  • 4.4 Windows Process and Thread Management
  • Management of Background Tasks and Application Lifecycles
  • The Windows Process
  • Process and Thread Objects
  • Multithreading
  • Thread States
  • Support for OS Subsystems
  • 4.5 Solaris Thread and SMP Management
  • Multithreaded Architecture
  • Motivation
  • Process Structure
  • Thread Execution
  • Interrupts as Threads
  • 4.6 Linux Process and Thread Management
  • Linux Tasks
  • Linux Threads
  • Linux Namespaces
  • Mount Namespace
  • UTS Namespace
  • IPC Namespace
  • PID Namespace
  • Network Namespace
  • User Namespace
  • The Linux cgroup Subsystem
  • 4.7 Android Process and Thread Management
  • Android Applications
  • Activities
  • Activity States
  • Killing an Application
  • Processes and Threads
  • 4.8 Mac OS X Grand Central Dispatch
  • 4.9 Summary
  • 4.10 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 5 Concurrency: Mutual Exclusion and Synchronization
  • Learning Objectives
  • 5.1 Mutual Exclusion: Software Approaches
  • Dekker’s Algorithm
  • First Attempt
  • Second Attempt
  • Third Attempt
  • Fourth Attempt
  • A Correct Solution
  • Peterson’s Algorithm
  • 5.2 Principles of Concurrency
  • A Simple Example
  • Race Condition
  • Operating System Concerns
  • Process Interaction
  • Competition among Processes for Resources
  • Cooperation among Processes by Sharing
  • Cooperation among Processes by Communication
  • Requirements for Mutual Exclusion
  • 5.3 Mutual Exclusion: Hardware Support
  • Interrupt Disabling
  • Special Machine Instructions
  • Compare&Swap Instruction
  • Exchange Instruction
  • Properties of the Machine-Instruction Approach
  • 5.4 Semaphores
  • Mutual Exclusion
  • The Producer/Consumer Problem
  • Implementation of Semaphores
  • 5.5 Monitors
  • Monitor with Signal
  • Alternate Model of Monitors with Notify and Broadcast
  • 5.6 Message Passing
  • Synchronization
  • Addressing
  • Message Format
  • Queueing Discipline
  • Mutual Exclusion
  • 5.7 Readers/Writers Problem
  • Readers Have Priority
  • Writers Have Priority
  • 5.8 Summary
  • 5.9 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 6 Concurrency: Deadlock and Starvation
  • Learning Objectives
  • 6.1 Principles of Deadlock
  • Reusable Resources
  • Consumable Resources
  • Resource Allocation Graphs
  • The Conditions for Deadlock
  • 6.2 Deadlock Prevention
  • Mutual Exclusion
  • Hold and Wait
  • No Preemption
  • Circular Wait
  • 6.3 Deadlock Avoidance
  • Process Initiation Denial
  • Resource Allocation Denial
  • 6.4 Deadlock Detection
  • Deadlock Detection Algorithm
  • Recovery
  • 6.5 An Integrated Deadlock Strategy
  • 6.6 Dining Philosophers Problem
  • Solution Using Semaphores
  • Solution Using a Monitor
  • 6.7 UNIX Concurrency Mechanisms
  • Pipes
  • Messages
  • Shared Memory
  • Semaphores
  • Signals
  • 6.8 Linux Kernel Concurrency Mechanisms
  • Atomic Operations
  • Spinlocks
  • Basic Spinlocks
  • Reader–Writer Spinlock
  • Semaphores
  • Binary and Counting Semaphores
  • Reader–Writer Semaphores
  • Barriers
  • RCU (Read-Copy-Update)
  • 6.9 Solaris Thread Synchronization Primitives
  • Mutual Exclusion Lock
  • Semaphores
  • Readers/Writer Lock
  • Condition Variables
  • 6.10 Windows Concurrency Mechanisms
  • Wait Functions
  • Dispatcher Objects
  • Critical Sections
  • Slim Reader–Writer Locks and Condition Variables
  • Lock-free Synchronization
  • 6.11 Android Interprocess Communication
  • 6.12 Summary
  • 6.13 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Part 3 Memory

  • Chapter 7 Memory Management
  • Learning Objectives
  • 7.1 Memory Management Requirements
  • Relocation
  • Protection
  • Sharing
  • Logical Organization
  • Physical Organization
  • 7.2 Memory Partitioning
  • Fixed Partitioning
  • Partition Sizes
  • Placement Algorithm
  • Dynamic Partitioning
  • Placement Algorithm
  • Replacement Algorithm
  • Buddy System
  • Relocation
  • 7.3 Paging
  • 7.4 Segmentation
  • 7.5 Summary
  • 7.6 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Appendix 7A Loading and Linking
  • Chapter 8 Virtual Memory
  • Learning Objectives
  • 8.1 Hardware and Control Structures
  • Locality and Virtual Memory
  • Paging
  • Page Table Structure
  • Inverted Page Table
  • Translation Lookaside Buffer
  • Page Size
  • Segmentation
  • Virtual Memory Implications
  • Organization
  • Combined Paging and Segmentation
  • Protection and Sharing
  • 8.2 Operating System Software
  • Fetch Policy
  • Placement Policy
  • Replacement Policy
  • Frame Locking
  • Basic Algorithms
  • Page Buffering
  • Replacement Policy and Cache Size
  • Resident Set Management
  • Resident Set Size
  • Replacement Scope
  • Fixed Allocation, Local Scope
  • Variable Allocation, Global Scope
  • Variable Allocation, Local Scope
  • Cleaning Policy
  • Load Control
  • Multiprogramming Level
  • Process Suspension
  • 8.3 UNIX and Solaris Memory Management
  • Paging System
  • Data Structures
  • Page Replacement
  • Kernel Memory Allocator
  • 8.4 Linux Memory Management
  • Linux Virtual Memory
  • Virtual Memory Addressing
  • Page Allocation
  • Page Replacement Algorithm
  • Kernel Memory Allocation
  • 8.5 Windows Memory Management
  • Windows Virtual Address Map
  • Windows Paging
  • Windows Swapping
  • 8.6 Android Memory Management
  • 8.7 Summary
  • 8.8 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Part 4 Scheduling

  • Chapter 9 Uniprocessor Scheduling
  • Learning Objectives
  • 9.1 Types of Processor Scheduling
  • Long-Term Scheduling
  • Medium-Term Scheduling
  • Short-Term Scheduling
  • 9.2 Scheduling Algorithms
  • Short-Term Scheduling Criteria
  • The Use of Priorities
  • Alternative Scheduling Policies
  • First-Come-First-Served
  • Round Robin
  • Shortest Process Next
  • Shortest Remaining Time
  • Highest Response Ratio Next
  • Feedback
  • Performance Comparison
  • Queueing Analysis
  • Simulation Modeling
  • Fair-Share Scheduling
  • 9.3 Traditional UNIX Scheduling
  • 9.4 Summary
  • 9.5 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 10 Multiprocessor, Multicore, and Real-Time Scheduling
  • Learning Objectives
  • 10.1 Multiprocessor and Multicore Scheduling
  • Granularity
  • Independent Parallelism
  • Coarse and Very Coarse-Grained Parallelism
  • Medium-Grained Parallelism
  • Fine-Grained Parallelism
  • Design Issues
  • Assignment of Processes to Processors
  • The Use of Multiprogramming on Individual Processors
  • Process Dispatching
  • Process Scheduling
  • Thread Scheduling
  • Load Sharing
  • Gang Scheduling
  • Dedicated Processor Assignment
  • Dynamic Scheduling
  • Multicore Thread Scheduling
  • 10.2 Real-Time Scheduling
  • Background
  • Characteristics of Real-Time Operating Systems
  • Real-Time Scheduling
  • Deadline Scheduling
  • Rate Monotonic Scheduling
  • Priority Inversion
  • 10.3 Linux Scheduling
  • Real-Time Scheduling
  • Non-Real-Time Scheduling
  • 10.4 UNIX SVR4 Scheduling
  • 10.5 UNIX FreeBSD Scheduling
  • Priority Classes
  • SMP and Multicore Support
  • Queue Structure
  • Interactivity Scoring
  • Thread Migration
  • 10.6 Windows Scheduling
  • Process and Thread Priorities
  • Multiprocessor Scheduling
  • 10.7 Summary
  • 10.8 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Part 5 Input/Output and Files

  • Chapter 11 I/O Management and Disk Scheduling
  • Learning Objectives
  • 11.1 I/O Devices
  • 11.2 Organization of the I/O Function
  • The Evolution of the I/O Function
  • Direct Memory Access
  • 11.3 Operating System Design Issues
  • Design Objectives
  • Logical Structure of the I/O Function
  • 11.4 I/O Buffering
  • Single Buffer
  • Double Buffer
  • Circular Buffer
  • The Utility of Buffering
  • 11.5 Disk Scheduling
  • Disk Performance Parameters
  • Seek Time
  • Rotational Delay
  • Transfer Time
  • A Timing Comparison
  • Disk Scheduling Policies
  • First-In-First-Out
  • Priority
  • Last-In-First-Out
  • Shortest-Service-Time-First
  • SCAN
  • C-SCAN
  • N-step-SCAN and FSCAN
  • 11.6 RAID
  • RAID Level 0
  • RAID 0 for High Data Transfer Capacity
  • RAID 0 for High I/O Request Rate
  • RAID Level 1
  • RAID Level 2
  • RAID Level 3
  • Redundancy
  • Performance
  • RAID Level 4
  • RAID Level 5
  • RAID Level 6
  • 11.7 Disk Cache
  • Design Considerations
  • Performance Considerations
  • 11.8 UNIX SVR4 I/O
  • Buffer Cache
  • Character Queue
  • Unbuffered I/O
  • UNIX Devices
  • 11.9 Linux I/O
  • Disk Scheduling
  • The Elevator Scheduler
  • Deadline Scheduler
  • Anticipatory I/O Scheduler
  • The NOOP Scheduler
  • Completely Fair Queuing I/O Scheduler
  • Linux Page Cache
  • 11.10 Windows I/O
  • Basic I/O Facilities
  • Asynchronous and Synchronous I/O
  • Software RAID
  • Volume Shadow Copies
  • Volume Encryption
  • 11.11 Summary
  • 11.12 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 12 File Management
  • Learning Objectives
  • 12.1 Overview
  • Files and File Systems
  • File Structure
  • File Management Systems
  • File System Architecture
  • File Management Functions
  • 12.2 File Organization and Access
  • The Pile
  • The Sequential File
  • The Indexed Sequential File
  • The Indexed File
  • The Direct or Hashed File
  • 12.3 B-Trees
  • 12.4 File Directories
  • Contents
  • Structure
  • Naming
  • 12.5 File Sharing
  • Access Rights
  • Simultaneous Access
  • 12.6 Record Blocking
  • 12.7 Secondary Storage Management
  • File Allocation
  • Preallocation versus Dynamic Allocation
  • Portion Size
  • File Allocation Methods
  • Free Space Management
  • Bit Tables
  • Chained Free Portions
  • Indexing
  • Free Block List
  • Volumes
  • Reliability
  • 12.8 UNIX File Management
  • Inodes
  • File Allocation
  • Directories
  • Volume Structure
  • 12.9 Linux Virtual File System
  • The Superblock Object
  • The Inode Object
  • The Dentry Object
  • The File Object
  • Caches
  • 12.10 Windows File System
  • Key Features of NTFS
  • NTFS Volume and File Structure
  • NTFS Volume Layout
  • Master File Table
  • Recoverability
  • 12.11 Android File Management
  • File System
  • SQLite
  • 12.12 Summary
  • 12.13 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Part 6 Embedded Systems

  • Chapter 13 Embedded Operating Systems
  • Learning Objectives
  • 13.1 Embedded Systems
  • Embedded System Concepts
  • Application Processors versus Dedicated Processors
  • Microprocessors
  • Microcontrollers
  • Deeply Embedded Systems
  • 13.2 Characteristics of Embedded Operating Systems
  • Host and Target Environments
  • Boot Loader
  • Kernel
  • Root File System
  • Development Approaches
  • Adapting an Existing Commercial Operating System
  • Purpose-Built Embedded Operating System
  • 13.3 Embedded Linux
  • Characteristics of an Embedded Linux System
  • Kernel Size
  • Memory Size
  • Other Characteristics
  • Embedded Linux File Systems
  • Advantages of Embedded Linux
  • μClinux
  • Comparison with Full Linux
  • μClibc
  • Android
  • 13.4 TinyOS
  • Wireless Sensor Networks
  • TinyOS Goals
  • TinyOS Components
  • TinyOS Scheduler
  • Example of Configuration
  • TinyOS Resource Interface
  • 13.5 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 14 Virtual Machines
  • Learning Objectives
  • 14.1 Virtual Machine Concepts
  • 14.2 Hypervisors
  • Hypervisors
  • Hypervisor Functions
  • Type 1 Hypervisor
  • Type 2 Hypervisorn
  • Paravirtualization
  • Hardware-Assisted Virtualization
  • Virtual Appliance
  • 14.3 Container Virtualization
  • Kernel Control Groups
  • Container Concepts
  • Container File System
  • Microservices
  • Docker
  • 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
  • Architecture
  • Process Scheduling
  • 14.11 Summary
  • 14.12 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 15 Operating System Security
  • Learning Objectives
  • 15.1 Intruders and Malicious Software
  • System Access Threats
  • Intruders
  • Malicious Software
  • Countermeasures
  • Intrusion Detection
  • Authentication
  • Access Control
  • Firewalls
  • 15.2 Buffer Overflow
  • Buffer Overflow Attacks
  • Compile-Time Defenses
  • Choice of Programming Language
  • Safe Coding Techniques
  • Language Extensions and Use of Safe Libraries
  • Stack Protection Mechanisms
  • Runtime Defenses
  • Executable Address Space Protection
  • Address Space Randomization
  • Guard Pages
  • 15.3 Access Control
  • File System Access Control
  • Access Control Policies
  • Discretionary Access Control
  • Role-Based Access Control
  • 15.4 Unix Access Control
  • Traditional UNIX File Access Control
  • Access Control Lists in UNIX
  • 15.5 Operating Systems Hardening
  • Operating System Installation: Initial Setup and Patching
  • Remove Unnecessary Services, Application, and Protocols
  • Configure Users, Groups, and Authentication
  • Configure Resource Controls
  • Install Additional Security Controls
  • Test the System Security
  • 15.6 Security Maintenance
  • Logging
  • Data Backup and Archive
  • 15.7 Windows Security
  • Access Control Scheme
  • Access Token
  • Security Descriptors
  • 15.8 Summary
  • 15.9 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 16 Cloud and IoT Operating Systems
  • Learning Objectives
  • 16.1 Cloud Computing
  • Cloud Computing Elements
  • Cloud Service Models
  • Software as a Service
  • Platform as a Service
  • Infrastructure as a Service
  • Cloud Deployment Models
  • Public Cloud
  • Private Cloud
  • Community Cloud
  • Hybrid Cloud
  • Cloud Computing Reference Architecture
  • 16.2 Cloud Operating Systems
  • Infrastructure as a Service
  • Requirements for Cloud Operating System
  • General Architecture of a Cloud Operating System
  • Virtualization
  • Virtual Computing
  • Virtual Storage
  • Virtual Network
  • Data Structure Management
  • Management and Orchestration
  • OpenStack
  • Compute (Nova)
  • Image (Glance)
  • Network (Neutron)
  • Object Storage (Swift)
  • Block Storage (Cinder)
  • Identity (Keystone)
  • Dashboard (Horizon)
  • Monitor (Ceilometer)
  • Orchestration (Heat)
  • Other Optional Services
  • 16.3 The Internet of Things
  • Things on the Internet of Things
  • Evolution
  • Components of IoT-Enabled Devices
  • IoT and Cloud Context
  • Edge
  • Fog
  • Core
  • Cloud
  • 16.4 IoT Operating Systems
  • Constrained Devices
  • Requirements for an IoT OS
  • IoT OS Architecture
  • RIOT
  • RIOT Kernel
  • Other Hardware-Independent Modules
  • Hardware Abstraction Layer
  • 16.5 Key Terms and Review Questions
  • Key Terms
  • Review Questions
  • Chapter 17 Network Protocols

  • Learning Objectives
  • 17.1 The Need for a Protocol Architecture
  • 17.2 The Tcp/Ip Protocol Architecture
  • TCP/IP Layers
  • TCP and UDP
  • IP and IPv6
  • Operation of TCP/IP
  • TCP/IP Applications
  • 17.3 Sockets1
  • The Socket
  • Socket Interface Calls
  • Socket Setup
  • Socket Connection
  • Socket Communication
  • 17.4 Linux Networking
  • Sending Data
  • Receiving Data
  • 17.5 Summary
  • 17.6 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Appendix 17A The Trivial File Transfer Protocol
  • Chapter 18 Distributed Processing, Client/Server, and Clusters

  • Learning Objectives
  • 18.1 Client/Server Computing
  • What Is Client/Server Computing?
  • Client/Server Applications
  • Database Applications
  • Classes of Client/Server Applications
  • Three-Tier Client/Server Architecture
  • File Cache Consistency
  • Middleware
  • Middleware Architecture
  • 18.2 Distributed Message Passing
  • Reliability versus Unreliability
  • Blocking versus Nonblocking
  • 18.3 Remote Procedure Calls
  • Parameter Passing
  • Parameter Representation
  • Client/Server Binding
  • Synchronous versus Asynchronous
  • Object-Oriented Mechanisms
  • 18.4 Clusters
  • Cluster Configurations
  • Operating System Design Issues
  • Failure Management
  • Load Balancing
  • Parallelizing Computation
  • Cluster Computer Architecture
  • Clusters Compared to SMP
  • 18.5 Windows Cluster Server
  • 18.6 Beowulf and Linux Clusters
  • Beowulf Features
  • Beowulf Software
  • 18.7 Summary
  • 18.8 References
  • 18.9 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 19 Distributed Process Management

  • Learning Objectives
  • 19.1 Process Migration
  • Motivation
  • Process Migration Mechanisms
  • Initiation of Migration
  • What Is Migrated?
  • Messages and Signals
  • A Migration Scenario
  • Negotiation of Migration
  • Eviction
  • Preemptive versus Nonpreemptive Transfers
  • 19.2 Distributed Global States
  • Global States and Distributed Snapshots
  • The Distributed Snapshot Algorithm
  • 19.3 Distributed Mutual Exclusion
  • Distributed Mutual Exclusion Concepts
  • Ordering of Events in a Distributed System
  • Distributed Queue
  • First Version
  • Second Version
  • A Token-Passing Approach
  • 19.4 Distributed Deadlock
  • Deadlock in Resource Allocation
  • Deadlock Prevention
  • Deadlock Avoidance
  • Deadlock Detection
  • Deadlock in Message Communication
  • Mutual Waiting
  • Unavailability of Message Buffers
  • 19.5 Summary
  • 19.6 References
  • 19.7 Key Terms, Review Questions, and Problems
  • Key Terms
  • Review Questions
  • Problems
  • Chapter 20 Overview of Probability and Stochastic Processes

  • Learning Objectives
  • 20.1 Probability
  • Definitions of Probability
  • Axiomatic Definition
  • Relative Frequency Definition
  • Classical Definition
  • Conditional Probability and Independence
  • Bayes’s Theorem
  • 20.2 Random Variables
  • Distribution and Density Functions
  • Important Distributions
  • Exponential Distribution
  • Poisson Distribution
  • Normal Distribution
  • Multiple Random Variables
  • 20.3 Elementary Concepts of Stochastic Processes
  • First- and Second-Order Statistics
  • Stationary Stochastic Processes
  • Spectral Density
  • Independent Increments
  • Brownian Motion Process
  • Poisson and Related Processes
  • Ergodicity
  • 20.4 Problems
  • Chapter 21 Queueing Analysis

  • Learning Objectives
  • 21.1 How Queues Behave—A Simple Example
  • 21.2 Why Queueing Analysis?
  • 21.3 Queueing Models
  • The Single-Server Queue
  • Queue Parameters
  • Illustration of Key Features
  • Model Characteristics
  • The Multiserver Queue
  • Basic Queueing Relationships
  • Assumptions
  • 21.4 Single-Server Queues
  • 21.5 Multiserver Queues
  • 21.6 Examples
  • Database Server
  • Calculating Percentiles
  • Tightly-Coupled Multiprocessor
  • Single-Server Approach
  • Multiserver Approach
  • A Multiserver Problem
  • Single-Server Model
  • Multiserver Model
  • 21.7 Queues with Priorities
  • 21.8 Networks of Queues
  • Partitioning and Merging of Traffic Streams
  • Queues in Tandem
  • Jackson’s Theorem
  • Application to a Packet-Switching Network4
  • 21.9 Other Queueing Models
  • 21.10 Estimating Model Parameters
  • Sampling
  • Sampling Errors
  • 21.11 References
  • 21.12 Problems
  • Appendix A Topics in Concurrency

  • A.1 Race Conditions and Semaphores
  • Problem Statement
  • First Attempt
  • Second Attempt
  • Third Attempt
  • Fourth Attempt
  • A Good Attempt
  • A.2 A Barbershop Problem
  • An Unfair Barbershop
  • A Fair Barbershop
  • 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
  • Textbook-Defined Projects
  • Additional Major Programming Projects
  • Small Programming Projects
  • B.6 Research Projects
  • B.7 Reading/Report Assignments
  • B.8 Writing Assignments
  • B.9 Discussion Topics
  • B.10 BACI
  • References
    Credits

  • Chapter 2:
  • Chapter 3:
  • Chapter 4:
  • Chapter 5:
  • Chapter 6:
  • Chapter 8:
  • Chapter 9:
  • Chapter 12:
  • Chapter 13:
  • Chapter 16:
  • Appendix B:
  • Index

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Z
  • Programming Project One Developing a Shell

  • Project Requirements
  • Submission
  • Required Documentation
  • Programming Project Two The HOST Dispatcher Shell

  • Four-Level Priority Dispatcher
  • Resource Constraints
  • Memory Allocation
  • Processes
  • Dispatch List
  • Project Requirements
  • Deliverables
  • Submission of Code
  • Appendix C Topics in Concurrency

  • C.1 Processor Registers
  • User-Visible Registers
  • Control and Status Registers
  • C.2 Instruction Execution For I/O Functions
  • C.3 I/O Communication Techniques
  • Programmed I/O
  • Interrupt-Driven I/O
  • Direct Memory Access (DMA)
  • C.4 Hardware Performance Issues For Multicore
  • Increase in Parallelism
  • Power Consumption
  • C.5 Reference
  • Appendix D Object-Oriented Design

  • D.1 Motivation
  • D.2 Object-Oriented Concepts
  • Object Structure
  • Object Classes
  • Inheritance
  • Polymorphism
  • Interfaces
  • Containment
  • D.3 Benefits of Object-Oriented Design
  • D.4 CORBA
  • D.5 Recommended Reading and Website
  • Appendix E Amdahl’s Law

  • E.1 Implications of Amdahl’s Law
  • E.2 References
  • Appendix F Hash Tables
    Appendix G Response Time

  • G.1 Response Time Considerations
  • G.2 References
  • Appendix H Queueing System Concepts

  • H.1 Why Queueing Analysis?
  • H.2 The Single-Server Queue
  • H.3 The Multiserver Queue
  • H.4 Poisson Arrival Rate
  • Appendix I The Complexity of Algorithms

  • I.1 Complexity Overview
  • I.2 References
  • Appendix J Disk Storage Devices

  • J.1 Magnetic Disk
  • Data Organization and Formatting
  • Physical Characteristics
  • J.2 Optical Memory
  • CD-ROM
  • CD Recordable
  • CD Rewritable
  • Digital Versatile Disk
  • High-Definition Optical Disks
  • Appendix K Cryptographic Algorithms

  • K.1 Symmetric Encryption
  • The Data Encryption Standard (DES)
  • Advanced Encryption Standard
  • K.2 Public-Key Cryptography
  • Rivest-Shamir-Adleman (RSA) Algorithm
  • K.3 Message Authentication and Hash Functions
  • Authentication Using Symmetric Encryption
  • Message Authentication without Message Encryption
  • Message Authentication Code
  • One-Way Hash Function
  • K.4 Secure Hash Functions
  • Appendix L Standards Organizations

  • L.1 The Importance of Standards
  • L.2 Standards and Regulation
  • L.3 Standards-Setting Organizations
  • Internet Standards and the Internet Society
  • The Internet Organizations and RFC Publication
  • The Standardization Process
  • Internet Standards Categories
  • Other RFC Types
  • The International Telecommunication Union
  • ITU Radio Communication Sector
  • ITU Telecommunication Standardization Sector
  • Schedule
  • IEEE 802 Committee
  • The International Organization for Standardization
  • Appendix M Sockets: A Programmer’s Introduction

  • M.1 Sockets, Socket Descriptors, Ports, and Connections
  • M.2 The Client/Server Model Of Communication
  • Running a Sockets Program on a Windows Machine Not Connected to a Network
  • Running a Sockets Program on a Windows Machine Connected to a Network, When Both Server and Client Reside on the Same Machine
  • M.3 Sockets Elements
  • Socket Creation
  • The Socket Address
  • Bind to a Local Port
  • Data Representation and Byte Ordering
  • Connecting a Socket
  • The gethostbyname() Function Call
  • Listening for an Incoming Client Connection
  • Accepting a Connection from a Client
  • Sending and Receiving Messages on a Socket
  • Closing a Socket
  • Report errors
  • Example TCP/IP Client Program (Initiating Connection)
  • Example TCP/IP Server Program (Passively Awaiting Connection)
  • M.4 Stream and Datagram Sockets
  • Example UDP Client Program (Initiate Connections)
  • Example UDP Server Program (Passively Await Connection)
  • M.5 Run-Time Program Control
  • Nonblocking Socket Calls
  • Asynchronous I/O (Signal Driven I/O)
  • M.6 Remote Execution of a Windows Console Application
  • Local Code
  • Remote Code
  • Appendix N The International Reference Alphabet
    Appendix O BACI: The Ben-Ari Concurrent Programming System

  • O.1 Introduction
  • O.2 BACI
  • System Overview
  • Concurrency Constructs in BACI
  • cobegin
  • Semaphores
  • Monitors
  • Other Concurrency Constructs
  • How to Obtain BACI
  • O.3 Examples Of BACI Programs
  • O.4 BACI Projects
  • Implementation of Synchronization Primitives
  • Implementation of Machine Instructions
  • Implementation of Fair Semaphores (FIFO)
  • Semaphores, Monitors, and Implementations
  • A’s and B’s and Semaphores
  • Using Binary Semaphores
  • Busy Waiting versus Semaphores
  • Semaphores and Monitors
  • General and Binary Semaphores
  • Time Ticks: A Monitor Project
  • A Problem of a Popular Baker
  • O.5 Enhancements To The Baci System
  • Appendix P Procedure Control

  • P.1 Stack Implementation
  • P.2 Procedure Calls and Returns
  • P.3 Reentrant Procedures
  • Appendix Q ECOS

  • Q.1 Configurability
  • Q.2 ECOS Components
  • Hardware Abstraction Layer (HAL)
  • eCos Kernel
  • I/O System
  • Standard C Libraries
  • Q.3 ECOS Scheduler
  • Bitmap Scheduler
  • Multilevel Queue Scheduler
  • Q.4 ECOS Thread Synchronization
  • Mutexes
  • Semaphores
  • Condition Variables
  • Event Flags
  • Mailboxes
  • Spinlocks
  • Glossary
    Acronyms
    Acronyms

Reviews

There are no reviews yet.

Be the first to review “Test Bank for Operating Systems: Internals and Design Principles 9th Edition by William Stallings”

Resource Type:

Ebook Title:

Authors:

Reviews

Create a Free Account

* We don’t share your personal info with anyone. Check out our Privacy Policy for more information