Operating systems / Gary Nutt, Nabendu Chaki and Saarmistha Neogy

By: Nutt, GaryMaterial type: TextTextPublication details: Delhi : Pearson , 2004Edition: 3rd edDescription: 806 p. illISBN: 9788131723593 (pb)Subject(s): System ProgrammeDDC classification: 005.43
Contents:
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
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Status Date due Barcode Item holds
General Books General Books Central Library, Sikkim University
General Book Section
005.43 NUT/O (Browse shelf(Opens below)) Available P20689
Total holds: 0

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

There are no comments on this title.

to post a comment.
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha