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