Skip to main content

Operating System Concepts 10e Abridged Print Companion

Paperback

$96.95

Operating System Concepts 10e Abridged Print Companion

Abraham Silberschatz, Peter B. Galvin, Greg Gagne

ISBN: 978-1-119-43925-7 January 2018 976 Pages

Download Product Flyer

Download Product Flyer

Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description.

Description

The tenth edition of Operating System Concepts has been revised to keep it fresh and up-to-date with contemporary examples of how operating systems function, as well as enhanced interactive elements to improve learning and the student’s experience with the material. It combines instruction on concepts with real-world applications so that students can understand the practical usage of the content. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. New interactive self-assessment problems are provided throughout the text to help students monitor their level of understanding and progress. A Linux virtual machine (including C and Java source code and development tools) allows students to complete programming exercises that help them engage further with the material.

The Print Companion includes all of the content found in a traditional text book, organized the way you would expect it, but without the problems.

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

Practice Exercises 53

Further Reading 54

Chapter 2 Operating-System Structures

2.1 Operating-System Services 55

2.2 User and Operating-System Interface 58

2.3 System Calls 62

2.4 System Services 74

2.5 Linkers and Loaders 75

2.6 Why Applications Are Operating-System Specific 77

2.7 Operating-System Design and Implementation 79

2.8 Operating-System Structure 81

2.9 Building and Booting an Operating System 92

2.10 Operating-System Debugging 95

2.11 Summary 100

Practice Exercises 101

Further Reading 101

PART TWO PROCESS MANAGEMENT

Chapter 3 Processes

3.1 Process Concept 106

3.2 Process Scheduling 110

3.3 Operations on Processes 116

3.4 Interprocess Communication 123

3.5 IPC in Shared-Memory Systems 125

3.6 IPC in Message-Passing Systems 127

3.7 Examples of IPC Systems 132

3.8 Communication in Client–Server Systems 145

3.9 Summary 153

Practice Exercises 154

Further Reading 156

Chapter 4 Threads & Concurrency

4.1 Overview 160

4.2 Multicore Programming 162

4.3 Multithreading Models 166

4.4 Thread Libraries 168

4.5 Implicit Threading 176

4.6 Threading Issues 188

4.7 Operating-System Examples 194

4.8 Summary 196

Practice Exercises 197

Further Reading 198

Chapter 5 CPU Scheduling

5.1 Basic Concepts 200

5.2 Scheduling Criteria 204

5.3 Scheduling Algorithms 205

5.4 Thread Scheduling 217

5.5 Multi-Processor Scheduling 220

5.6 Real-Time CPU Scheduling 227

5.7 Operating-System Examples 234

5.8 Algorithm Evaluation 244

5.9 Summary 250

Practice Exercises 251

Further Reading 254

PART THREE PROCESS SYNCHRONIZATION

Chapter 6 Synchronization Tools

6.1 Background 257

6.2 The Critical-Section Problem 260

6.3 Peterson’s Solution 262

6.4 Hardware Support for Synchronization 265

6.5 Mutex Locks 270

6.6 Semaphores 272

6.7 Monitors 276

6.8 Liveness 283

6.9 Evaluation 284

6.10 Summary 286

Practice Exercises 287

Further Reading 288

Chapter 7 Synchronization Examples

7.1 Classic Problems of Synchronization 289

7.2 Synchronization within the Kernel 295

7.3 POSIX Synchronization 299

7.4 Synchronization in Java 303

7.5 Alternative Approaches 311

7.6 Summary 314

Practice Exercises 314

Further Reading 315

Chapter 8 Deadlocks

8.1 System Model 318

8.2 Deadlock in Multithreaded Applications 319

8.3 Deadlock Characterization 321

8.4 Methods for Handling Deadlocks 326

8.5 Deadlock Prevention 327

8.6 Deadlock Avoidance 330

8.7 Deadlock Detection 337

8.8 Recovery from Deadlock 341

8.9 Summary 343

Practice Exercises 344

