did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780131828278

Operating Systems

by ; ;
  • ISBN13:

    9780131828278

  • ISBN10:

    0131828274

  • Edition: 3rd
  • Format: Paperback
  • Copyright: 2003-12-12
  • Publisher: Pearson
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $240.79

Summary

The third edition ofOperating Systems has been entirely updated to reflect current core operating system concepts and design considerations. To complement the discussion of operating system concepts, the book features two in-depth case studies on Linux and Windows XP. The case studies follow the outline of the book, so readers working through the chapter material can refer to each case study to see how a particular topic is handled in either Linux or Windows XP. Using Java code to illustrate key points,Operating Systems introduces processes, concurrent programming, deadlock and indefinite postponement, mutual exclusion, physical and virtual memory, file systems, disk performance, distributed systems, security and more. New to this edition are a chapter on multithreading and extensive treatments of distributed computing, multiprocessing, performance, and computer security. An ideal up-to-date book for beginner operating systems readers.

Table of Contents

List of Illustrations
xvii
Preface xxxvii
Part 1 Introduction to Hardware, Software and Operating Systems
1(105)
Introduction to Operating Systems
3(50)
Introduction
6(1)
What Is an Operating System?
6(1)
Early History: The 1940s and 1950s
7(2)
Operating Systems Thinking: Innovation
8(1)
The 1960s
9(4)
Operating Systems Thinking: Relative Value of Human and Computer Resources
10(2)
Biographical Note: Ken Thompson and Dennis Ritchie
12(1)
The 1970s
13(2)
Anecdote: Abraham Lincoln's Technology Caution
14(1)
The 1980s
15(1)
History of the Internet and World Wide Web
16(3)
Biographical Note: Doug Engelbart
16(2)
Biographical Note: Tim Berners-Lee
18(1)
The 1990s
19(4)
Biographical Note: Linus Torvalds
21(1)
Biographical Note: Richard Stallman
22(1)
2000 and Beyond
23(2)
Application Bases
25(1)
Operating System Environments
26(2)
Operating System Components and Goals
28(5)
Core Operating System Components
28(2)
Operating System Goals
30(1)
Operating Systems Thinking: Performance
31(2)
Operating System Architectures
33(20)
Operating Systems Thinking: Keep It Simple (KIS)
33(1)
Monolithic Architecture
33(1)
Anecdote: System Architect vs. System Engineer
34(1)
Layered Architecture
35(1)
Operating Systems Thinking: Architecture
35(1)
Microkernel Architecture
36(2)
Networked and Distributed Operating Systems
38(15)
Hardware and Software Concepts
53(53)
Introduction
56(1)
Evolution of Hardware Devices
56(3)
Biographical Note: Gordon Moore and Moore's Law
57(2)
Hardware Components
59(13)
Mainboards
59(1)
Processors
60(2)
Clocks
62(1)
Memory Hierarchy
63(2)
Operating Systems Thinking: Caching
65(1)
Main Memory
65(1)
Secondary Storage
66(1)
Buses
67(1)
Direct Memory Access (DMA)
68(2)
Operating Systems Thinking: Legacy Hardware and Software
70(1)
Peripheral Devices
70(2)
Hardware Support for Operating Systems
72(6)
Processor
72(1)
Operating Systems Thinking: Principle of Least Privilege
73(1)
Operating Systems Thinking: Protection
74(1)
Anecdote: Origins of the Term ``Glitch''
75(1)
Timers and Clocks
76(1)
Bootstrapping
76(1)
Plug and Play
77(1)
Caching and Buffering
78(2)
Operating Systems Thinking: Heuristics
79(1)
Software Overview
80(5)
Machine Language and Assembly Language
80(1)
Interpreters and Compilers
81(1)
High-Level Languages
82(1)
Structured Programming
83(1)
Object-Oriented Programming
83(2)
Application Programming Interfaces (APIs)
85(1)
Compiling, Linking and Loading
86(7)
Compiling
86(1)
Linking
87(3)
Mini Case Study: Mach
90(1)
Loading
91(2)
Firmware
93(1)
Middleware
93(13)
Part 2 Processes and Threads
106(268)
Process Concepts
109(36)
Introduction
111(2)
Operating Systems Thinking: Customers Ultimately Want Applications
111(1)
Definition of Process
111(1)
Mini Case Study: CTSS and Multics
112(1)
Biographical Note: Fernando J. Corbato
113(1)
Process States: Life Cycle of a Process
113(1)
Process Management
114(9)
Process States and State Transitions
115(1)
Process Control Blocks (PCBs)/Process Descriptors
116(2)
Operating Systems Thinking: Data Structures in Operating Systems
118(1)
Process Operations
118(2)
Suspend and Resume
120(2)
Context Switching
122(1)
Interrupts
123(6)
Operating Systems Thinking: Asynchronism vs. Synchronism
124(1)
Interrupt Processing
125(2)
Interrupt Classes
127(2)
Interprocess Communication
129(3)
Signals
130(1)
Message Passing
130(2)
Case Study: UNIX Processes
132(13)
Mini Case Study: UNIX Systems
133(12)
Thread Concepts
145(40)
Introduction
147(1)
Operating Systems Thinking: Concurrency
147(1)
Definition of Thread
148(2)
Motivation for Threads
150(2)
Operating Systems Thinking: Parallelism
151(1)
Thread States: Life Cycle of a Thread
152(2)
Thread Operations
154(1)
Threading Models
155(6)
User-Level Threads
155(2)
Kernel-Level Threads
157(2)
Combining User- and Kernel-Level Threads
159(1)
Operating Systems Thinking: Standards Conformance
159(2)
Thread Implementation Considerations
161(4)
Thread Signal Delivery
161(2)
Anecdote: Engineering
163(2)
Thread Termination
165(1)
Posix and Pthreads
165(2)
Anecdote: Standards and Conformance: Plug-to-Plug Compatibility
166(1)
Linux Threads
167(2)
Operating Systems Thinking: Scalability
168(1)
Windows XP Threads
169(3)
Java Multithreading Case Study, Part I: Introduction to Java Threads
172(13)
Asynchronous Concurrent Execution
185(60)
Introduction
187(1)
Mutual Exclusion
187(12)
Java Multithreading Case Study, Part II: A Producer/Consumer Relationship in Java
188(9)
Critical Sections
197(1)
Mutual Exclusion Primitives
198(1)
Implementing Mutual Exclusion Primitives
199(1)
Software Solutions to the Mutual Exclusion Problem
200(21)
Dekker's Algorithm
200(11)
Peterson's Algorithm
211(1)
Anecdote: Why Should You Believe That Your Software Is Functioning Correctly?
211(4)
N-Thread Mutual Exclusion: Lamport's Bakery Algorithm
215(1)
Biographical Note: Leslie Lamport
216(5)
Hardware Solutions to the Mutual Exclusion Problem
221(6)
Disabling Interrupts
221(1)
Test-and-Set Instruction
222(2)
Swap Instruction
224(3)
Semaphores
227(18)
Biographical Note: Edsger W. Dijkstra
227(1)
Mutual Exclusion with Semaphores
228(1)
Thread Synchronization with Semaphores
229(2)
Counting Semaphores
231(1)
Implementing Semaphores
232(1)
Anecdote: Unclear Requirements
233(12)
Concurrent Programming
245(44)
Introduction
247(2)
Anecdote: Exhaustive Testing Is Impossible
248(1)
Monitors
249(11)
Operating Systems Thinking: Information Hiding
250(1)
Condition Variables
251(1)
Simple Resource Allocation with Monitors
252(1)
Biographical Note: Per Brinch Hansen
252(2)
Monitor Example: Circular Buffer
254(3)
Monitor Example: Readers and Writers
257(3)
Java Monitors
260(1)
Java Multithreading Case Study, Part III: Producer/Consumer Relationship in Java
261(9)
Java Multithreading Case Study, Part IV: Circular Buffer in Java
270(19)
Deadlock and Indefinite Postponement
289(44)
Introduction
291(1)
Examples of Deadlock
291(7)
Traffic Deadlock
292(1)
Simple Resource Deadlock
293(1)
Anecdote: One-Lane Bridge
293(1)
Deadlock in Spooling Systems
294(1)
Operating Systems Thinking: Waiting, Deadlock and Indefinite Postponement
295(1)
Example: Dining Philosophers
296(2)
Related Problem: Indefinite Postponement
298(1)
Resource Concepts
298(1)
Four Necessary Conditions for Deadlock
299(1)
Deadlock Solutions
300(1)
Deadlock Prevention
301(5)
Denying the ``Wait-For'' Condition
302(1)
Anecdote: No Nuts, Bolts or Screws Allowed
302(1)
Denying the ``No-Preemption'' Condition
303(1)
Denying the ``Circular-Wait'' Condition
304(2)
Deadlock Avoidance with Dijkstra's Banker's Algorithm
306(6)
Anecdote: Acronyms
307(2)
Example of a Safe State
309(1)
Example of an Unsafe State
309(1)
Example of Safe-State-to-Unsafe-State Transition
310(1)
Banker's Algorithm Resource Allocation
311(1)
Weaknesses in the Banker's Algorithm
312(1)
Deadlock Detection
312(4)
Resource-Allocation Graphs
313(1)
Reduction of Resource-Allocation Graphs
314(2)
Deadlock Recovery
316(2)
Deadlock Strategies in Current and Future Systems
318(15)
Processor Scheduling
333(41)
Introduction
335(1)
Scheduling Levels
335(2)
Preemptive vs. Nonpreemtpive Scheduling
337(2)
Operating Systems Thinking: Overhead
338(1)
Priorities
339(1)
Scheduling Objectives
340(2)
Operating Systems Thinking: Predictability
341(1)
Operating Systems Thinking: Fairness
342(1)
Scheduling Criteria
342(2)
Scheduling Algorithms
344(12)
First-In-First-Out (FIFO) Scheduling
344(1)
Round-Robin (RR) Scheduling
345(3)
Shortest-Process-First (SPF) Scheduling
348(1)
Highest-Response-Ratio-Next (HRRN) Scheduling
349(1)
Shortest-Remaining-Time (SRT) Scheduling
349(1)
Multilevel Feedback Queues
350(4)
Fair Share Scheduling
354(2)
Deadline Scheduling
356(1)
Operating Systems Thinking: Intensity of Resource Management vs. Relative Resource Value
357(1)
Real-Time Scheduling
357(3)
Mini Case Study: Real-Time Operating Systems
358(2)
Java Thread Scheduling
360(14)
Part 3 Physical and Virtual Memory
374(148)
Real Memory Organization and Management
377(36)
Introduction
379(1)
Memory Organization
379(1)
Operating Systems Thinking: There Are No Upper Limits to Processing Power, Memory, Storage and Bandwidth
380(1)
Memory Management
380(2)
Memory Hierarchy
382(1)
Memory Management Strategies
383(1)
Contiguous vs. Noncontiguous Memory Allocation
384(1)
Single-User Contiguous Memory Allocation
385(5)
Overlays
386(1)
Protection in a Single-User System
387(2)
Single-Stream Batch Processing
389(1)
Operating Systems Thinking: Change Is the Rule Rather Than the Exception
389(1)
Fixed-Partition Multiprogramming
390(5)
Anecdote: Compartmentalization
393(1)
Operating Systems Thinking: Spatial Resources and Fragmentation
394(1)
Variable-Partition Multiprogramming
395(6)
Variable-Partition Characteristics
395(4)
Memory Placement Strategies
399(2)
Multiprogramming with Memory Swapping
401(12)
Virtual Memory Organization
413(64)
Introduction
415(3)
Mini Case Study: Atlas
415(1)
Operating Systems Thinking: Virtualization
416(1)
Biographical Note: Peter Denning
417(1)
Virtual Memory: Basic Concepts
418(2)
Anecdote: Virtual Memory Unnecessary
418(2)
Block Mapping
420(4)
Paging
424(18)
Paging Address Translation by Direct Mapping
428(1)
Paging Address Translation by Associative Mapping
429(1)
Paging Address Translation with Direct/Associative Mapping
430(2)
Operating Systems Thinking: Empirical Results: Locality-Based Heuristics
432(1)
Multilevel Page Tables
433(3)
Inverted Page Tables
436(3)
Sharing in a Paging System
439(2)
Operating Systems Thinking: Lazy Allocation
441(1)
Segmentation
442(9)
Segmentation Address Translation by Direct Mapping
444(2)
Sharing in a Segmentation System
446(1)
Protection and Access Control in Segmentation Systems
447(4)
Segmentation/Paging Systems
451(4)
Dynamic Address Translation in a Segmentation/Paging System
451(4)
Sharing and Protection in a Segmentation/Paging System
455(1)
Case Study: IA-32 Intel Architecture Virtual Memory
455(22)
Mini Case Study: IBM Mainframe Operating Systems
459(2)
Mini Case Study: Early History of the VM Operating System
461(16)
Virtual Memory Management
477(45)
Introduction
479(1)
Locality
479(1)
Demand Paging
480(3)
Operating Systems Thinking: Computer Theory in Operating Systems
481(1)
Operating Systems Thinking: Space-Time Trade-offs
482(1)
Anticipatory Paging
483(2)
Page Replacement
485(1)
Page-Replacement Strategies
486(10)
Random Page Replacement
486(1)
First-In-First-Out (FIFO) Page Replacement
487(1)
FIFO Anomaly
488(1)
Least-Recently-Used (LRU) Page Replacement
489(2)
Least-Frequently-Used (LFU) Page Replacement
491(1)
Not-Used-Recently (NUR) Page Replacement
491(2)
Modifications to FIFO: Second-Chance and Clock Page Replacement
493(1)
Far Page Replacement
494(2)
Working Set Model
496(4)
Page-Fault-Frequency (PFF) Page Replacement
500(2)
Page Release
502(1)
Page Size
502(3)
Program Behavior under Paging
505(2)
Global vs. Local Page Replacement
507(1)
Case Study: Linux Page Replacement
508(14)
Part 4 Secondary Storage, Files and Databases
522(116)
Disk Performance Optimization
525(58)
Introduction
528(1)
Evolution of Secondary Storage
528(1)
Characteristics of Moving-Head Disk Storage
529(2)
Why Disk Scheduling Is Necessary
531(2)
Disk Scheduling Strategies
533(9)
First-Come-First-Served (FCFS) Disk Scheduling
535(1)
Shortest-Seek-Time-First (SSTF) Disk Scheduling
536(1)
Anecdote: Every Problem Has a Solution and Every Solution Has a Problem
536(1)
SCAN Disk Scheduling
537(1)
C-SCAN Disk Scheduling
538(1)
FSCAN and N-Step SCAN Disk Scheduling
539(2)
LOOK and C-LOOK Disk Scheduling
541(1)
Rotational Optimization
542(4)
SLTF Scheduling
542(1)
SPTF and SATF Scheduling
543(3)
System Considerations
546(2)
Operating Systems Thinking: Saturation and Bottlenecks
546(2)
Caching and Buffering
548(1)
Other Disk Performance Techniques
549(3)
Operating Systems Thinking: Compression and Decompression
550(1)
Operating Systems Thinking: Redundancy
551(1)
Redundant Arrays of Independent Disks (RAID)
552(31)
RAID Overview
552(2)
Operating Systems Thinking: Fault Tolerance
554(1)
Operating Systems Thinking: Mission-Critical Systems
554(1)
Level 0 (Striping)
555(1)
Level 1 (Mirroring)
556(2)
Level 2 (Bit-Level Hamming ELL Parity)
558(2)
Level 3 (Bit-Level XOR ELL Parity)
560(2)
Level 4 (Block-Level XOR ELL Parity)
562(1)
Level 5 (Block-Level Distributed XOR ELL Parity)
563(20)
File and Database Systems
583(55)
Introduction
586(1)
Data Hierarchy
586(1)
Files
587(2)
File Systems
589(9)
Operating Systems Thinking: Encryption and Decryption
590(1)
Directories
590(4)
Metadata
594(2)
Mounting
596(2)
File Organization
598(1)
File Allocation
599(9)
Contiguous File Allocation
599(1)
Linked-List Noncontiguous File Allocation
600(2)
Tabular Noncontiguous File Allocation
602(2)
Mini Case Study: MS-DOS
604(1)
Indexed Noncontiguous File Allocation
605(3)
Free Space Management
608(2)
File Access Control
610(2)
Access Control Matrix
610(1)
Operating Systems Thinking: Security
610(1)
Access Control by User Classes
611(1)
Data Access Techniques
612(1)
Data Integrity Protection
613(6)
Backup and Recovery
613(1)
Operating Systems Thinking: Backup and Recovery
614(1)
Data Integrity and Log-Structured File Systems
615(1)
Operating Systems Thinking: Murphy's Law and Robust Systems
616(3)
File Servers and Distributed Systems
619(1)
Database Systems
619(19)
Advantages of Database Systems
620(1)
Data Access
620(1)
Relational Database Model
621(2)
Operating Systems and Database Systems
623(15)
Part 5 Performance, Processors and Multiprocessor Management
638(108)
Performance and Processor Design
641(42)
Introduction
643(1)
Important Trends Affecting Performance Issues
643(1)
Why Performance Monitoring and Evaluation Are Needed
644(1)
Performance Measures
645(2)
Performance Evaluation Techniques
647(11)
Tracing and Profiling
648(1)
Timings and Microbenchmarks
649(1)
Application-Specific Evaluation
650(2)
Analytic Models
652(1)
Benchmarks
652(2)
Synthetic Programs
654(1)
Simulation
655(1)
Performance Monitoring
656(2)
Bottlenecks and Saturation
658(1)
Feedback Loops
659(1)
Negative Feedback
659(1)
Positive Feedback
659(1)
Performance Techniques in Processor Design
660(23)
Complex Instruction Set Computing (CISC)
661(1)
Reduced Instruction Set Computing (RISC)
662(3)
Post-Risc Processors
665(3)
Explicitly Parallel Instruction Computing (EPIC)
668(15)
Multiprocessor Management
683(63)
Introduction
686(2)
Mini Case Study: Supercomputers
686(1)
Biographical Note: Seymour Cray
687(1)
Multiprocessor Architecture
688(10)
Classifying Sequential and Parallel Architectures
688(2)
Processor Interconnection Schemes
690(6)
Loosely Coupled vs. Tightly Coupled Systems
696(2)
Multiprocessor Operating System Organizations
698(3)
Master/Slave
698(1)
Separate Kernels
699(1)
Symmetrical Organization
700(1)
Operating Systems Thinking: Graceful Degradation
701(1)
Memory Access Architectures
701(6)
Uniform Memory Access
702(1)
Nonuniform Memory Access
703(1)
Cache-Only Memory Architecture
704(1)
No Remote Memory Access
705(2)
Multiprocessor Memory Sharing
707(6)
Operating Systems Thinking: Data Replication and Coherency
707(1)
Cache Coherence
708(1)
Page Replication and Migration
709(1)
Shared Virtual Memory
710(3)
Multiprocessor Scheduling
713(6)
Job-Blind Multiprocessor Scheduling
714(1)
Job-Aware Multiprocessor Scheduling
715(4)
Process Migration
719(4)
Flow of Process Migration
719(2)
Process Migration Concepts
721(1)
Process Migration Strategies
722(1)
Load Balancing
723(6)
Static Load Balancing
724(1)
Dynamic Load Balancing
725(4)
Multiprocessor Mutual Exclusion
729(17)
Spin Locks
729(1)
Sleep/Wakeup Locks
730(1)
Read/Write Locks
731(15)
Part 6 Networking and Distributed Computing
746(120)
Introduction to Networking
749(32)
Introduction
751(1)
Network Topology
751(3)
Mini Case Study: Symbian OS
754(1)
Network Types
754(1)
TCP/IP Protocol Stack
755(1)
Application Layer
756(2)
Hypertext Transfer Protocol (HTTP)
757(1)
File Transfer Protocol (FTP)
758(1)
Transport Layer
758(4)
Anecdote: Unreliable Communication Lines Can Lead to Embarrassment
759(1)
Transmission Control Protocol (TCP)
760(1)
User Datagram Protocol (UDP)
761(1)
Network Layer
762(2)
Internet Protocol (IP)
763(1)
Internet Protocol version 6 (IPv6)
763(1)
Link Layer
764(4)
Ethernet
765(1)
Token Ring
766(1)
Fiber Distributed Data Interface (FDDI)
766(2)
IEEE 802.11 (Wireless)
768(1)
Client/Server Model
768(13)
Introduction to Distributed Systems
781(34)
Introduction
783(1)
Attributes of Distributed Systems
784(4)
Performance and Scalability
784(1)
Connectivity and Security
784(1)
Reliability and Fault Tolerance
785(1)
Transparency
786(1)
Network Operating Systems
787(1)
Distributed Operating Systems
787(1)
Communication in Distributed Systems
788(6)
Middleware
788(1)
Anecdote: Consequences of Errors
789(1)
Remote Procedure Call (RPC)
790(1)
Remote Method Invocation (RMI)
791(1)
CORBA (Common Object Request Broker Architecture)
792(1)
DCOM (Distributed Component Object Model)
793(1)
Process Migration in Distributed Systems
793(1)
Synchronization in Distributed Systems
794(1)
Mutual Exclusion in Distributed Systems
795(2)
Mutual Exclusion without Shared Memory
795(1)
Agrawala and Ricart's Distributed Mutual Exclusion Algorithm
796(1)
Deadlock in Distributed Systems
797(6)
Distributed Deadlock
797(1)
Deadlock Prevention
798(2)
Deadlock Detection
800(1)
A Distributed Resource Deadlock Algorithm
801(2)
Case Study: The Sprite Distributed Operating System
803(1)
Case Study: The Amoeba Distributed Operating System
804(11)
Distributed Systems and Web Services
815(51)
Introduction
817(1)
Distributed File Systems
817(13)
Distributed File System Concepts
817(3)
Network File System (NFS)
820(2)
Andrew File System (AFS)
822(2)
Coda File System
824(3)
Sprite File System
827(3)
Multicomputer Systems
830(1)
Clustering
831(5)
Clustering Types
832(1)
Clustering Benefits
833(1)
Clustering Examples
833(3)
Peer-to-Peer Distributed Computing
836(6)
Client/Server and Peer-to-Peer Applications
836(1)
Centralized vs. Decentralized PZP Applications
836(3)
Peer Discovery and Searching
839(1)
JXTA
840(2)
Grid Computing
842(1)
Java Distributed Computing
843(7)
Java Servlets and Java Server Pages (JSP)
843(2)
Jini
845(2)
Java Spaces
847(2)
Java Management Extensions (JMX)
849(1)
Web Services
850(16)
Microsoft's Net Platform
852(1)
Sun Microsystems and the Sun ONE Platform
853(13)
Part 7 Security
866(70)
Security
869(67)
Introduction
872(1)
Operating Systems Thinking: Ethical Systems Design
872(1)
Cryptography
873(7)
Secret-Key Cryptography
875(2)
Public-Key Cryptography
877(3)
Biographical Note: Rivest, Shamir and Adleman
880(1)
Authentication
880(6)
Basic Authentication
881(1)
Biometrics and Smart Cards
882(2)
Kerberos
884(1)
Single Sign-On
885(1)
Access Control
886(6)
Access Rights and Protection Domains
886(1)
Access Control Models and Policies
887(1)
Access Control Mechanisms
888(4)
Security Attacks
892(5)
Cryptanalysis
892(1)
Viruses and Worms
892(2)
Denial-of-Service (DoS) Attacks
894(2)
Software Exploitation
896(1)
System Penetration
896(1)
Attack Prevention and Security Solutions
897(10)
Firewalls
897(2)
Intrusion Detection Systems (IDSs)
899(1)
Antivirus Software
900(2)
Security Patches
902(1)
Secure File Systems
903(1)
Mini Case Study, OpenBSD
904(1)
Mini Case Study: Macintosh
905(1)
Orange Book Security
906(1)
Secure Communication
907(1)
Key Agreement Protocols
908(3)
Key Management
908(2)
Digital Signatures
910(1)
Public-Key Infrastructure, Certificates and Certificate Authorities
911(2)
Secure Communication Protocols
913(4)
Secure Sockets Layer (SSL)
913(1)
Virtual Private Networks (VPNs) and IP Security (IPSec)
914(1)
Wireless Security
915(2)
Steganography
917(1)
Proprietary and Open-Source Security
918(1)
Case Study: UNIX Systems Security
919(17)
Part 8 Operating System Case Studies
936(202)
Case Study: Linux
939(94)
Introduction
942(1)
History
942(3)
Linux Overview
945(3)
Development and Community
945(1)
Distributions
946(1)
User Interface
947(1)
Standards
947(1)
Kernel Architecture
948(4)
Hardware Platforms
950(1)
Mini Case Study: User-Mode Linux (UML)
951(1)
Loadable Kernel Modules
952(1)
Process Management
952(9)
Process and Thread Organization
953(2)
Process Scheduling
955(6)
Memory Management
961(10)
Memory Organization
961(5)
Physical Memory Allocation and Deallocation
966(2)
Page Replacement
968(2)
Swapping
970(1)
File Systems
971(12)
Virtual File System
972(3)
Virtual File System Caches
975(2)
Second Extended File System (extzfs)
977(5)
Proc File System
982(1)
Input/Output Management
983(14)
Device Drivers
983(3)
Character Device I/O
986(1)
Block Device I/O
987(4)
Network Device I/O
991(1)
Unified Device Model
992(3)
Interrupts
995(2)
Kernel Synchronization
997(3)
Spin Locks
997(1)
Reader/Writer Locks
998(1)
Seqlocks
998(1)
Kernel Semaphores
999(1)
Interprocess Communication
1000(8)
Signals
1001(1)
Pipes
1002(1)
Sockets
1003(2)
Message Queues
1005(1)
Shared Memory
1005(2)
System V Semaphores
1007(1)
Networking
1008(2)
Packet Processing
1008(2)
Netfilter Framework and Hooks
1010(1)
Scalability
1010(4)
Symmetric Multiprocessing (SMP)
1011(1)
Nonuniform Memory Access (NUMA)
1012(1)
Other Scalability Features
1013(1)
Embedded Linux
1014(1)
Security
1014(19)
Authentication
1015(1)
Access Control Methods
1015(2)
Cryptography
1017(16)
Case Study: Windows XP
1033(105)
Introduction
1036(1)
History
1036(5)
Biographical Note: Bill Gates
1037(2)
Biographical Note: David Cutler
1039(1)
Mini Case Study: OSIZ
1040(1)
Design Goals
1041(1)
System Architecture
1042(2)
System Management Mechanisms
1044(7)
Registry
1044(1)
Object Manager
1045(1)
Interrupt Request Levels (IRQLs)
1046(2)
Asynchronous Procedure Calls (APCs)
1048(1)
Deferred Procedure Calls (DPCs)
1049(2)
System Threads
1051(1)
Process and Thread Management
1051(13)
Process and Thread Organization
1052(3)
Thread Scheduling
1055(4)
Thread Synchronization
1059(5)
Memory Management
1064(9)
Memory Organization
1065(2)
Memory Allocation
1067(4)
Page Replacement
1071(2)
File Systems Management
1073(7)
File System Drivers
1074(1)
NTFS
1074(6)
Input/Output Management
1080(11)
Device Drivers
1081(3)
Input/Output Processing
1084(5)
Interrupt Handling
1089(1)
File Cache Management
1090(1)
Interprocess Communication
1091(8)
Pipes
1091(2)
Mailslots
1093(1)
Shared Memory
1094(1)
Local and Remote Procedure Calls
1094(3)
Component Object Model (COM)
1097(1)
Drag-and-Drop and Compound Documents
1098(1)
Networking
1099(7)
Network Input/Output
1099(2)
Network Driver Architecture
1101(2)
Network Protocols
1103(2)
Network Services
1105(1)
.NET
1105(1)
Scalability
1106(2)
Symmetric Multiprocessing (SMP)
1106(2)
Windows XP Embedded
1108(1)
Security
1108(30)
Authentication
1109(1)
Authrization
1110(1)
Internet Connection Firewall
1111(1)
Other Features
1112(26)
Glossary 1138(50)
Index 1188

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program