TY - BOOK AU - Stallings, William TI - Operating systems: Internals and design principles SN - 9788131725283 (pb) U1 - 005.43 PY - 2009/// CY - New Delhi PB - Pearson KW - Operating Systems KW - Systems programs N1 - PART ONE BACKGROUND 6 Chapter 1 Computer System Overview 7 1.1 Basic Elements S 1.2 Processor Registers 9 1.3 Instruction Execution 12 1.4 InterrupLs 15 1.5 Tile Memory Hier.irchy 26 1.6 Cache Memory 29 1.7 I/O Communication Techniques 33 1.8 Recommended Reading and Web Sites 36 1.9 Key Terms, Review Questions, and Problems 37 Appendix 1A Performance Characteristics ofTwo-Level Memory 39 Appendix IB Procedure Control 46 Chapter 2 Operating System Overview 50 2.1 Operating System Objectives and Functions 51 2.2 The Evolution of Operating Systems 55 2.3 M.ajor Achievements 64 2.4 Developments Leading to Modern Operating Systems 77 2.5 Microsoft Wiiulows (~)verview HO 2.6 Traditional UNIX Systems 90 2.7 Modern UNIX Systems 93 2.8 Linux 94 2.9 Recommended Reading and Web Sites 100 2.10 Key Terms, Review Questions, and Problems 101 PART TWO PROCESSES 105 Chapter 3 Process Description and Control 107 • 3.1 What is a Process? 108 3.2 Process States 111 3.3 Process Description 126 3.4 Process Control 135 3.5 E.\ecution of the Operating System 140 3.6 Security Issues 143 3.7 UNIX SVR4 Process Man.igement 147 3.8 Suininary 152 3.9 3.10 Chapter 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Chapter 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Chapter 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 Key Terms, Review Questions, and Problems 153 Programming Project One Developing a Shell 157 Threads, SMP, and Microkernels 160 Processes and Threads 161 Symmetric Multiprocessing (SMP) 175 Microkernels 179 Windows Vista Thread and SMP Management 185 Solaris Thread and SMP Management 190 Linux Process and Thread Management 195 Summary 198 Recommended Reading 198 Key Terms, Review Questions, and Problems 199 Concurrency: Mutual Exclusion and Synchronization 206 Principles of Concurrency 207 Mutual Exclusion: Hardware Support 216 Semaphores 219 Monitors 232 Message Passing 239 Readers/Writers Problem 245 Summary 249 Recommended Reading 250 Key Terms, Review Questions, and Problems 251 Concurrency: Deadlock and Starvation 262 Principles of Deadlock 263 Deadlock Prevention 272 Deadlock Avoidance 273 Deadlock Detection 279 An Integrated Deadlock Strategy 281 Dining Philosophers Problem 282 UNIX Concurrency Mechanisms 286 Linux Kernel Cloncurrency Mechanisms 289 Solans Thread Synchronization Primitives 295 Windows Vista Concurrency Mechanisms 298 Summary 302 Recommended Reading 302 Key Terms, Review Questions, and Problems 303 PART THREE MEMORY 309 Chapter 7 Memory Management 311 7.1 Memory Management Requirements 312 7.2 Memory Partitioning 315 7.3 Paging 326 7.4 Segmentation 330 7.5 Security Issues 331 7.6 Summary 335 7.7 Recommended Reading 335 7.8 Key Terms, Review Questions, and Problems 336 Appendix 7A Loading and Linking 339 Chapter 8 Virtual Memory 345 8.1 Hardware and Control Structures 346 8.2 Operating System Software 365 8.3 UNIX .iiui Solaris Memory Management 383 8.4 Linux Memory Management 3S'J 8.5 Windows Vista Memory Management .191 8.6 Summary 394 8.7 Recommended Reading and Web Sites 395 8.8 Key Terms, Review Questions, and Problems 396 Appendix 8A Hash Tables 400 PART FOUR SCHEDULING 404 Chapter 9 Uniprocessor Scheduling 405 9.1 Types of Scheduling 406 9.2 Scheduling Algorithms 410 9.3 Traditional UNIX Scheduling 432 9.4 Summary 434 9.5 Recommended Reading 434 9.6 Key Terms, Review Questions, and Problems 435 Appendix 9A Response Time 438 Appendix 9B Queuing Systems 440 Profiramminfi Project TwoTlw HOST Dispatcher Shell 447 Chapter 10 Multiprocessor and Real-Time Scheduling 452 10.1 Multiprocessor Scheduling 453 10.2 Real-Time Scheduling 466 10.3 Linux Scheduling 481 10.4 UNIX FreeUSI) Scheduling 485 10.5 Windows Vista Scheduling 487 10.6 Summary 490 10.7 Recommended Reading 490 10.8 Key Terms, Review Questions, and Problems 491 PART FIVE INPUT/OUTPUT AND FILES 494 Chapter 11 I/O Management and Disk Scheduling 495 11.1 I/O Devices 496 11.2 Organization of the I/O Function 497 11.3 Operating System Design Issues 501 11.4 I/O Buffering 504 11.5 Disk Scheduling 507 11.6 RAID 514 11.7 Disk Cache 523 11.8 UNIX 1-reeBSl) l/C 52^. 11.9 Linux I/O 529 11.10 Wiiuiows Vist.i I/O 533 11.11 Summary 536 11.12 Recommended Reading 536 11.13 Key Terms, Review Questions, and Problems 538 Appendix 11A Disk Storage Devices 540 Chapter 12 File Management 521 12.1 Overview 552 12.2 File Organization and Access 558 12.3 File Directories 562 12.4 File Sharing 567 12.5 Record Blocking 568 12.6 Secondary Storage Management 570 12.7 File System Security 578 12.8 UNIX File Manageineni 580 12.9 Linux File Management 587 12.10 Windows Vista File Svsteni 591 12.11 Summary 597 12.12 Recommended Reading 597 12.13 Key Terms, Review Questions, and Problems 598 PART SIX EMBEDDED SYSTEMS 601 Chapter 13 Embedded Operating Systems 602 13.1 Embedded Systems 603 13.2 Characteristics of Embedded Operating Systems 605 13.3 eCOS 607 13.4 TinyOS 622 13.5 Recommended Reading and Web Sites 630 13.6 Key Terms, Review Questions, and Problems 631 PART SEVEN SECURITY 634 Chapter 14 Computer Security Threats 635 14.1 Computer Security Concepts 636 14.2 Threats, Attacks, and Assets 638 14.3 Intruders 643 14.4 Malicious Software Overview 647 14.5 Viruses, Worms, and Dots 651 14.6 Rootkits 661 14.7 Recommended Readings and Web Sites 663 14.8 Key Terms, Review Questions, and Problems 664 Chapter 15 Computer Security Techniques 667 15.1 Aiichentication 668 15.2 Access Control 675 15.3 Intrusion Detection 680 15.4 Mcilware Defense 686 15.5 Dealing with Buffer Overflow Attacks 692 15.6 \\ i ikIi)\\^\'ini.i Si.\ unt\ 15.7 Recommended Readings and Web Sites 701 15.8 Key Terms, Review Questions, and Problems 703 PART EIGHT DISTRIBUTED SYSTEMS 707 Chapter 16 Distributed Processing, Client/Server, and Clusters 710 16.1 Client/Server Computing 711 16.2 Distributed Message Passing 722 16.3 Remote Procedure Calls 724 16.4 Clusters 728 16.5 WindowsVista Cluster Server 733 16.6 Sun Cluster 735 16.7 .ukI Linux Clusters 7.>S 16.8 Summary 740 16.9 Recommended Reading 740 16.10 Key Terms, Review Questions, and Problems 742 ER -