Further Reading 346

PART FOUR MEMORY MANAGEMENT

Chapter 9 Main Memory

9.1 Background 349

9.2 Contiguous Memory Allocation 356

9.3 Paging 360

9.4 Structure of the Page Table 371

9.5 Swapping 376

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

9.7 Example: ARMv8 Architecture 383

9.8 Summary 384

Practice Exercises 385

Further Reading 387

Chapter 10 Virtual Memory

10.1 Background 389

10.2 Demand Paging 392

10.3 Copy-on-Write 399

10.4 Page Replacement 401

10.5 Allocation of Frames 413

10.6 Thrashing 419

10.7 Memory Compression 425

10.8 Allocating Kernel Memory 426

10.9 Other Considerations 430

10.10 Operating-System Examples 436

10.11 Summary 440

Practice Exercises 441

Further Reading 444

PART FIVE STORAGE MANAGEMENT

Chapter 11 Mass-Storage Structure

11.1 Overview of Mass-Storage Structure 449

11.2 HDD Scheduling 457

11.3 NVM Scheduling 461

11.4 Error Detection and Correction 462

11.5 Storage Device Management 463

11.6 Swap-Space Management 467

11.7 Storage Attachment 469

11.8 RAID Structure 473

11.9 Summary 485

Practice Exercises 486

Further Reading 487

Chapter 12 I/O Systems

12.1 Overview 489

12.2 I/O Hardware 490

12.3 Application I/O Interface 500

12.4 Kernel I/O Subsystem 508

12.5 Transforming I/O Requests to Hardware Operations 516

12.6 STREAMS 519

12.7 Performance 521

12.8 Summary 524

Practice Exercises 525

Further Reading 526

PART SIX FILE SYSTEM

Chapter 13 File-System Interface

13.1 File Concept 529

13.2 Access Methods 539

13.3 Directory Structure 541

13.4 Protection 550

13.5 Memory-Mapped Files 555

13.6 Summary 560

Practice Exercises 560

Further Reading 561

Chapter 14 File-System Implementation

14.1 File-System Structure 564

14.2 File-System Operations 566

14.3 Directory Implementation 568

14.4 Allocation Methods 570

14.5 Free-Space Management 578

14.6 Efficiency and Performance 582

14.7 Recovery 586

14.8 Example: TheWAFL File System 589

14.9 Summary 593

Practice Exercises 594

Further Reading 594

Chapter 15 File-System Internals

15.1 File Systems 597

15.2 File-System Mounting 598

15.3 Partitions and Mounting 601

15.4 File Sharing 602

15.5 Virtual File Systems 603

15.6 Remote File Systems 605

15.7 Consistency Semantics 608

15.8 NFS 610

15.9 Summary 615

Practice Exercises 616

Further Reading 617

PART SEVEN SECURITY AND PROTECTION

Chapter 16 Security

16.1 The Security Problem 621

16.2 Program Threats 625

16.3 System and Network Threats 634

16.4 Cryptography as a Security Tool 637

16.5 User Authentication 648

16.6 Implementing Security Defenses 653

16.7 An Example:Windows 10 662

16.8 Summary 664

Further Reading 665

Chapter 17 Protection

17.1 Goals of Protection 667

17.2 Principles of Protection 668

17.3 Protection Rings 669

17.4 Domain of Protection 671

17.5 Access Matrix 675

17.6 Implementation of the Access Matrix 679

17.7 Revocation of Access Rights 682

17.8 Role-Based Access Control 683

17.9 Mandatory Access Control (MAC) 684

17.10 Capability-Based Systems 685

17.11 Other Protection Improvement Methods 687

17.12 Language-Based Protection 690

17.13 Summary 696

Further Reading 697

PART EIGHT ADVANCED TOPICS

Chapter 18 Virtual Machines

18.1 Overview 701

18.2 History 703

18.3 Benefits and Features 704

18.4 Building Blocks 707

18.5 Types of VMs and Their Implementations 713

