An edition of Modern Operating Systems (1992)

Modern Operating Systems

Forth Edition

  • 3.5 (8 ratings)
  • 115 Want to read
  • 9 Currently reading
  • 9 Have read

My Reading Lists:

Create a new list

  • 3.5 (8 ratings)
  • 115 Want to read
  • 9 Currently reading
  • 9 Have read

Buy this book

Last edited by Drini
September 13, 2025 | History
An edition of Modern Operating Systems (1992)

Modern Operating Systems

Forth Edition

  • 3.5 (8 ratings)
  • 115 Want to read
  • 9 Currently reading
  • 9 Have read

Modern Operating Systems, Fourth Edition, is intended for introductory courses in Operating Systems in Computer Science, Computer Engineering, and Electrical Engineering programs. It also serves as a useful reference for OS professionals

The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems (OS) technologies. The Fourth Edition includes up-to-date materials on relevant¿OS. Tanenbaum also provides information on current research based on his experience as an operating systems researcher.

Modern Operating Systems, Third Editionwas the recipient of the 2010 McGuffey Longevity Award. The McGuffey Longevity Award recognizes textbooks whose excellence has been demonstrated over time.http://taaonline.net/index.html

Teaching and Learning Experience

This program will provide a better teaching and learning experience–for you and your students. It will help:

  • Provide Practical Detail on the Big Picture Concepts: A clear and entertaining writing style outlines the concepts every OS designer needs to master.
  • Keep Your Course Current: This edition includes information on the latest OS technologies and developments
  • Enhance Learning with Student and Instructor Resources: Students will gain hands-on experience using the simulation exercises and lab experiments.
Publish Date
Publisher
Pearson
Language
English
Pages
1136

Buy this book

Previews available in: English Spanish

Edition Availability
Cover of: Modern Operating Systems
Modern Operating Systems: Forth Edition
2015, Pearson
in English
Cover of: Modern Operating Systems
Modern Operating Systems: Pearson New International Edition
2013, Pearson Education, Limited
in English
Cover of: Sistemas Operativos Modernos
Sistemas Operativos Modernos
2009, Pearson Educacion
E-book in Spanish
Cover of: Modern Operating Systems
Modern Operating Systems: Third Edition
2009, Pearson Education, Inc.
Cover of: Modern Operating Systems
Modern Operating Systems
2001, Prentice Hall
in English
Cover of: Modern Operating Systems
Modern Operating Systems: Second Edition
2001, Prentice Hall
in English - 2nd ed.
Cover of: Modern operating systems
Modern operating systems
1992, Prentice Hall
in English

Add another edition?

Book Details


Table of Contents

