Nutt, Gary

Operating systems / Gary Nutt, Nabendu Chaki and Saarmistha Neogy - 3rd ed. - Delhi : Pearson , 2004. - 806 p. ill.;

Chapter 1 Introduction
1. 1 Computers and Software
General System Software
Resource Abstraction
Example: An Abstraction of a Disk Drive
Resource Sharing
Abstract Machines and Transparent Resomce Sharing
Explicit Resource Sharing
1.2 Operating System Strategies
Batch Systems
The User's Perspective
Batch Processing Technology
Example: Batch Files
Timesharing Systems
The User's Perspective
Timesharing Technology
Example: The UNDC Timesharing System
Personal Computers and Workstations
The User's Perspective
OS Technology
Contributions to Modem OS Technology
Example: The Microsoft Windows OS Family
Embedded Systems
The User's Perspective
OS Technology
Contributions to Modem OS Technology
Example: VxWorks
Small, Communicating Computers
The User's Persepective
OS Technology
Example: Windows CE (Pocket PC)
Networks
The Genesis of Modem Operating Systems
1.3 SUMMARY
1.4 Exercises
Operating System
Architecture
2.1 Basic Functions
Device Management
Process, Thread, and Resource Management
Memory Management
File Management
2.2 GENERAL IMPi-EMENTATlON
CONSIDERATIONS
Performance
Exclusive Use of Resources
Processor Modes
Kernels
Requesting Services from the Operating System
Software Modularization
2.3 Contemporary OS Kernels
UNDC Kernels
Btampte: Linux
The Windows NT Executive and Kernel
2.4 SUMMARY
2.5 EXERCISES
Lab Exercise 2.1 Observing OS Behavior
Background
Attacking the Problem
Processes and Threads,
The Task at hand
The Abstract Machine for Classic Processes
Supporting Modem Processes and Threads
Resources
The Process Address Space
OS Families
Process Manager Responsibilities
3.2 The Hardware Process
3. 3 The Abstract machine interface
3.4 The Thread Management
Advantages of Using Threads
Thread Control Block (TCB)
Thread State Diagram
Operations on Therads
Thread Synchronization
Thread Levels
3. 5 The Process Abstraction
Bffampte: Linux Process Descriptor
Example: Windows NT/2000/XP Process
Descriptors
3.6 THE Thread Abstraction
Example: Linux Thread Descriptor
Example: Windows NT/2000/XP Thread Descriptors
3.7 STATE Diagrams
Example: UNDC State Diagram
3.7 Resource managers
3. 8 Generalizing Process Wanagewent policies
Refming the Process Manager
Specializing Resource Allocation Strategies
3.9 SUMMARY
3.10 Exercises
Lab Btercise 3.1 Kernel Timers
Background
Attacking the Problem
Lab Exercise 3.2 Manipulating Kernel
Objects 115
Part A
PartB
Part C
Background
Attacking the Problem
Scheduling
Overview
4.2 SCHEDULING MECHANISMS
The Process Scheduler Organiaation
Saving the Context
Voluntary CPU Sharing
Involuntary CPU Sharing
Performance
4.3 STRATEGY SELECTION
Scheduler Characteristics
A Model to Study Scheduling
Emmpte: Partitioning a Process into
Small Processes
Example: Approximating System Load
4.4 Nonpreemptive Strategies
First-come-first-served
Example: Predicting Wait Times for FCFS
Shortest Job Next
Priority Scheduling
Deadline Scheduling
4.5 PREEMPTIVE STRATEGIES
Round Robin
Multiple-Level Queues
4.6 IMPLEMENTING THE SCHEDULER
Example: The Linux Scheduling Mechanism
Example: BSD UNIX Scheduling Policy
Example: Windows NT/2000/XP Thread
Scheduling
4'7 Summary
4.8 Exercises
Lah Exercise Analyzing the Round Robin
SCHEDULING
Background
Attacking the Problem
Chapter 5 Basic Synchronization Principles
5. 1 COOPERATING PROCESSES
Critical Sections _ .
Deadlock
Resource Sharing
5.2 EVOl-VING FROM THE CLASSIC SOLUTION
5.3 Semaphores; The Basis of modern Solutions
Principles of Operation
Example: Using Semaphores
Practical Considerations
5.4 Synchronization in Shared Memory
Multiprocessors
5.5 Summary
5.6 Exercises
Lab Exercise 5,1 Bounded Buffer Problem
Background
Attacking the Problem
Chafer 6 High-level Synchronization and
Interprocess Communication
6.1 ALTERNATIVE SYNCHRONIZATION PRIMITIVES
AND Synchronization
Example: Using and Synchronization to Solve the Dining
Philosophers Problem
Events
Example: Using Generic Events
Example: Windows NT/2000/XP Dispatcher Objects
6.2 Monitors
Principles of Operation
Condition Variable's
Example: Using^Monitors
Some Practical Aspects of Using Monitors
6.3 INTERPROCESS COMMUNICATION
The Pipe Model
Message Passing Mechanisms
Mailboxes
Message Protocols
Using the send and receive Operations
Example: Synchronized IPG
Deferred Message Copying
6.4. SUMMARY
6.5 EXERCISES
Lab Beercise 6.1 Using Pipes
Background
Attacking the Problem
Lab Beercise 6.2 Refining the Shell
Part A
PartB
PartC
PartD
Background
Attacking the Problem
DEADLOCK
BACKOROUNP
Prevention
Avoidance
Detection and Recovery
Manual Deadlock Management
7.2 A System Deadlock Model
Example: Single Resource Type
7.3 PREVENTION
Hold and Wait
Circular Wait
Allowing Preemption
7.4 Avoidance
The Banker's Algorithm
Exahple: Using the Banker's Algorithm
7.5 Detection and Recovery
Serially Reusable Resources
Example: Serially Reusable Resource Graphs
' Consumable Resources
General Resource Systems
Recovery
7.6 SUMMARY
7.7 EXERCISES
BASIC MEMORY MANAGEMENT
The basics
8. 2 The Address Space Abstraction
Managing the Address Space
Example: Static Address Binding
Dynamic Memory for Data Structures
Modem Memory Binding
8.3 MEivioRY Allocation
Fixed-Partition Memory Strategies
Variable-Partition Memory Strategies
Example: The Cost of Moving Programs
Contemporary Allocation Strategies
8.4. DYNAMIC ADDRESS SPACE BINDING
Runtime Boimd Checking: The Isolation Mechanism
8.5 MODERN MEMORY MANAGER STRATEGIES
Swapping
Virtual Memory
Example: Using Cache Memory
Shared-Memory Multiprocessors
8.6 SUMMARY
8.7 EXERCISES
Uh Exercise 8.1 Using Shared memory
Backgroimd
Attacking the Problem
Chapter 9 Basic Virtual Memory
9.1 THE Task AT Hand
9.2 ADDRESS Translation
Address Space Mapping
Segmentation and Paging
10.1
9. 3 Paging
Paging Virtual Address Translation
Example: Contemporary Page Table Implementations
9.4 STATIC PAGING Ai-GORITHMS
The Fetch Policy
Demand Paging Algorithms
Stack Algorithms
Implementing LRU
Paging Performance
9.5 DYNAMIC PAGING ALGORITHMS
The Working Set Algorithm
Example: Working Set Algorithm
Implementing the Working Set Algorithm
Example: Taking Advantage of Paging with IPG
Example: Windows NT/2000/XP Virtual Memory
Example: Linux Virtual Memory
9.6 SEGMENTATION
Address Translation
Implementation
Example: The Multics Segmentation System
9.7 Memory-Mapped Files
9.8 SUMMARY
9.9 exercises
UB Exercise 9.1 Memory-Mapped Files
Backgroimd
Attacking the Problem
DEVICE MANAGEMENT
THE I/O SYSTEM
Device Manager Abstraction
I/O-Processor Overlap within an Application
I/O-Processor Overlap across Threads
10.2 I/O STRATEGIES
Direct I/O with Polling
Interrupt-Driven I/O
Polling Versus Interrupt-Driven I/O Performance
10.3 DEVICE MANAGER DESIGN
Device-dependent Driver Infrastructure Framework
Servicing Interrupts
Example: Linux Device I/O
10.4 BUFFERING
10.5 DEVICE CLASS CHARACTERISTICS
Communication Devices
Example: Asynchronous Serial Devices
Sequentially Accessed Storage Devices
Example: Traditional Magnetic Tape
Randomly Accessed Storage Devices
Example: Magnetic Disk
Example: Optimizing Access on Magnetic Disks
Example: CD-ROM and DVD
10.6 SUMMARY
10.7 EXERCISES
Lab Exercise 10.1 A Floppy Disk Driver
Part A
PartB
Part C
Backgroimd
Attacking the Problem
Chapter 11 File Management
11.1 THE Task at Hand
11.2 Files
Low-level Files
Structured Files
Database Management Systems
Multimedia Storage
11.3 L.OW-LEVEL FILE IMPLEMENTATIONS
„ The 0PEN and close Operations
Example: UNIX Open and Close
Block Management
Example: UNIX File Structure
Grampte: The DOS FAT File System
Reading and Writing the Byte Stream
1 1.4 SUPPORTING HiGH-LEVEL Fii-E
ABSTRACTIONS
Structured Sequential Files
Indexed Sequential Files
Database Management Systems
Multimedia Documents
11.5 DIRECTORIES
Directory Stinctures
Example: Some Directory Approaches
11.6 Implementing Directories
Directory Entries
Opening a File
11.7 File Systems
Example: The ISO 9660 File System
Mounting File Systems
Heterogeneous File Systems
11.8 SUMMARY
1 1 .9 EXERCISES
Lab Bcercise 11.1 A Simple File Manager
Part A
PartB
PartC
Backgroimd
Attacking the Problem
PROTECTION AND SECURITY
12.1 The Problem
The Goal-
Policy and Mechanism
Context for Protection and Security
The Cost of Protection Mechanisms
12.2 Authentication
External User Authentication
Example: Windows NT/2000/XP User Authentication
Internal Thread/Process Authentication
Authentication in the Network
Software Authentication
12.3 AUTHORIZATION U\J y
Ad Hoc Authorization Mechanisms
A General Model for Authorization
Implementing Security Policies
Implementing General Authorization Mechanisms
Protection Domains
Implementing the Access Matrix
12.4 CRYPTOGRAPHY
The Big Picture
Private Key Encryption
Public Key Encryption
Example: PGP Encryption
Internet Content Delivery
12.5 SUMMARY
12.6 Exercises
Networks
From Computer Cowiviunications
TO NETWORKS
Switched Networks
Network Hardware Requirements
Network Software Requirements
13.2 THE ISO OSI NETWORK ARCHITECTURE
MODEL
The Evolution of Network Protocols
The ISO OSI Model
13.3 media access Control (MAC)
PROTOCOLS
The Physical Layer
Example: Fast Physical Layers
The Data Link Layer
Contemporary Networks
13.4 THE Network layer :
Internet Addresses
Routing
Using the Network Layer
Example: Latency in the Internet
13.5 The Transport L.AYER
Communication Ports
Data Types
Reliable Communication
Example: Datagrams and Virtual Circuits Performance
13.6 USING THE TRANSPORT LAYER
Naming and Addresses
Example: The Domain Name Service
The Client-Server Model
13.7 NETWORK SECURITY
Transport Layer Security: Firewalls
Network Layer Security: IPSEC
13.8 SUMMARY
13.9 Exercises :
ImB Exercise 13.1 Using TCP/IP
Background
Example: The WinSock Package
Attacking the Problem
H Distributed System Overview
14.1 DISTRIBUTED OS MECHANISMS
14.2 DISTRIBUTED PRIMARY MEMORY
Remote Memory
Example: The Linda Programming Language
Distributed Shared Memory
14.3 remote.Procedure call
How Does RPC Work?
Implementing RPC
14.4 REMOTE OBJECTS
The Emerald System
CORBA
Java Remote Objects
14.5 Distributing Process Management
General Process Management
Process and Thread Creation
Scheduling
Migration and Load Balancing
Distributed Synchronization
14.6 SUMMARY
14.7 EXERCISES
LaB Exercise 74.1 Using Remote Procedure
CALL
Background
Attacking the Problem
15 DISTRIBUTED FILE SYSTEMS
15.1 SHARING INFORMATION ACROSS
THE NETWORK
Explicit File Copying Systems
, A Seamless File System Interface
Distributing the Work
15.2 REMOTE File Systems
The General Architecture
Block Caching
Crash Recovery
15.3 file-level CACHING
The Andrew File System
The LOCUS File System
15.4 directory Systems AND
THEIR IMPLEWENTATIONS
Filenames
Opening a File
15.5 SUMMARY
15.6 EXERCISES
DISTRIBUTED PROGRAMMING
RUNTIME SYSTEMS
16.1 supporting Distributed Software
WITH middleware
16.2 CUASSIC DISTRIBUTED APPLICATION
PROGRAMS
16.3 MIDDLEWARE SUPPORT FOR CLASSIC
DISTRIBUTED PROGRAMMING
PVM
The Beowulf Cluster Environment
The OSF Distributed Computing Environment
16.4 DISTRIBUTED PROGRAMMING
ON THE WEB
16.5 MlDDl-EWARE SUPPORT FOR MOBII-E CODE
Java and the Java Virtual Machine
The ECMA-33S Common Language Infrastructure
16.6 Summary
16.7 Exercises
DESIGN Strategies
17.1 DESIGN CONSIDERATIONS
Performance, Performance, Performance
Trusted Software
Modularization
Portability
17.2 MONOLITHIC KERNELS
Example: MS-DOS
Example: The UNIX Kernel
17.3 Modular Organization .
£)Mi»p/e; Choices: An Object-Oriented OS
17.4 EXTENSIBLE NUCLEUS, OR MICROKERNEL.
Organization
EMmple: The MACH Operating System
17.B Layered Organizations
17.6 Operating Systems for Distributed
Systems
Network Operating Systems
Example: BSD UNIX
Distributed Operating Systems
Example: The CHORUS Operating System
17.7 Summary
17.8 Exercises
18 The Linux Kernel
18.1 The Linux kernei.
18.2 Kernel Organization
Using Kernel Services
Daemons
Starting the Kernel
Control In the Machine '
18.3 MODUi-ES AND DEVICE MANAGEMENT '
Module Organization
Module Installation and Removal
18.4 PROCESS AND RESOURCE MANAGEMENT
Running the Process Manager
Creating a New Task
IPC and Synchronization
The Scheduler
18.5 MEMORY Manager
THe Virtual Address Space
The Page Fault Handler
18.6 File Management
18.7 SUMMARY
THE WINDOWS NT/2000/XP KERNEL
19.1 INTRODUCTION
19.2 The NT KERNEU
Objects
Threads
Multifirocess Synchronization
Traps, Interrupts, and Exceptions
19.3 the NT EXECUTIVE
Object Manager
Process and Thread Manager
Virtual Memory Manager
I/O Manager
The Cache ManagerChapter 1 Introduction
1. 1 Computers and Software
General System Software
Resource Abstraction
Example: An Abstraction of a Disk Drive
Resource Sharing
Abstract Machines and Transparent Resomce Sharing
Explicit Resource Sharing
1.2 Operating System Strategies
Batch Systems
The User's Perspective
Batch Processing Technology
Example: Batch Files
Timesharing Systems
The User's Perspective
Timesharing Technology
Example: The UNDC Timesharing System
Personal Computers and Workstations
The User's Perspective
OS Technology
Contributions to Modem OS Technology
Example: The Microsoft Windows OS Family
Embedded Systems
The User's Perspective
OS Technology
Contributions to Modem OS Technology
Example: VxWorks
Small, Communicating Computers
The User's Persepective
OS Technology
Example: Windows CE (Pocket PC)
Networks
The Genesis of Modem Operating Systems
1.3 SUMMARY
1.4 Exercises
Operating System
Architecture
2.1 Basic Functions
Device Management
Process, Thread, and Resource Management
Memory Management
File Management
2.2 GENERAL IMPi-EMENTATlON
CONSIDERATIONS
Performance
Exclusive Use of Resources
Processor Modes
Kernels
Requesting Services from the Operating System
Software Modularization
2.3 Contemporary OS Kernels
UNDC Kernels
Btampte: Linux
The Windows NT Executive and Kernel
2.4 SUMMARY
2.5 EXERCISES
Lab Exercise 2.1 Observing OS Behavior
Background
Attacking the Problem
Processes and Threads,
The Task at hand
The Abstract Machine for Classic Processes
Supporting Modem Processes and Threads
Resources
The Process Address Space
OS Families
Process Manager Responsibilities
3.2 The Hardware Process
3. 3 The Abstract machine interface
3.4 The Thread Management
Advantages of Using Threads
Thread Control Block (TCB)
Thread State Diagram
Operations on Therads
Thread Synchronization
Thread Levels
3. 5 The Process Abstraction
Bffampte: Linux Process Descriptor
Example: Windows NT/2000/XP Process
Descriptors
3.6 THE Thread Abstraction
Example: Linux Thread Descriptor
Example: Windows NT/2000/XP Thread Descriptors
3.7 STATE Diagrams
Example: UNDC State Diagram
3.7 Resource managers
3. 8 Generalizing Process Wanagewent policies
Refming the Process Manager
Specializing Resource Allocation Strategies
3.9 SUMMARY
3.10 Exercises
Lab Btercise 3.1 Kernel Timers
Background
Attacking the Problem
Lab Exercise 3.2 Manipulating Kernel
Objects 115
Part A
PartB
Part C
Background
Attacking the Problem
Scheduling
Overview
4.2 SCHEDULING MECHANISMS
The Process Scheduler Organiaation
Saving the Context
Voluntary CPU Sharing
Involuntary CPU Sharing
Performance
4.3 STRATEGY SELECTION
Scheduler Characteristics
A Model to Study Scheduling
Emmpte: Partitioning a Process into
Small Processes
Example: Approximating System Load
4.4 Nonpreemptive Strategies
First-come-first-served
Example: Predicting Wait Times for FCFS
Shortest Job Next
Priority Scheduling
Deadline Scheduling
4.5 PREEMPTIVE STRATEGIES
Round Robin
Multiple-Level Queues
4.6 IMPLEMENTING THE SCHEDULER
Example: The Linux Scheduling Mechanism
Example: BSD UNIX Scheduling Policy
Example: Windows NT/2000/XP Thread
Scheduling
4'7 Summary
4.8 Exercises
Lah Exercise Analyzing the Round Robin
SCHEDULING
Background
Attacking the Problem
Chapter 5 Basic Synchronization Principles
5. 1 COOPERATING PROCESSES
Critical Sections _ .
Deadlock
Resource Sharing
5.2 EVOl-VING FROM THE CLASSIC SOLUTION
5.3 Semaphores; The Basis of modern Solutions
Principles of Operation
Example: Using Semaphores
Practical Considerations
5.4 Synchronization in Shared Memory
Multiprocessors
5.5 Summary
5.6 Exercises
Lab Exercise 5,1 Bounded Buffer Problem
Background
Attacking the Problem
Chafer 6 High-level Synchronization and
Interprocess Communication
6.1 ALTERNATIVE SYNCHRONIZATION PRIMITIVES
AND Synchronization
Example: Using and Synchronization to Solve the Dining
Philosophers Problem
Events
Example: Using Generic Events
Example: Windows NT/2000/XP Dispatcher Objects
6.2 Monitors
Principles of Operation
Condition Variable's
Example: Using^Monitors
Some Practical Aspects of Using Monitors
6.3 INTERPROCESS COMMUNICATION
The Pipe Model
Message Passing Mechanisms
Mailboxes
Message Protocols
Using the send and receive Operations
Example: Synchronized IPG
Deferred Message Copying
6.4. SUMMARY
6.5 EXERCISES
Lab Beercise 6.1 Using Pipes
Background
Attacking the Problem
Lab Beercise 6.2 Refining the Shell
Part A
PartB
PartC
PartD
Background
Attacking the Problem
DEADLOCK
BACKOROUNP
Prevention
Avoidance
Detection and Recovery
Manual Deadlock Management
7.2 A System Deadlock Model
Example: Single Resource Type
7.3 PREVENTION
Hold and Wait
Circular Wait
Allowing Preemption
7.4 Avoidance
The Banker's Algorithm
Exahple: Using the Banker's Algorithm
7.5 Detection and Recovery
Serially Reusable Resources
Example: Serially Reusable Resource Graphs
' Consumable Resources
General Resource Systems
Recovery
7.6 SUMMARY
7.7 EXERCISES
BASIC MEMORY MANAGEMENT
The basics
8. 2 The Address Space Abstraction
Managing the Address Space
Example: Static Address Binding
Dynamic Memory for Data Structures
Modem Memory Binding
8.3 MEivioRY Allocation
Fixed-Partition Memory Strategies
Variable-Partition Memory Strategies
Example: The Cost of Moving Programs
Contemporary Allocation Strategies
8.4. DYNAMIC ADDRESS SPACE BINDING
Runtime Boimd Checking: The Isolation Mechanism
8.5 MODERN MEMORY MANAGER STRATEGIES
Swapping
Virtual Memory
Example: Using Cache Memory
Shared-Memory Multiprocessors
8.6 SUMMARY
8.7 EXERCISES
Uh Exercise 8.1 Using Shared memory
Backgroimd
Attacking the Problem
Chapter 9 Basic Virtual Memory
9.1 THE Task AT Hand
9.2 ADDRESS Translation
Address Space Mapping
Segmentation and Paging
10.1
9. 3 Paging
Paging Virtual Address Translation
Example: Contemporary Page Table Implementations
9.4 STATIC PAGING Ai-GORITHMS
The Fetch Policy
Demand Paging Algorithms
Stack Algorithms
Implementing LRU
Paging Performance
9.5 DYNAMIC PAGING ALGORITHMS
The Working Set Algorithm
Example: Working Set Algorithm
Implementing the Working Set Algorithm
Example: Taking Advantage of Paging with IPG
Example: Windows NT/2000/XP Virtual Memory
Example: Linux Virtual Memory
9.6 SEGMENTATION
Address Translation
Implementation
Example: The Multics Segmentation System
9.7 Memory-Mapped Files
9.8 SUMMARY
9.9 exercises
UB Exercise 9.1 Memory-Mapped Files
Backgroimd
Attacking the Problem
DEVICE MANAGEMENT
THE I/O SYSTEM
Device Manager Abstraction
I/O-Processor Overlap within an Application
I/O-Processor Overlap across Threads
10.2 I/O STRATEGIES
Direct I/O with Polling
Interrupt-Driven I/O
Polling Versus Interrupt-Driven I/O Performance
10.3 DEVICE MANAGER DESIGN
Device-dependent Driver Infrastructure Framework
Servicing Interrupts
Example: Linux Device I/O
10.4 BUFFERING
10.5 DEVICE CLASS CHARACTERISTICS
Communication Devices
Example: Asynchronous Serial Devices
Sequentially Accessed Storage Devices
Example: Traditional Magnetic Tape
Randomly Accessed Storage Devices
Example: Magnetic Disk
Example: Optimizing Access on Magnetic Disks
Example: CD-ROM and DVD
10.6 SUMMARY
10.7 EXERCISES
Lab Exercise 10.1 A Floppy Disk Driver
Part A
PartB
Part C
Backgroimd
Attacking the Problem
Chapter 11 File Management
11.1 THE Task at Hand
11.2 Files
Low-level Files
Structured Files
Database Management Systems
Multimedia Storage
11.3 L.OW-LEVEL FILE IMPLEMENTATIONS
„ The 0PEN and close Operations
Example: UNIX Open and Close
Block Management
Example: UNIX File Structure
Grampte: The DOS FAT File System
Reading and Writing the Byte Stream
1 1.4 SUPPORTING HiGH-LEVEL Fii-E
ABSTRACTIONS
Structured Sequential Files
Indexed Sequential Files
Database Management Systems
Multimedia Documents
11.5 DIRECTORIES
Directory Stinctures
Example: Some Directory Approaches
11.6 Implementing Directories
Directory Entries
Opening a File
11.7 File Systems
Example: The ISO 9660 File System
Mounting File Systems
Heterogeneous File Systems
11.8 SUMMARY
1 1 .9 EXERCISES
Lab Bcercise 11.1 A Simple File Manager
Part A
PartB
PartC
Backgroimd
Attacking the Problem
PROTECTION AND SECURITY
12.1 The Problem
The Goal-
Policy and Mechanism
Context for Protection and Security
The Cost of Protection Mechanisms
12.2 Authentication
External User Authentication
Example: Windows NT/2000/XP User Authentication
Internal Thread/Process Authentication
Authentication in the Network
Software Authentication
12.3 AUTHORIZATION U\J y
Ad Hoc Authorization Mechanisms
A General Model for Authorization
Implementing Security Policies
Implementing General Authorization Mechanisms
Protection Domains
Implementing the Access Matrix
12.4 CRYPTOGRAPHY
The Big Picture
Private Key Encryption
Public Key Encryption
Example: PGP Encryption
Internet Content Delivery
12.5 SUMMARY
12.6 Exercises
Networks
From Computer Cowiviunications
TO NETWORKS
Switched Networks
Network Hardware Requirements
Network Software Requirements
13.2 THE ISO OSI NETWORK ARCHITECTURE
MODEL
The Evolution of Network Protocols
The ISO OSI Model
13.3 media access Control (MAC)
PROTOCOLS
The Physical Layer
Example: Fast Physical Layers
The Data Link Layer
Contemporary Networks
13.4 THE Network layer :
Internet Addresses
Routing
Using the Network Layer
Example: Latency in the Internet
13.5 The Transport L.AYER
Communication Ports
Data Types
Reliable Communication
Example: Datagrams and Virtual Circuits Performance
13.6 USING THE TRANSPORT LAYER
Naming and Addresses
Example: The Domain Name Service
The Client-Server Model
13.7 NETWORK SECURITY
Transport Layer Security: Firewalls
Network Layer Security: IPSEC
13.8 SUMMARY
13.9 Exercises :
ImB Exercise 13.1 Using TCP/IP
Background
Example: The WinSock Package
Attacking the Problem
H Distributed System Overview
14.1 DISTRIBUTED OS MECHANISMS
14.2 DISTRIBUTED PRIMARY MEMORY
Remote Memory
Example: The Linda Programming Language
Distributed Shared Memory
14.3 remote.Procedure call
How Does RPC Work?
Implementing RPC
14.4 REMOTE OBJECTS
The Emerald System
CORBA
Java Remote Objects
14.5 Distributing Process Management
General Process Management
Process and Thread Creation
Scheduling
Migration and Load Balancing
Distributed Synchronization
14.6 SUMMARY
14.7 EXERCISES
LaB Exercise 74.1 Using Remote Procedure
CALL
Background
Attacking the Problem
15 DISTRIBUTED FILE SYSTEMS
15.1 SHARING INFORMATION ACROSS
THE NETWORK
Explicit File Copying Systems
, A Seamless File System Interface
Distributing the Work
15.2 REMOTE File Systems
The General Architecture
Block Caching
Crash Recovery
15.3 file-level CACHING
The Andrew File System
The LOCUS File System
15.4 directory Systems AND
THEIR IMPLEWENTATIONS
Filenames
Opening a File
15.5 SUMMARY
15.6 EXERCISES
DISTRIBUTED PROGRAMMING
RUNTIME SYSTEMS
16.1 supporting Distributed Software
WITH middleware
16.2 CUASSIC DISTRIBUTED APPLICATION
PROGRAMS
16.3 MIDDLEWARE SUPPORT FOR CLASSIC
DISTRIBUTED PROGRAMMING
PVM
The Beowulf Cluster Environment
The OSF Distributed Computing Environment
16.4 DISTRIBUTED PROGRAMMING
ON THE WEB
16.5 MlDDl-EWARE SUPPORT FOR MOBII-E CODE
Java and the Java Virtual Machine
The ECMA-33S Common Language Infrastructure
16.6 Summary
16.7 Exercises
DESIGN Strategies
17.1 DESIGN CONSIDERATIONS
Performance, Performance, Performance
Trusted Software
Modularization
Portability
17.2 MONOLITHIC KERNELS
Example: MS-DOS
Example: The UNIX Kernel
17.3 Modular Organization .
£)Mi»p/e; Choices: An Object-Oriented OS
17.4 EXTENSIBLE NUCLEUS, OR MICROKERNEL.
Organization
EMmple: The MACH Operating System
17.B Layered Organizations
17.6 Operating Systems for Distributed
Systems
Network Operating Systems
Example: BSD UNIX
Distributed Operating Systems
Example: The CHORUS Operating System
17.7 Summary
17.8 Exercises
18 The Linux Kernel
18.1 The Linux kernei.
18.2 Kernel Organization
Using Kernel Services
Daemons
Starting the Kernel
Control In the Machine '
18.3 MODUi-ES AND DEVICE MANAGEMENT '
Module Organization
Module Installation and Removal
18.4 PROCESS AND RESOURCE MANAGEMENT
Running the Process Manager
Creating a New Task
IPC and Synchronization
The Scheduler
18.5 MEMORY Manager
THe Virtual Address Space
The Page Fault Handler
18.6 File Management
18.7 SUMMARY
THE WINDOWS NT/2000/XP KERNEL
19.1 INTRODUCTION
19.2 The NT KERNEU
Objects
Threads
Multifirocess Synchronization
Traps, Interrupts, and Exceptions
19.3 the NT EXECUTIVE
Object Manager
Process and Thread Manager
Virtual Memory Manager
I/O Manager
The Cache Manager

9788131723593 (pb)


System Programme

005.43 / NUT/O