+353-1-416-8900REST OF WORLD
+44-20-3973-8888REST OF WORLD
1-917-300-0470EAST COAST U.S
1-800-526-8630U.S. (TOLL FREE)

Silberschatz's Operating System Concepts. Edition No. 10

  • Book

  • 896 Pages
  • July 2019
  • John Wiley and Sons Ltd
  • ID: 5646429

Instruction on operating system functionality with examples incorporated for improved learning

With the updating of Silberschatz's Operating System Concepts, 10th Edition, students have access to a text that presents both important concepts and real-world applications. Key concepts are reinforced in this global edition through instruction, chapter practice exercises, homework exercises, and suggested readings. Students also receive an understanding how to apply the content. The book provides example programs written in C and Java for use in programming environments.

Table of Contents

Part One Overview

Chapter 1 Introduction

1.1 What Operating Systems Do 4

1.2 Computer-System Organization 7

1.3 Computer-System Architecture 15

1.4 Operating-System Operations 21

1.5 Resource Management 27

1.6 Security and Protection 33

1.7 Virtualization 34

1.8 Distributed Systems 35

1.9 Kernel Data Structures 36

1.10 Computing Environments 40

1.11 Free and Open-Source Operating Systems 46

1.12 Summary 51

Exercises 53

Further Reading 57

Chapter 2 Operating-System Structures

2.1 Operating-System Services 59

2.2 User and Operating-System Interface 62

2.3 System Calls 66

2.4 System Services 78

2.5 Linkers and Loaders 79

2.6 Why Applications Are Operating-System Specific 81

2.7 Operating-System Design and Implementation 83

2.8 Operating-System Structure 85

2.9 Building and Booting an Operating System 95

2.10 Operating-System Debugging 99

2.11 Summary 104

Exercises 105

Further Reading 107

Part Two Process Management

Chapter 3 Processes

3.1 Process Concept 112

3.2 Process Scheduling 116

3.3 Operations on Processes 122

3.4 Interprocess Communication 129

3.5 IPC in Shared-Memory Systems 131

3.6 IPC in Message-Passing Systems 133

3.7 Examples of IPC Systems 138

3.8 Communication in Client-Server Systems 151

3.9 Summary 159

Exercises 161

Further Reading 166

Chapter 4 Threads & Concurrency

4.1 Overview 168

4.2 Multicore Programming 170

4.3 Multithreading Models 174

4.4 Thread Libraries 176

4.5 Implicit Threading 184

4.6 Threading Issues 196

4.7 Operating-System Examples 202

4.8 Summary 204

Exercises 205

Further Reading 208

Chapter 5 CPU Scheduling

5.1 Basic Concepts 212

5.2 Scheduling Criteria 216

5.3 Scheduling Algorithms 217

5.4 Thread Scheduling 229

5.5 Multi-Processor Scheduling 232

5.6 Real-Time CPU Scheduling 239

5.7 Operating-System Examples 246

5.8 Algorithm Evaluation 256

5.9 Summary 262

Exercises 263

Further Reading 270

Part Three Process Synchronization

Chapter 6 Synchronization Tools

6.1 Background 273

6.2 The Critical-Section Problem 276

6.3 Peterson’s Solution 278

6.4 Hardware Support for Synchronization 281

6.5 Mutex Locks 286

6.6 Semaphores 288

6.7 Monitors 292

6.8 Liveness 299

6.9 Evaluation 300

6.10 Summary 302

Exercises 303

Further Reading 309

Chapter 7 Synchronization Examples

7.1 Classic Problems of Synchronization 311

7.2 Synchronization within the Kernel 317

7.3 POSIX Synchronization 321

7.4 Synchronization in Java 325

7.5 Alternative Approaches 333

7.6 Summary 336

Exercises 336

Further Reading 338

Chapter 8 Deadlocks

8.1 System Model 342

8.2 Deadlock in Multithreaded Applications 343

8.3 Deadlock Characterization 345

8.4 Methods for Handling Deadlocks 350

8.5 Deadlock Prevention 351

8.6 Deadlock Avoidance 354

8.7 Deadlock Detection 361

8.8 Recovery from Deadlock 365

8.9 Summary 367

Exercises 368

Further Reading 374

Part Four Memory Management

Chapter 9 Main Memory

9.1 Background 379

9.2 Contiguous Memory Allocation 386

9.3 Paging 390

9.4 Structure of the Page Table 401

9.5 Swapping 406