Preface
Page xxiii
Chapter 1. Introduction
Page 1
1.1. What Is an Operating System?
Page 3
1.1.1. The Operating System as an Extended Machine
Page 4
1.1.2. The Operating System as a Resource Manager
Page 5
1.2. History of Operating Systems
Page 6
1.2.1. The First Generation (1945–55): Vacuum Tubes
Page 7
1.2.2. The Second Generation (1955–65): Transistors and Batch Systems
Page 8
1.2.3. The Third Generation (1965–1980): ICs and Multiprogramming
Page 9
1.2.4. The Fourth Generation (1980–Present): Personal Computers
Page 14
1.2.5. The Fifth Generation (1990–Present): Mobile Computers
Page 19
1.3. Computer Hardware Review
Page 20
1.3.1. Processors
Page 21
1.3.2. Memory
Page 24
1.3.3. Disks
Page 27
1.3.4. I/O Devices
Page 28
1.3.5. Buses
Page 31
1.3.6. Booting the Computer
Page 34
1.4. The Operating System Zoo
Page 35
1.4.1. Mainframe Operating Systems
Page 35
1.4.2. Server Operating Systems
Page 35
1.4.3. Multiprocessor Operating Systems
Page 36
1.4.4. Personal Computer Operating Systems
Page 36
1.4.5. Handheld Computer Operating Systems
Page 36
1.4.6. Embedded Operating Systems
Page 36
1.4.7. Sensor-Node Operating Systems
Page 37
1.4.8. Real-Time Operating Systems
Page 37
1.4.9. Smart Card Operating Systems
Page 38
1.5. Operating System Concepts
Page 38
1.5.1. Processes
Page 39
1.5.2. Address Spaces
Page 41
1.5.3. Files
Page 41
1.5.4. Input/Output
Page 45
1.5.5. Protection
Page 45
1.5.6. The Shell
Page 45
1.5.7. Ontogeny Recapitulates Phylogeny
Page 46
1.6. System Calls
Page 50
1.6.1. System Calls for Process Management
Page 53
1.6.2. System Calls for File Management
Page 56
1.6.3. System Calls for Directory Management
Page 57
1.6.4. Miscellaneous System Calls
Page 59
1.6.5. The Windows Win32 API
Page 60
1.7. Operating System Structure
Page 62
1.7.1. Monolithic Systems
Page 62
1.7.2. Layered Systems
Page 63
1.7.3. Microkernels
Page 65
1.7.4. Client-Server Model
Page 68
1.7.5. Virtual Machines
Page 68
1.7.6. Exokernels
Page 72
1.8. The World According to C
Page 73
1.8.1. The C Language
Page 73
1.8.2. Header Files
Page 74
1.8.3. Large Programming Projects
Page 75
1.8.4. The Model of Run Time
Page 76
1.9. Research on Operating Systems
Page 77
1.10. Outline of the Rest of This Book
Page 78
1.11. Metric Units
Page 79
1.12. Summary
Page 80
Chapter 2. Processes and Threads
Page 85
2.1. Processes
Page 85
2.1.1. The Process Model
Page 86
2.1.2. Process Creation
Page 88
2.1.3. Process Termination
Page 90
2.1.4. Process Hierarchies
Page 91
2.1.5. Process States
Page 92
2.1.6. Implementation of Processes
Page 94
2.1.7. Modeling Multiprogramming
Page 95
2.2. Threads
Page 97
2.2.1. Thread Usage
Page 97
2.2.2. The Classical Thread Model
Page 102
2.2.3. POSIX Threads
Page 106
2.2.4. Implementing Threads in User Space
Page 108
2.2.5. Implementing Threads in the Kernel
Page 111
2.2.6. Hybrid Implementations
Page 112
2.2.7. Scheduler Activations
Page 113
2.2.8. Pop-Up Threads
Page 114
2.2.9. Making Single-Threaded Code Multithreaded
Page 115
2.3. Interprocess Communication
Page 119
2.3.1. Race Conditions
Page 119
2.3.2. Critical Regions
Page 121
2.3.3. Mutual Exclusion with Busy Waiting
Page 121
2.3.4. Sleep and Wakeup
Page 127
2.3.5. Semaphores
Page 130
2.3.6. Mutexes
Page 132
2.3.7. Monitors
Page 137
2.3.8. Message Passing
Page 144
2.3.9. Barriers
Page 146
2.3.10. Avoiding Locks: Read-Copy-Update
Page 148
2.4. Scheduling
Page 148
2.4.1. Introduction to Scheduling
Page 149
2.4.2. Scheduling in Batch Systems
Page 156
2.4.3. Scheduling in Interactive Systems
Page 158
2.4.4. Scheduling in Real-Time Systems
Page 164
2.4.5. Policy Versus Mechanism
Page 165
2.4.6. Thread Scheduling
Page 165
2.5. Classical IPC Problems
Page 167
2.5.1. The Dining Philosophers Problem
Page 167
2.5.2. The Readers and Writers Problem
Page 169
2.6. Research on Processes and Threads
Page 172
2.7. Summary
Page 173
Chapter 3. Memory Management
Page 181
3.1. No Memory Abstraction
Page 182
3.2. A Memory Abstraction: Address Spaces
Page 185
3.2.1. The Notion of an Address Space
Page 185
3.2.2. Swapping
Page 187
3.2.3. Managing Free Memory
Page 190
3.3. Virtual Memory
Page 194
3.3.1. Paging
Page 195
3.3.2. Page Tables
Page 198
3.3.3. Speeding Up Paging
Page 201
3.3.4. Page Tables for Large Memories
Page 205
3.4. Page Replacement Algorithms
Page 209
3.4.1. The Optimal Page Replacement Algorithm
Page 209
3.4.2. The Not Recently Used Page Replacement Algorithm
Page 210
3.4.3. The First-In, First-Out (FIFO) Page Replacement Algorithm
Page 211
3.4.4. The Second-Chance Page Replacement Algorithm
Page 211
3.4.5. The Clock Page Replacement Algorithm
Page 212
3.4.6. The Least Recently Used (LRU) Page Replacement Algorithm
Page 213
3.4.7. Simulating LRU in Software
Page 214
3.4.8. The Working Set Page Replacement Algorithm
Page 215
3.4.9. The WSClock Page Replacement Algorithm
Page 219
3.4.10. Summary of Page Replacement Algorithms
Page 221
3.5. Design Issues for Paging Systems
Page 222
3.5.1. Local Versus Global Allocation Policies
Page 222
3.5.2. Load Control
Page 225
3.5.3. Page Size
Page 225
3.5.4. Separate Instruction and Data Spaces
Page 227
3.5.5. Shared Pages
Page 228
3.5.6. Shared Libraries
Page 229
3.5.7. Mapped Files
Page 231
3.5.8. Cleaning Policy
Page 232
3.5.9. Virtual Memory Interface
Page 232
3.6. Implementation Issues
Page 233
3.6.1. Operating System Involvement with Paging
Page 233
3.6.2. Page Fault Handling
Page 234
3.6.3. Instruction Backup
Page 235
3.6.4. Locking Pages in Memory
Page 236
3.6.5. Backing Store
Page 237
3.6.6. Separation of Policy and Mechanism
Page 239
3.7. Segmentation
Page 240
3.7.1. Implementation of Pure Segmentation
Page 243
3.7.2. Segmentation with Paging: MULTICS
Page 243
3.7.3. Segmentation with Paging: The Intel x86
Page 247
3.8. Research on Memory Management
Page 252
3.9. Summary
Page 253
Chapter 4. File Systems
Page 263
4.1. Files
Page 265
4.1.1. File Naming
Page 265
4.1.2. File Structure
Page 267
4.1.3. File Types
Page 268
4.1.4. File Access
Page 269
4.1.5. File Attributes
Page 271
4.1.6. File Operations
Page 271
4.1.7. An Example Program Using File-System Calls
Page 273
4.2. Directories
Page 276
4.2.1. Single-Level Directory Systems
Page 276
4.2.2. Hierarchical Directory Systems
Page 276
4.2.3. Path Names
Page 277
4.2.4. Directory Operations
Page 280
4.3. File-System Implementation
Page 281
4.3.1. File-System Layout
Page 281
4.3.2. Implementing Files
Page 282
4.3.3. Implementing Directories
Page 287
4.3.4. Shared Files
Page 290
4.3.5. Log-Structured File Systems
Page 293
4.3.6. Journaling File Systems
Page 294
4.3.7. Virtual File Systems
Page 296
4.4. File-System Management and Optimization
Page 299
4.4.1. Disk-Space Management
Page 299
4.4.2. File-System Backups
Page 306
4.4.3. File-System Consistency
Page 312
4.4.4. File-System Performance
Page 314
4.4.5. Defragmenting Disks
Page 319
4.5. Example File Systems
Page 320
4.5.1. The MS-DOS File System
Page 320
4.5.2. The UNIX V7 File System
Page 323
4.5.3. CD-ROM File Systems
Page 325
4.6. Research on File Systems
Page 331
4.7. Summary
Page 332
Chapter 5. Input/Output
Page 337
5.1. Principles of I/O Hardware
Page 337
5.1.1. I/O Devices
Page 338
5.1.2. Device Controllers
Page 339
5.1.3. Memory-Mapped I/O
Page 340
5.1.4. Direct Memory Access
Page 344
5.1.5. Interrupts Revisited
Page 347
5.2. Principles of I/O Software
Page 351
5.2.1. Goals of the I/O Software
Page 351
5.2.2. Programmed I/O
Page 352
5.2.3. Interrupt-Driven I/O
Page 354
5.2.4. I/O Using DMA
Page 355
5.3. I/O Software Layers
Page 356
5.3.1. Interrupt Handlers
Page 356
5.3.2. Device Drivers
Page 357
5.3.3. Device-Independent I/O Software
Page 361
5.3.4. User-Space I/O Software
Page 367
5.4. Disks
Page 369
5.4.1. Disk Hardware
Page 369
5.4.2. Disk Formatting
Page 375
5.4.3. Disk Arm Scheduling Algorithms
Page 379
5.4.4. Error Handling
Page 382
5.4.5. Stable Storage
Page 385
5.5. Clocks
Page 388
5.5.1. Clock Hardware
Page 388
5.5.2. Clock Software
Page 389
5.5.3. Soft Timers
Page 392
5.6. User Interfaces: Keyboard, Mouse, Monitor
Page 394
5.6.1. Input Software
Page 394
5.6.2. Output Software
Page 399
5.7. Thin Clients
Page 416
5.8. Power Management
Page 417
5.8.1. Hardware Issues
Page 418
5.8.2. Operating System Issues
Page 419
5.8.3. Application Program Issues
Page 425
5.9. Research on Input/Output
Page 426
5.10. Summary
Page 428
Chapter 6. Deadlocks
Page 435
6.1. Resources
Page 436
6.1.1. Preemptable and Nonpreemptable Resources
Page 436
6.1.2. Resource Acquisition
Page 437
6.2. Introduction to Deadlocks
Page 438
6.2.1. Conditions for Resource Deadlocks
Page 439
6.2.2. Deadlock Modeling
Page 440
6.3. The Ostrich Algorithm
Page 443
6.4. Deadlock Detection and Recovery
Page 443
6.4.1. Deadlock Detection with One Resource of Each Type
Page 444
6.4.2. Deadlock Detection with Multiple Resources of Each Type
Page 446
6.4.3. Recovery from Deadlock
Page 448
6.5. Deadlock Avoidance
Page 450
6.5.1. Resource Trajectories
Page 450
6.5.2. Safe and Unsafe States
Page 452
6.5.3. The Banker's Algorithm for a Single Resource
Page 453
6.5.4. The Banker's Algorithm for Multiple Resources
Page 454
6.6. Deadlock Prevention
Page 456
6.6.1. Attacking the Mutual-Exclusion Condition
Page 456
6.6.2. Attacking the Hold-and-Wait Condition
Page 456
6.6.3. Attacking the No-Preemption Condition
Page 457
6.6.4. Attacking the Circular Wait Condition
Page 457
6.7. Other Issues
Page 458
6.7.1. Two-Phase Locking
Page 458
6.7.2. Communication Deadlocks
Page 459
6.7.3. Livelock
Page 461
6.7.4. Starvation
Page 463
6.8. Research on Deadlocks
Page 464
6.9. Summary
Page 464
Chapter 7. Virtualization and the Cloud
Page 471
7.1. History
Page 473
7.2. Requirements for Virtualization
Page 474
7.3. Type 1 and Type 2 Hypervisors
Page 477
7.4. Techniques for Efficient Virtualization
Page 478
7.4.1. Virtualizing the Unvirtualizable
Page 479
7.4.2. The Cost of Virtualization
Page 482
7.5. Are Hypervisors Microkernels Done Right?
Page 483
7.6. Memory Virtualization
Page 486
7.7. I/O Virtualization
Page 490
7.8. Virtual Appliances
Page 493
7.9. Virtual Machines on Multicore CPUs
Page 494
7.10. Licensing Issues
Page 494
7.11. Clouds
Page 495
7.11.1. Clouds as a Service
Page 496
7.11.2. Virtual Machine Migration
Page 496
7.11.3. Checkpointing
Page 497
7.12. Case Study: VMware
Page 498
7.12.1. The Early History of VMware
Page 498
7.12.2. VMware Workstation
Page 499
7.12.3. Challenges in Bringing Virtualization to the x86
Page 500
7.12.4. VMware Workstation: Solution Overview
Page 502
7.12.5. The Evolution of VMware Workstation
Page 511
7.12.6. ESX Server: VMware's Type 1 Hypervisor
Page 512
7.13. Research on Virtualization and the Cloud
Page 514
Chapter 8. Multiple Processor Systems
Page 517
8.1. Multiprocessors
Page 520
8.1.1. Multiprocessor Hardware
Page 520
8.1.2. Multiprocessor Operating System Types
Page 530
8.1.3. Multiprocessor Synchronization
Page 534
8.1.4. Multiprocessor Scheduling
Page 539
8.2. Multicomputers
Page 544
8.2.1. Multicomputer Hardware
Page 545
8.2.2. Low-Level Communication Software
Page 550
8.2.3. User-Level Communication Software
Page 552
8.2.4. Remote Procedure Call
Page 556
8.2.5. Distributed Shared Memory
Page 558
8.2.6. Multicomputer Scheduling
Page 563
8.2.7. Load Balancing
Page 563
8.3. Distributed Systems
Page 566
8.3.1. Network Hardware
Page 568
8.3.2. Network Services and Protocols
Page 571
8.3.3. Document-Based Middleware
Page 576
8.3.4. File-System-Based Middleware
Page 577
8.3.5. Object-Based Middleware
Page 582
8.3.6. Coordination-Based Middleware
Page 584
8.4. Research on Multiple-Processor Systems
Page 587
8.5. Summary
Page 588
Chapter 9. Security
Page 593
9.1. The Security Environment
Page 595
9.1.1. Threats
Page 596
9.1.2. Attackers
Page 598
9.2. Operating Systems Security
Page 599
9.2.1. Can We Build Secure Systems?
Page 600
9.2.2. Trusted Computing Base
Page 601
9.3. Controlling Access to Resources
Page 602
9.3.1. Protection Domains
Page 602
9.3.2. Access Control Lists
Page 605
9.3.3. Capabilities
Page 608
9.4. Formal Models of Secure Systems
Page 611
9.4.1. Multilevel Security
Page 612
9.4.2. Covert Channels
Page 615
9.5. Basics of Cryptography
Page 619
9.5.1. Secret-Key Cryptography
Page 620
9.5.2. Public-Key Cryptography
Page 621
9.5.3. One-Way Functions
Page 622
9.5.4. Digital Signatures
Page 622
9.5.5. Trusted Platform Modules
Page 624
9.6. Authentication
Page 626
9.6.1. Authentication Using a Physical Object
Page 633
9.6.2. Authentication Using Biometrics
Page 636
9.7. Exploiting Software
Page 639
9.7.1. Buffer Overflow Attacks
Page 640
9.7.2. Format String Attacks
Page 649
9.7.3. Dangling Pointers
Page 652
9.7.4. Null Pointer Dereference Attacks
Page 653
9.7.5. Integer Overflow Attacks
Page 654
9.7.6. Command Injection Attacks
Page 655
9.7.7. Time of Check to Time of Use Attacks
Page 656
9.8. Insider Attacks
Page 657
9.8.1. Logic Bombs
Page 657
9.8.2. Back Doors
Page 658
9.8.3. Login Spoofing
Page 659
9.9. Malware
Page 660
9.9.1. Trojan Horses
Page 662
9.9.2. Viruses
Page 664
9.9.3. Worms
Page 674
9.9.4. Spyware
Page 676
9.9.5. Rootkits
Page 680
9.10. Defenses
Page 684
9.10.1. Firewalls
Page 685
9.10.2. Antivirus and Anti-Antivirus Techniques
Page 687
9.10.3. Code Signing
Page 693
9.10.4. Jailing
Page 694
9.10.5. Model-Based Intrusion Detection
Page 695
9.10.6. Encapsulating Mobile Code
Page 697
9.10.7. Java Security
Page 701
9.11. Research on Security
Page 703
9.12. Summary
Page 704
Chapter 10. Case Study 1: UNIX, Linux, and Android
Page 713
10.1. History of UNIX and Linux
Page 714
10.1.1. UNICS
Page 714
10.1.2. PDP-11 UNIX
Page 715
10.1.3. Portable UNIX
Page 716
10.1.4. Berkeley UNIX
Page 717
10.1.5. Standard UNIX
Page 718
10.1.6. MINIX
Page 719
10.1.7. Linux
Page 720
10.2. Overview of Linux
Page 723
10.2.1. Linux Goals
Page 723
10.2.2. Interfaces to Linux
Page 724
10.2.3. The Shell
Page 725
10.2.4. Linux Utility Programs
Page 728
10.2.5. Kernel Structure
Page 730
10.3. Processes in Linux
Page 733
10.3.1. Fundamental Concepts
Page 733
10.3.2. Process-Management System Calls in Linux
Page 735
10.3.3. Implementation of Processes and Threads in Linux
Page 739
10.3.4. Scheduling in Linux
Page 746
10.3.5. Booting Linux
Page 751
10.4. Memory Management in Linux
Page 753
10.4.1. Fundamental Concepts
Page 753
10.4.2. Memory-Management System Calls in Linux
Page 756
10.4.3. Implementation of Memory Management in Linux
Page 758
10.4.4. Paging in Linux
Page 764
10.5. Input/Output in Linux
Page 767
10.5.1. Fundamental Concepts
Page 767
10.5.2. Networking
Page 769
10.5.3. Input/Output System Calls in Linux
Page 770
10.5.4. Implementation of Input/Output in Linux
Page 771
10.5.5. Modules in Linux
Page 774
10.6. The Linux File System
Page 775
10.6.1. Fundamental Concepts
Page 775
10.6.2. File-System Calls in Linux
Page 780
10.6.3. Implementation of the Linux File System
Page 783
10.6.4. NFS: The Network File System
Page 792
10.7. Security in Linux
Page 798
10.7.1. Fundamental Concepts
Page 798
10.7.2. Security System Calls in Linux
Page 800
10.7.3. Implementation of Security in Linux
Page 801
10.8. Android
Page 802
10.8.1. Android and Google
Page 803
10.8.2. History of Android
Page 803
10.8.3. Design Goals
Page 807
10.8.4. Android Architecture
Page 809
10.8.5. Linux Extensions
Page 810
10.8.6. Dalvik
Page 814
10.8.7. Binder IPC
Page 815
10.8.8. Android Applications
Page 824
10.8.9. Intents
Page 836
10.8.10. Application Sandboxes
Page 837
10.8.11. Security
Page 838
10.8.12. Process Model
Page 844
10.9. Summary
Page 848
Chapter 11. Case Study 2: Windows 8
Page 857
11.1. History of Windows through Windows 8.1
Page 857
11.1.1. 1980s: MS-DOS
Page 857
11.1.2. 1990s: MS-DOS–Based Windows
Page 859
11.1.3. 2000s: NT-Based Windows
Page 859
11.1.4. Windows Vista
Page 862
11.1.5. 2010s: Modern Windows
Page 863
11.2. Programming Windows
Page 864
11.2.1. The Native NT Application Programming Interface
Page 867
11.2.2. The Win32 Application Programming Interface
Page 871
11.2.3. The Windows Registry
Page 875
11.3. System Structure
Page 877
11.3.1. Operating System Structure
Page 877
11.3.2. Booting Windows
Page 893
11.3.3. Implementation of the Object Manager
Page 894
11.3.4. Subsystems, DLLs, and User-Mode Services
Page 905
11.4. Processes and Threads in Windows
Page 908
11.4.1. Fundamental Concepts
Page 908
11.4.2. Job, Process, Thread, and Fiber Management API Calls
Page 914
11.4.3. Implementation of Processes and Threads
Page 919
11.5. Memory Management
Page 927
11.5.1. Fundamental Concepts
Page 927
11.5.2. Memory-Management System Calls
Page 931
11.5.3. Implementation of Memory Management
Page 932
11.6. Caching in Windows
Page 942
11.7. Input/Output in Windows
Page 943
11.7.1. Fundamental Concepts
Page 944
11.7.2. Input/Output API Calls
Page 945
11.7.3. Implementation of I/O
Page 948
11.8. The Windows NT File System
Page 952
11.8.1. Fundamental Concepts
Page 953
11.8.2. Implementation of the NT File System
Page 954
11.9. Windows Power Management
Page 964
11.10. Security in Windows 8
Page 966
11.10.1. Fundamental Concepts
Page 967
11.10.2. Security API Calls
Page 969
11.10.3. Implementation of Security
Page 970
11.10.4. Security Mitigations
Page 972
11.11. Summary
Page 975
Chapter 12. Operating System Design
Page 981
12.1. The Nature of the Design Problem
Page 982
12.1.1. Goals
Page 982
12.1.2. Why Is It Hard to Design an Operating System?
Page 983
12.2. Interface Design
Page 985
12.2.1. Guiding Principles
Page 985
12.2.2. Paradigms
Page 987
12.2.3. The System-Call Interface
Page 991
12.3. Implementation
Page 993
12.3.1. System Structure
Page 993
12.3.2. Mechanism vs. Policy
Page 997
12.3.3. Orthogonality
Page 998
12.3.4. Naming
Page 999
12.3.5. Binding Time
Page 1001
12.3.6. Static vs. Dynamic Structures
Page 1001
12.3.7. Top-Down vs. Bottom-Up Implementation
Page 1003
12.3.8. Synchronous vs. Asynchronous Communication
Page 1004
12.3.9. Useful Techniques
Page 1005
12.4. Performance
Page 1010
12.4.1. Why Are Operating Systems Slow?
Page 1010
12.4.2. What Should Be Optimized?
Page 1011
12.4.3. Space-Time Trade-Offs
Page 1012
12.4.4. Caching
Page 1015
12.4.5. Hints
Page 1016
12.4.6. Exploiting Locality
Page 1016
12.4.7. Optimize the Common Case
Page 1017
12.5. Project Management
Page 1018
12.5.1. The Mythical Man Month
Page 1018
12.5.2. Team Structure
Page 1019
12.5.3. The Role of Experience
Page 1021
12.5.4. No Silver Bullet
Page 1021
12.6. Trends in Operating System Design
Page 1022
12.6.1. Virtualization and the Cloud
Page 1023
12.6.2. Manycore Chips
Page 1023
12.6.3. Large-Address-Space Operating Systems
Page 1024
12.6.4. Seamless Data Access
Page 1025
12.6.5. Battery-Powered Computers
Page 1025
12.6.6. Embedded Systems
Page 1026
12.7. Summary
Page 1027
Chapter 13. Reading List and Bibliography
Page 1031
13.1. Suggestions for Further Reading
Page 1031
13.1.1. Introduction
Page 1031
13.1.2. Processes and Threads
Page 1032
13.1.3. Memory Management
Page 1033
13.1.4. File Systems
Page 1033
13.1.5. Input/Output
Page 1034
13.1.6. Deadlocks
Page 1035
13.1.7. Virtualization and the Cloud
Page 1035
13.1.8. Multiple-Processor Systems
Page 1036
13.1.9. Security
Page 1037
13.1.10. Case Study 1: UNIX, Linux, and Android
Page 1039
13.1.11. Case Study 2: Windows 8
Page 1040
13.1.12. Operating System Design
Page 1040
13.2. Alphabetical Bibliography
Page 1041
Index
Page 1071

Classifications

Library of Congress
QA76.77 .T359 2015, QA76.76.O63T359 2014

Edition Identifiers

Open Library
OL25620855M
ISBN 10
013359162X
ISBN 13
9780133591620
LCCN
2013444331
Wikidata
Q113564622

Work Identifiers

Work ID
OL1970688W

Community Reviews (0)

No community reviews have been submitted for this work.

Lists

History

Download catalog record: RDF / JSON / OPDS | Wikipedia citation
September 13, 2025 Edited by Drini Edited without comment.
September 13, 2025 Edited by Drini Add TOC from Tocky
December 19, 2023 Edited by ImportBot import existing book
December 5, 2022 Edited by ImportBot import existing book
September 15, 2014 Created by Marco Galdos Added new book.