Advertisement

Responsive Advertisement

operating systems internals and design principles 8th-ZeindBook

 operating systems internals and design principles 8th-ZeindBook



operating systems internals and design principles 8th-ZeindBook


operating systems internals and design principles 8th

ABOUT THE AUTHOR

Dr. William Stallings has authored 17 titles, and counting revised editions, over 40 books on computer security, computer networking, and computer architecture. His

writings have appeared in numerous publications, including the Proceedings of the IEEE, ACM Computing Reviews and Cryptologia. He has 12 times received the award for the best Computer Science textbook of

the year from the Text and Academic Authors Association. In over 30 years in the field, he has been a technical contributor, technical manager, and an executive with several high-technology firms. He has designed and implemented both TCP/IP-based and OSI-based protocol suites on a variety of computers and operating systems, ranging from microcomputers to mainframes. As a consultant, he has advised government agencies. computer and software ven- dors, and major users on the design, selection, and use of networking software and

products. He created and maintains the Computer Science Student Resource Site at ComputerScienceStudent.com. This site provides documents and links on a variety of subjects of general interest to computer science students (and professionals). He is a member of the editorial board of Cryptologia, a scholarly journal devoted to all aspects of cryptology. He is Networking Category Expert Writer at networking.

answers.com. Dr. Stallings holds a Ph.D. from M.I.T. in Computer Science and a B.S. from Notre Dame in electrical engineering.

operating systems internals and design principles 8th

CONTENTS

Online Resources xiii

Video Notes xv

Preface xvii

About the Author xxvii

Chapter 0 Guide for Readers and Instructors 1

0.1

Outline of this Book 2

0.2 Example Systems 2

0.3 A Roadmap for Readers and Instructors 3

0.4 Internet and Web Resources 4

PART 1 BACKGROUND 7

Chapter 1 Computer System Overview 7

1.1

Basic Elements 8

1.2 Evolution of the Microprocessor 10

1.3 Instruction Execution 10

1.4 Interrupts 13

1.5

The Memory Hierarchy 24

1.6 Cache Memory 27

1.7 Direct Memory Access 31

1.8 Multiprocessor and Multicore Organization 32 Recommended Reading 36

1.9

1.10 Key Terms, Review Questions, and Problems 36

Performance Characteristics of Two-Level Memories 39

1A

Chapter 2

Operating System Overview 46

2.1 Operating System Objectives and Functions 47 2.2 The Evolution of Operating Systems 52

2.3

Major Achievements 61

2.4 Developments Leading to Modern Operating Systems 70

2.5 Fault Tolerance 73

2.6 OS Design Considerations for Multiprocessor and Multicore 76

2.7

Microsoft Windows Overview 79 2.8 Traditional UNIX Systems 86

2.9 Modern UNIX Systems 89 2.10 Linux 91

2.11

Android 96

2.12 Recommended Reading and Animations 102 2.13 Key Terms, Review Questions, and Problems 103

PART 2 PROCESSES 105

Chapter 3 Process Description and Control 105

3.1 What Is a Process? 107

3.2 3.3 Process Description 124

Process States 109

3.4 Process Control 133

3.5 Execution of the Operating System 139

3.6

UNIX SVR4 Process Management 142

3.7 Summary 147 3.8 Recommended Reading and Animations 147

3.9

Key Terms, Review Questions, and Problems 148:

Chapter 4 Threads 152

Processes and Threads 153

Types of Threads 159 Multicore and Multithreading 166

Windows 8 Process and Thread Management 171

Solaris Thread and SMP Management 178

Linux Process and Thread Management 182 Android Process and Thread Management 186

Mac OS X Grand Central Dispatch 190

Summary 193

Recommended Reading 193 Key Terms, Review Questions, and Problems 194

4.10

Chapter 5 Concurrency: Mutual Exclusion

and Synchronization 199

5.1 Principles of Concurrency 202

5.2 Mutual Exclusion: Hardware Support 210

5.3 Semaphores 214 Monitors 227

5.4

5.5 Message Passing 233

5.6 Readers/Writers Problem 240

5.7 Summary 244

5.8 Recommended Reading and Animations 245 Key Terms. Review Questions, and Problems 246

5.9

Chapter 6 Concurrency: Deadlock and Starvation 259

Principles of Deadlock 260

Deadlock Prevention 269

Deadlock Avoidance 271

Deadlock Detection 277 An Integrated Deadlock Strategy 279

Dining Philosophers Problem 280

UNIX Concurrency Mechanisms 282

Linux Kernel Concurrency Mechanisms 286

CONTENTS

ix

6.9

6.10

6.11

Solaris Thread Synchronization Primitives 293

Windows 7 Concurrency Mechanisms 295

Android Interprocess Communication 299

Summary 300 Recommended Reading and Animations 301

Key Terms, Review Questions, and Problems 302

6.9

6.10 Windows 7 Concurrency Mechanisms 295 Android Interprocess Communication 299

6.11

Solaris Thread Synchronization Primitives 293

Summary 300

Recommended Reading and Animations 301