18.6 Virtualization and Operating-System Components 719

18.7 Examples 726

18.8 Virtualization Research 728

18.9 Summary 729

Further Reading 730

Chapter 19 Networks and Distributed Systems

19.1 Advantages of Distributed Systems 733

19.2 Network Structure 735

19.3 Communication Structure 738

19.4 Network and Distributed Operating Systems 749

19.5 Design Issues in Distributed Systems 753

19.6 Distributed File Systems 757

19.7 DFS Naming and Transparency 761

19.8 Remote File Access 764

19.9 Final Thoughts on Distributed File Systems 767

19.10 Summary 768

Practice Exercises 769

Further Reading 770

PART NINE CASE STUDIES

Chapter 20 The Linux System

20.1 Linux History 775

20.2 Design Principles 780

20.3 Kernel Modules 783

20.4 Process Management 786

20.5 Scheduling 790

20.6 Memory Management 795

20.7 File Systems 803

20.8 Input and Output 810

20.9 Interprocess Communication 812

20.10 Network Structure 813

20.11 Security 816

20.12 Summary 818

Practice Exercises 819

Further Reading 819

Chapter 21 Windows 10

21.1 History 821

21.2 Design Principles 826

21.3 System Components 838

21.4 Terminal Services and Fast User Switching 874

21.5 File System 875

21.6 Networking 880

21.7 Programmer Interface 884

21.8 Summary 895

Practice Exercises 896

Further Reading 897

PART TEN APPENDICES

Chapter A Influential Operating Systems

A.1 Feature Migration 1

A.2 Early Systems 2

A.3 Atlas 9

A.4 XDS-940 10

A.5 THE 11

A.6 RC 4000 11

A.7 CTSS 12

A.8 MULTICS 13

A.9 IBM OS/360 13

A.10 TOPS-20 15

A.11 CP/M and MS/DOS 15

A.12 Macintosh Operating System and Windows 16

A.13 Mach 16

A.14 Capability-based Systems—Hydra and CAP 18

A.15 Other Systems 20

Further Reading 21

Chapter B Windows 7

B.1 History 1

B.2 Design Principles 3

B.3 System Components 10

B.4 Terminal Services and Fast User Switching 34

B.5 File System 35

B.6 Networking 41

B.7 Programmer Interface 46

B.8 Summary 55

Practice Exercises 55

Further Reading 56

Chapter C BSD UNIX

C.1 UNIX History 1

C.2 Design Principles 6

C.3 Programmer Interface 8

C.4 User Interface 15

C.5 Process Management 18

C.6 Memory Management 22

C.7 File System 25

C.8 I/O System 33

C.9 Interprocess Communication 36

C.10 Summary 41

Further Reading 42

Chapter D TheMach System

D.1 History of the Mach System 1

D.2 Design Principles 3

D.3 System Components 4

D.4 Process Management 7

D.5 Interprocess Communication 13

D.6 Memory Management 18

D.7 Programmer Interface 23

D.8 Summary 24

Further Reading 25

Credits 899

Index 901

  • New, updated content throughout including increased coverage of multicore systems and parallel programming, mobile systems including IOS and Android, memory, security, and an updated Linux chapter.
  • New chapters on file-system internals and Windows 10.
  • Many new exercises, programming problems, and programming projects.

The tenth edition uses real-world operating systems to illustrate fundamental operating system concepts:

  • Particular attention is paid to the Microsoft family of operating systems and Linux, with additional material on various versions of UNIX (Solaris, BSD, and Mac OS X).
  • Teaches general concepts in operating systems while allowing for a choice in implementation systems. Rather than concentrating on a particular operating system or hardware, the text discusses key concepts that are applicable to a wide variety of systems.
  • Integrated coverage of Linux and Windows throughout.
  • More interactive experience with self-assessment exercises, key term popups, and animated figures.
  • A Linux virtual machine with GCC development environment and Linux source code distribution.
  • Appendices that cover key legacy operating systems for valuable reference