Wednesday, April 28, 2010

Operating System



Contents
Chapter 1 COMPUTER SYSTEM OVERVIEW
1.1 Basic Elements
1.2 Processor Registers
User-Visible Registers
Control and Status Registers
1.3 Instruction Execution
Instruction Fetch and Execute
I/O Function
1.4 Interrupts
Interrupts and the Instruction Cycle
Interrupt Processing
Multiple Interrupts
Multiprogramming
1.5 The Memory Hierarchy
1.6 Cache Memory
Motivation
Cache Principles
Cache Design
1.7 I/O Communication Techniques
Programmed I/O
Interrupt-Driven I/O
Direct Memory Access
1.8 Recommended Reading and Web Sites
1.9 Key Terms, Review Questions, and Problems
APPENDIX 1A Performance Characteristicd of Two-Level Memories
Locality
Operation of Two-Level Memory
Performance
APPENDIX 1B Procedure Control
Stack Implementation
Procedure Calls and Returns
Reentrant Procedures

Cahpter 2 OPERATING SYSTEM OVERVIEW
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
System Structure
2.4 Developments Leading to Modern Operating Systems
2.5 Microsoft Windows Overview
History
Single-User Multitasking
Architecture
Client/Server Model
Threads and SMP
Windows Objects
2.6 Traditional UNIX Systems
History
Description
2.7 Modern UNIX Systems
System V Release 4 (SVR4)
BSD
Solaris 10
2.8 Linux
History
Modular Structure
Kernel Components
2.9 Recommended Reading and Web Sites
2.10 Key Terms, Review Questions, and Problems

Chapter 3
PROCESS DESCRIPTION
AND CONTROL
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
A Five-State Model
Suspended Processes
3.3 Process Description
Operating System Control Structures
Process Control Structures
3.4 Process Control
Modes of Execution
Process Creation
Process Switching
3.5 Execution of the Operating System
Nonprocess Kernel
Execution within User Processes
Process-Based Operating System
3.6 Security Issues
System Access Threats
Countermeasures
3.7 Unix SVR4 Process Management
Process States
Process Description
Process Control
3.8 Summary
3.9 Recommended Reading
3.10 Key Terms, Review Questions, and Problems

Chapter 4 THREADS, SMP, AND
MICROKERNELS
4.1 Processes and Threads
Multithreading
Thread Functionality
Example—Adobe PageMaker
User-Level and Kernel-Level Threads
Other Arrangements
4.2 Symmetric Multiprocessing
SMP Architecture
SMP Organization
Multiprocessor Operating System Design Considerations
4.3 Microkernels
Microkernel Architecture
Benefits of a Microkernel Organization
Microkernel Performance
Microkernel Design
4.4 Windows Thread and SMP Management
Process and Thread Objects
Multithreading
Thread States
Support for OS Subsystems
Symmetric Multiprocessing Support
4.5 Solaries 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
4.7 Summary
4.8 Recommended Reading
4.9 Key Terms, Review Questions, and Problems

Chapter 5
CONCURRENCY: MUTUAL
EXCLUSION AND
SYNCHRONIZATION
5.1 Principles of Concurrency
A Simple Example
Race Condition
Operating System Concerns
Process Interaction
Requirements for Mutual Exclusion
5.2 Mutual Exclusion: Hardware Support
Interrupt Disabling
Special Machine Instructions
5.3 Semaphores
Mutual Exclusion
The Producer/Consumer Problem
Implementation of Semaphores
5.4 Monitors
Monitor with Signal
Alternate Model of Monitors with Notify and Broadcast
5.5 Message Passing
Synchronization
Addressing
Message Format
Queuing Discipline
Mutual Exclusion
5.6 Readers/Writers Problem
Readers Have Priority
Writers Have Priority
5.7 Summary
5.8 Recommended Reading
5.9 Key Terms, Review Questions, and Problems