Key Terms, Review Questions, and Problems 302

6.12

6.13

6.14

PART 3 MEMORY 309

Chapter

7 Memory Management 309

7.1 Memory Management Requirements 310

7.2 Memory Partitioning 314

7.3

Paging 325

7.4

Segmentation 328 7.5 Summary 330

7.6 Recommended Reading and Animations 330

7.7 Key Terms, Review Questions, and Problems 330

7A Loading and Linking 333

Chapter 8 Virtual Memory 340

8.1 Hardware and Control Structures 341

8.2

Operating System Software 358

8.3 UNIX and Solaris Memory Management 377

8.4 Linux Memory Management 383)

8.5

Windows Memory Management 386 Android Memory Management 389

8.6

8.7 Summary 389

8.8 Recommended Reading and Animations 390

8.9

Key Terms, Review Questions, and Problems 391

PART 4 SCHEDULING 397

Chapter

9 Uniprocessor Scheduling 397 Types of Processor Scheduling 398

9.1

9.2 Scheduling Algorithms 402

9.3 Traditional UNIX Scheduling 424

9.4

Summary 426

9.5 Recommended Reading and Animations 427

Key Terms, Review Questions, and Problems 428

9.6

Chapter 10

Multiprocessor, Multicore, and Real-Time Scheduling 432

10.1 Multiprocessor and Multicore Scheduling 433

10.2 Real-Time Scheduling, 446 Linux Scheduling 461

10.3

10.4 UNIX SVR4 Scheduling 465

10.5 UNIX FreeBSD Scheduling 466

X CONTENTS

10.6

10.7

Windows Scheduling 470 Summary 472

Recommended Reading 473 Key Terms, Review Questions, and Problems 173

10.8 10.9

PART 5 INPUT/OUTPUT AND FILES 477

Chapter 11 I/O Management and Disk Scheduling 477

11.1

1/O Devices 478

11.2 Organization of the I/O Function 480

11.3 Operating System Design Issues 483
11.4 I/O Buffering 486 Disk Scheduling 489

11.5

11.6 RAID 496

11.7 Disk Cache 505

11.8 11.9

UNIX SVR4 I/O 500

Linux I/O 512 11.10. Windows I/O 515

11.11 Summary 517

11.12 Recommended Reading and Animations 518

11.13 Key Terms, Review Questions, and Problems 519

Chapter 12 File Management

522

12.1 Overview 523 File Organization and Access 529

12.2

12.3 B-Trees 533

12.4 File Directories 536

12.5

File Sharing 541

12.6 Record Blocking 542 12.7 Secondary Storage Management 544

12.8 UNIX File Management 552 12.9

Linux Virtual File System 557

12.10 Windows File System 561

12.11 Android File Management 566

12.12 Summary 567 12.13

Recommended Reading 568

12.14 Key Terms, Review Questions, and Problems 568

PART 6 EMBEDDED SYSTEMS 571

Chapter 13 Embedded Operating Systems

571

13.1 Embedded Systems 572 13.2 Characteristics of Embedded Operating Systems 573

13.3 Embedded Linux 576

13.4 TinyOS 577

13.5 Recommended Reading 587 Key Terms, Review Questions, and Problems 587

13.6

CONTENTS

xi

Chapter 14 Virtual Machines 590

14.1 Approaches to Virtualization 593

14.2 Processor Issues 596

14.3 Memory Management 398

14.4

I/O Management 600

14.5 VMware ESXi 602

14.6 Microsoft Hyper-V and Xen Variants 604

14.7 Java VM 606
Chapter 14

Virtual Machines 590

14.1 Approaches to Virtualization 593

14.2 Processor Issues 596

14.3 Memory Management 598 14.4

I/O Management 600

14.5 VMware ESXi 602 14.6 Microsoft Hyper-V and Xen Variants 604

14.7 Java VM 606

14.8

Linux VServer Virtual Machine Architecture 606 14.9 Android Virtual Machine 609

14.10 Summary 611

14.11 Recommended Reading 612 14.12

Key Terms, Review Questions, and Problems 613

Chapter 15 Operating System Security 614

15.1 Intruders and Malicious Software 615 15.2

Buffer Overflow 619

15.3 Access Control 627

15.4 UNIX Access Control 635

15.5

Operating Systems Hardening 638

15.6 Security Maintenance 642

15.7 Windows Security 643

15.8 Summary 648

15.9

Recommended Reading 649

15.10 Key Terms, Review Questions, and Problems 649 Chapter 16 Distributed Processing, Client/Server, and Clusters 652

16.1

Client/Server Computing 653

16.2 Distributed Message Passing 664

16.3 Remote Procedure Calls 667

16.4 Clusters 671

16.5

Windows Cluster Server 676 16.6 Beowulf and Linux Clusters 678

16.7 Summary 680

16.8 16.9

Recommended Reading 681 Key Terms, Review Questions, and Problems 682
Hastag : #how to get free pdf books #how to download Book Free PDF #how to Reading Book PDF


Post a Comment

0 Comments