9.6 Example: Intel 32- and 64-bit Architectures 409

9.7 Example: ARMv8 Architecture 413

9.8 Summary 414

Exercises 415

Further Reading 420

Chapter 10 Virtual Memory

10.1 Background 421

10.2 Demand Paging 424

10.3 Copy-on-Write 431

10.4 Page Replacement 433

10.5 Allocation of Frames 445

10.6 Thrashing 451

10.7 Memory Compression 457

10.8 Allocating Kernel Memory 458

10.9 Other Considerations 462

10.10 Operating-System Examples 468

10.11 Summary 472

Exercises 473

Further Reading 482

Part Five Storage Management

Chapter 11 Mass-Storage Structure

11.1 Overview of Mass-Storage Structure 485

11.2 HDD Scheduling 493

11.3 NVM Scheduling 497

11.4 Error Detection and Correction 498

11.5 Storage Device Management 499

11.6 Swap-Space Management 503

11.7 Storage Attachment 505

11.8 RAID Structure 509

11.9 Summary 521

Exercises 522

Further Reading 527

Chapter 12 I/O Systems

12.1 Overview 529

12.2 I/O Hardware 530

12.3 Application I/O Interface 540

12.4 Kernel I/O Subsystem 548

12.5 Transforming I/O Requests to Hardware Operations 556

12.6 STREAMS 559

12.7 Performance 561

12.8 Summary 564

Exercises 565

Further Reading 567

Part Six File System

Chapter 13 File-System Interface

13.1 File Concept 571

13.2 Access Methods 581

13.3 Directory Structure 583

13.4 Protection 592

13.5 Memory-Mapped Files 597

13.6 Summary 602

Exercises 602

Further Reading 606

Chapter 14 File-System Implementation

14.1 File-System Structure 608

14.2 File-System Operations 610

14.3 Directory Implementation 612

14.4 Allocation Methods 614

14.5 Free-Space Management 622

14.6 Efficiency and Performance 626

14.7 Recovery 630

14.8 Example: The WAFL File System 633

14.9 Summary 637

Exercises 638

Further Reading 640

Chapter 15 File-System Internals

15.1 File Systems 643

15.2 File-System Mounting 644

15.3 Partitions and Mounting 647

15.4 File Sharing 648

15.5 Virtual File Systems 649

15.6 Remote File Systems 651

15.7 Consistency Semantics 654

15.8 NFS 656

15.9 Summary 661

Exercises 662

Further Reading 664

Part Seven Security and Protection

Chapter 16 Security

16.1 The Security Problem 669

16.2 Program Threats 673

16.3 System and Network Threats 682

16.4 Cryptography as a Security Tool 685

16.5 User Authentication 696

16.6 Implementing Security Defenses 701

16.7 An Example: Windows 10 710

16.8 Summary 712

Exercises 713

Further Reading 714

Chapter 17 Protection

17.1 Goals of Protection 717

17.2 Principles of Protection 718

17.3 Protection Rings 719

17.4 Domain of Protection 721

17.5 Access Matrix 725

17.6 Implementation of the Access Matrix 729

17.7 Revocation of Access Rights 732

17.8 Role-Based Access Control 733

17.9 Mandatory Access Control (MAC) 734

17.10 Capability-Based Systems 735

17.11 Other Protection Improvement Methods 737

17.12 Language-Based Protection 740

17.13 Summary 746

Exercises 747

Further Reading 749

Part Eight Advanced Topics

Chapter 18 Virtual Machines

18.1 Overview 753

18.2 History 755

18.3 Benefits and Features 756

18.4 Building Blocks 759

18.5 Types of VMs and Their Implementations 765

18.6 Virtualization and Operating-System Components 771

18.7 Examples 778

18.8 Virtualization Research 780

18.9 Summary 781

Exercises 782

Further Reading 783

Chapter 19 Networks and Distributed Systems

19.1 Advantages of Distributed Systems 785

19.2 Network Structure 787

19.3 Communication Structure 790

19.4 Network and Distributed Operating Systems 801

19.5 Design Issues in Distributed Systems 805

19.6 Distributed File Systems 809

19.7 DFS Naming and Transparency 813

19.8 Remote File Access 816

19.9 Final Thoughts on Distributed File Systems 819

19.10 Summary 820

Exercises 821

Further Reading 825

Credits 827

Index 829 

Authors

Abraham Silberschatz Yale University. Peter B. Galvin Corporate Technologies. Greg Gagne Westminster College.