Chapter 6
CONCURRENCY: DEADLOCK
AND STARVATION
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
Semaphores
Barriers
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 Read-Writer Locks
and Condition
Variables
6.11 Summary
6.12 Recommended Reading
6.13 Key Terms, Review Questions,
and Problems

Chapter 7 Memory Management
7.1 Memory Management Requirements
Relocation
Protection
Sharing
Logical Organization
Physical Organization
7.2 Memory Partitioning
Fixed Partitioning
Dynamic Partitioning
Buddy System
Relocation
7.3 Paging
7.4 Segmentation
7.5 Security Issues
Buffer Overflow Attacks
Defending against Buffer Overflows
7.6 Summary
7.7 Recommended Reading
7.8 Key Terms, Review Questions, and Problems
APPENDIX 7A Loading and Linking
Loading
Linking

Chapter 8 Virtual Memory
VIRTUAL MEMORY
8.1 Hardware and Control Structures
Locality and Virtual Memory
Paging
Segmentation
Combined Paging and Segmentation
Protection and Sharing
8.2 Operating System Software
Fetch Policy
Placement Policy
Replacement Policy
Resident Set Management
Cleaning Policy
Load Control
8.3 UNIX and Solaris Memory Management
Paging System
Kernel Memory Allocator
8.4 Linux Memory Management
Linux Virtual Memory
Kernel Memory Allocation
8.5 Windows Memory Management
Windows Virtual Address Map
Windows Paging
8.6 Summary
8.7 Recommended Reading and Web Sites
8.8 Key Terms, Review Questions, and Problems
APPENDIX 8A Hash Tables

Chapter 9 UNIPROCESSOR SCHEDULING
9.1 Types of Professor 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
Performance Comparison
Fair-Share Scheduling
9.3 Traditional UNIX Scheduling
9.4 Summary
9.5 Recommended Reading
9.6 Key Terms, Review Questions, and Problems
APPENDIX 9A Response Time
APPENDIX 9B Queuing Systems
Why Queuing Analysis?
The Single-Server Queue
The Multiserver Queue
Poisson Arrival Rate

Chapter 10 MULTIPROCESSOR AND REAL-TIME
SCHEDULING
10.1 Multiprocessor Scheduling
Granularity
Granularity Example:Valve Game Software
Design Issues
Process Scheduling
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 Windows Scheduling
Process and Thread Priorities
Multiprocessor Scheduling
10.6 Summary
10.7 Recommended Reading
10.8 Key Terms, Review Questions, and Problems

Chapter 11 I/O MANAGEMENT
AND DISK SCHEDULING
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
Disk Scheduling Policies
11.6 Raid
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
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 Recommended Reading
11.13 Key Terms, Review Questions, and Problems
APPENDIX 11A Disk Storage Devices

Chapter 12 FILE MANAGEMENT
12.1 Overview
Files and File systems
File Structure
File Management Systems
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 File Directories
Contents
Structure
Naming
12.4 File Sharing
Access Rights
Simultaneous Access
12.5 Record Blocking
12.6 Secondary Storage Management
File Allocation
Free Space Management
Volumes
Reliability
12.7 File System Security
12.8 UNIX File Management
Inodes
File Allocation
Directories
Volume Structure
Traditional UNIX File
Access Control
Access Control Lists in
UNIX
12.9 LINUX Virtual File System
The Superblock Object
The Inode Object
The Dentry Object
The File Object
12.10 Windows File System
Key Features of NTFS
NTFS Volume and File
Structure
Recoverability
12.11 Summary
12.12 Recommended Reading
12.13 Key Terms, Review Questions,
and Problems

Chapter 13 EMBEDDED OPERATING SYSTEMS
13.1 Embedded Systems
13.2 Characteristics of Embedded Operating Systems
Adapting an Existing Commercial Operating System
Purpose-Built Embedded Operating System
13.3 eCos
Configurability
eCos Components
eCos Scheduler
eCos Thread Synchronization
13.4 TinyOS
Wireless Sensor Networks
TinyOS Goals
TinyOS Components
TinyOS Scheduler
Example Configuration
TinyOS Resource Interface
13.5 Recommended Reading and Web Sites
13.6 Key Terms, Review Questions, and Problems

Chapter 14 COMPUTER SECURITY THREATS
14.1 Computer Security Concepts
14.2 Threats, Attacks, and Assets
Threats and Attacks
Threats and Assets
14.3 Intruders
Intruder Behavior Patterns
Intrusion Techniques
14.4 Malicious Software Overview
Backdoor
Logic Bomb
Trojan Horse
Mobile Code
Multiple-Threat Malware
14.5 Viruses,Worms, and Bots
Viruses
Worms
Bots
14.6 Rootkits
Rootkit Installation
System-Level Call Attacks
14.6 Recommended Reading and Web Sites
14.7 Key Terms, Review Questions, and Problems

Chapter 15 COMPUTER SECURITY
TECHNIQUES
15.1 Authentication
Means of Authentication
Password-Based Authentication
Token-Based Authentication
Biometric Authentication
15.2 Access Control
Discretionary Access Control
Role-Based Access Control
15.3 Intrusion Detection
Basic Principles
Host-Based Intrusion Dectection Techniques
Audit Records
15.4 Malware Defense
Antivirus Approaches
Worm Countermeasures
Bot Countermeasures
Rootkit Countermeasures
15.5 Dealing With Buffer Overflow Attacks
Compile-Time Defenses
Run-Time Defenses
15.6 Windows Vista Security
Access Control Scheme
Access Token
Security Descriptors
15.7 Recommended Reading and Web Sites
15.8 Key Terms, Review Questions, and Problems

Chapter 16 DISTRIBUTED PROCESSING,
CLIENT/SERVER, AND CLUSTERS
16.1 Client/Server Computing
What Is Client/Server Computing?
Client/Server Applications
Middleware
16.2 Distributed Message Passing
Reliability versus Unreliability
Blocking versus Nonblocking
16.3 Remote Procedure Calls
Parameter Passing
Parameter Representation
Client/Server Binding
Synchronous versus Asynchronous
Object-Oriented Mechanisms
16.4 Clusters
Cluster Configurations
Operating System Design Issues
Cluster Computer Architecture
Clusters Compared to SMP
16.5 Windows Cluster Server
16.6 Sun Cluster
Object and Communication Support
Process Management
Networking
Global File System
16.7 Beowulf and Linux Clusters
Beowulf Features
Beowulf Software
16.8 Summary
16.9 Recommended Reading and Web Sites
16.10 Key Terms, Review Questions, and Problems

Chapter 17 NETWORKING
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 Sockets
The Socket
Socket Interface Calls
17.4 Linux Networking
Sending Data
Receiving Data
17.5 Summary
17.6 Recommended Reading and Web Sites
17.7 Key Terms, Review Questions, and Problems
APPENDIX 17A The Trivial File Transfer Protocol
Introduction to TFTP
TFTP Packets
Overview of a Transfer
Errors and Delays
Syntax, Semantics, and Timing

Chapter 18 DISTRIBUTED PROCESS MANAGEMENT
18.1 Process Migration
Motivation
Process Migration Mechanisms
Negotiation of Migration
Eviction
Preemptive versus Nonpreemptive Transfers
18.2 Distributed Global States
Global States and Distributed Snapshots
The Distributed Snapshot Algorithm
18.3 Distributed Mutual Exclusion
Distributed Mutual Exclusion Concepts
Ordering of Events in a Distributed System
Distributed Queue
A Token-Passing Approach
18.4 Distributed Deadlock
Deadlock in Resource Allocation
Deadlock in Message Communication
18.5 Summary
18.6 Recommended Reading
18.7 Key Terms, Review Questions, and Problems

Download this book click here

No comments:

Post a Comment

Related Posts with Thumbnails

Put Your Ads Here!