Contents:<P><B>Preface</B> </P><P> </P><B>About the Author</B> <P> </P><B>Chapter 0 Reader's and Instructor's Guide</B> <P>0.1 Outline of the Book</P><P>0.2 A Roadmap for Readers and Instructors</P><P>0.3 Internet and Web Resources</P><P> </P><B><B>PART ONE: BACKGROUND</B> </B><P> </P><B>Chapter 1: Computer System Overview</B> <P>1.1 Basic Elements</P><P>1.2 Evolution of the Microprocessor</P><P>1.3 Instruction Execution</P><P>1.4 Interrupts</P><P>1.5 The Memory Hierarchy</P><P>1.6 Cache Memory</P><P>1.7 Direct Memory Access</P><P>1.8 Multiprocessor and Multicore Organization</P><P>1.9 Recommended Reading and Web Sites</P><P>1.10 Key Terms, Review Questions, and Problems</P><P> </P><P>Appendix 1A Performance Characteristics of Two-Level Memory</P><P>Appendix 1B Procedure Control</P><P> </P><P><B>Chapter 2: Operating System Overview</B> </P><P>2.1 Operating System Objectives and Functions</P><P>2.2 The Evolution of Operating Systems</P><P>2.3 Major Achievements</P><P>2.4 Developments Leading to Modern Operating Systems</P><P>2.5 Virtual Machines</P><P>2.6 OS Design Considerations for Multiprocessor and Multicore</P><P>2.7 Microsoft Windows Overview</P><P>2.8 Traditional UNIX Systems</P><P>2.9 Modern UNIX Systems</P><P>2.10 Linux</P><P>2.11 Recommended Reading and Web Sites</P><P>2.12 Key Terms, Review Questions, and Problems</P><P> </P><B><B>PART TWO: PROCESSES</B> </B><P> </P><B>Chapter 3: Process Description and Control</B> <P>3.1 What is a Process?</P><P>3.2 Process States</P><P>3.3 Process Description</P><P>3.4 Process Control</P><P>3.5 Execution of the Operating System</P><P>3.6 Security Issues</P><P>3.7 UNIX SVR4 Process Management</P><P>3.8 Summary</P><P>3.9 Recommended Reading</P><P>3.10 Key Terms, Review Questions, and Problems</P><P><B></B> </P><P><B>Chapter 4: Threads</B> </P><P>4.1 Processes and Threads</P><P>4.2 Types of Threads</P><P>4.3 Multicore and Multithreading</P><P>4.4 Windows 7 Thread and SMP Management </P><P>4.5 Solaris Thread and SMP Management</P><P>4.6 Linux Process and Thread Management</P><P>4.7 Mac OS X Grand Central Dispatch</P><P>4.8 Summary</P><P>4.9 Recommended Reading</P><P>4.10 Key Terms, Review Questions, and Problems</P><P> </P><B>Chapter 5: Concurrency: Mutual Exclusion and Synchronization</B> <P>5.1 Principles of Concurrency</P><P>5.2 Mutual Exclusion: Hardware Support</P><P>5.3 Semaphores</P><P>5.4 Monitors</P><P>5.5 Message Passing</P><P>5.6 Readers/Writers Problem</P><P>5.7 Summary</P><P>5.8 Recommended Reading</P><P>5.9 Key Terms, Review Questions, and Problems</P><P> </P><B>Chapter 6: Concurrency: Deadlock and Starvation</B> <P>6.1 Principles of Deadlock</P><P>6.2 Deadlock Prevention</P><P>6.3 Deadlock Avoidance</P><P>6.4 Deadlock Detection</P><P>6.5 An Integrated Deadlock Strategy</P><P>6.6 Dining Philosophers Problem</P><P>6.7 UNIX Concurrency Mechanisms</P><P>6.8 Linux Kernel Concurrency Mechanisms</P><P>6.9 Solaris Thread Synchronization Primitives</P><P>6.10 Windows 7 Concurrency Mechanisms</P><P>6.11 Summary</P><P>6.12 Recommended Reading</P><P>6.13 Key Terms, Review Questions, and Problems</P><P> </P><B><B>PART THREE: MEMORY</B> </B><P> </P><B>Chapter 7: Memory Management</B> <P>7.1 Memory Management Requirements</P><P>7.2 Memory Partitioning</P><P>7.3 Paging</P><P>7.4 Segmentation</P><P>7.5 Security Issues</P><P>7.6 Summary</P><P>7.7 Recommended Reading</P><P>7.8 Key Terms, Review Questions, and Problems</P><P> </P><P>Appendix 7A Loading and Linking</P><P> </P><B>Chapter 8: Virtual Memory</B> <P>8.1 Hardware and Control Structures</P><P>8.2 Operating System Software</P><P>8.3 UNIX and Solaris Memory Management</P><P>8.4 Linux Memory Management</P><P>8.5 Windows 7 Memory Management</P><P>8.6 Summary</P><P>8.7 Recommended Reading and Web Sites</P><P>8.8 Key Terms, Review Questions, and Problems</P><P> </P><B><B>PART FOUR: SCHEDULING</B> </B><P> </P><B>Chapter 9: Uniprocessor Scheduling</B> <P>9.1 Types of Scheduling</P><P>9.2 Scheduling Algorithms</P><P>9.3 Traditional UNIX Scheduling</P><P>9.4 Summary</P><P>9.5 Recommended Reading</P><P>9.6 Key Terms, Review Questions, and Problems</P><P> </P><P>Appendix 9A Response Time</P><P>Appendix 9B Queuing Systems</P><P> </P><B>Chapter 10: Multiprocessor and Real-Time Scheduling</B> <P>10.1 Multiprocessor Scheduling</P><P>10.2 Real-Time Scheduling</P><P>10.3 Linux Scheduling</P><P>10.4 UNIX FreeBSD Scheduling</P><P>10.5 Windows 7 Scheduling</P><P>10.6 Summary</P><P>10.7 Recommended Reading</P><P>10.8 Key Terms, Review Questions, and Problems</P><P> </P><B><B>PART FIVE: INPUT/OUTPUT AND FILES</B> </B><P> </P><B>Chapter 11: I/O Management and Disk Scheduling</B> <P>11.1 I/O Devices</P><P>11.2 Organization of the I/O Function</P><P>11.3 Operating System Design Issues</P><P>11.4 I/O Buffering</P><P>11.5 Disk Scheduling</P><P>11.6 RAID</P><P>11.7 Disk Cache</P><P>11.8 UNIX FreeBSD I/O</P><P>11.9 Linux I/O</P><P>11.10 Windows 7 I/O</P><P>11.11 Summary</P><P>11.12 Recommended Reading</P><P>11.13 Key Terms, Review Questions, and Problems</P><P> </P><P>Appendix 11A Disk Storage Devices</P><P> </P><P><B>Chapter 12: File Management</B> </P><P>12.1 Overview</P><P>12.2 File Organization and Access</P><P>12.3 File Directories</P><P>12.4 File Sharing</P><P>12.5 Record Blocking</P><P>12.6 Secondary Storage Management</P><P>12.7 File System Security</P><P>12.8 UNIX File Management</P><P>12.9 Linux File Management</P><P>12.10 Windows 7 File System</P><P>12.11 Summary</P><P>12.12 Recommended Reading</P><P>12.13 Key Terms, Review Questions, and Problems</P><P> </P><B><B>PART SIX: EMBEDDED SYSTEMS</B> </B><P> </P><B>Chapter 13: Embedded Operating Systems</B> <P>13.1 Embedded Systems</P><P>13.2 Characteristics of Embedded Operating Systems</P><P>13.3 eCOS</P><P>13.4 TinyOS</P><P>13.5 Recommended Reading and Web Sites</P><P>13.6 Key Terms, Review Questions, and Problems</P><P> </P><B><B>PART SEVEN: SECURITY</B> </B><P> </P><B>Chapter 14: Computer Security Threats</B> <P>14.1 Computer Security Concepts</P><P>14.2 Threats, Attacks, and Assets</P><P>14.3 Intruders</P><P>14.4 Malicious Software Overview</P><P>14.5 Viruses, Worms, and Bots</P><P>14.6 Rootkits</P><P>14.7 Summary</P><P>14.8 Recommended Reading</P><P>14.9 Key Terms, Review Questions, and Problems</P><P> </P><P><B>Chapter 15: Computer Security Techniques</B> </P><P>15.1 Authentication</P><P>15.2 Access Control</P><P>15.3 Intrusion Detection</P><P>15.4 Malware Defense</P><P>15.5 Dealing with Buffer Overflow Attacks</P><P>15.6 Windows 7 Security</P><P>15.7 Summary</P><P>15.8 Recommended Reading</P><P>15.9 Key Terms, Review Questions, and Problems</P><P> </P><B><B>PART EIGHT: DISTRIBUTED SYSTEMS</B> </B><P> </P><P><B>Chapter 16: Distributed Processing, Client/Server, and Clusters</B> </P><P>16.1 Client/Server Computing</P><P>16.2 Distributed Message Passing</P><P>16.3 Remote Procedure Calls</P><P>16.4 Clusters</P><P>16.5 Windows 7 Cluster Server</P><P>16.6 Sun Cluster</P><P>16.7 Beowulf and Linux Clusters</P><P>16.8 Summary</P><P>16.9 Recommended Reading</P><P>16.10 Key Terms, Review Questions, and Problems</P><P> </P><B><B>APPENDICES</B> </B><P> </P><B>Appendix A: Topics in Concurrency</B> <P>A.1 Mutual Exclusion: Software Approaches</P><P>A.2 Race Conditions and Semaphores</P><P>A.3 A Barbershop Problem</P><P>A.4 Problems</P><P> </P><B>Appendix B: Programming and Operating System Projects</B> <P>B.1 Animations and Animation Projects</P><P>B.2 Simulations</P><P>B.3 Programming Projects</P><P>B.4 Research Projects</P><P>B.5 Reading/Report Assignments</P><P>B.6 Writing Assignments</P><P>B.7 Documentation Projects</P><P>B.8 BACI and Nachos</P><P> </P><B>References</B> <P> </P><B>Index</B> <P> </P><B><B>ONLINE CHAPTERS AND APPENDICES</B> </B><P> </P><B>Chapter 17: Networking</B> <P>17.1 The Need for a Protocol Architecture</P><P>17.2 The TCP/IP Protocol Architecture</P><P>17.3 Sockets</P><P>17.4 Linux Networking</P><P>17.5 Summary</P><P>17.6 Recommended Reading and Web Sites</P><P>17.7 Key Terms, Review Questions, and Problems</P><P> </P><P>Appendix 17A The Trivial File Transfer Protocol</P><P> </P><B>Chapter 18: Distributed Process Management </B><P>18.1 Process Migration</P><P>18.2 Distributed Global States</P><P>18.3 Distributed Mutual Exclusion</P><P>18.4 Distributed Deadlock</P><P>18.5 Summary</P><P>18.6 Recommended Reading</P><P>18.7 Key Terms, Review Questions, and Problems</P><P> </P><B>Chapter 19: Overview of Probability and Stochastic Processes</B> <P>19.1 Probability</P><P>19.2 Random Variables</P><P>19.3 Elementary Concepts of Stochastic Processes</P><P>19.4 Recommended Reading and Web Sites</P><P>19.5 Key Terms, Review Questions, and Problems</P><P><B></B> </P><B>Chapter 20: Queuing Analysis</B> <P>20.1 How Queues BehaveA Simple Example</P><P>20.2 Why Queuing Analysis?</P><P>20.3 Queuing Models</P><P>20.4 Single-Server Queues</P><P>20.5 Multiserver Queues</P><P>20.6 Examples</P><P>20.7 Queues with Priorities</P><P>20.8 Networks of Queues</P><P>20.9 Other Queuing Models</P><P>20.10 Estimating Model Parameters</P><P>20.11 Recommended Reading and Web Sites</P><P>20.12 Key Terms, Review Questions, and Problems</P><P> </P><B>Programming Project One: Developing a Shell</B> <P> </P><B>Programming Project Two: The HOST Dispatcher Shell</B> <P> </P><B>Appendix C: Topics in Computer Organization</B> <P>C.1 Processor Registers<BR>C.2 Instruction Execution<BR>C.3 I/O Communication Techniques</P><P>C.4 Hardware Performance Issues and Multicore Organization</P><P> </P><P><B>Appendix D: Object-Oriented Design</B> </P><P>D.1 Motivation</P><P>D.2 Object-Oriented Concepts</P><P>D.3 Benefits of Object-Oriented Design</P><P>D.4 CORBA</P><P>D.5 Recommended Reading and Web Sites</P><P> </P><P><B>Appendix E: Amdahl's Law</B> <B> </B> </P><P> </P><P><B>Appendix F: Hash Tables<BR><BR></B><B>Appendix G: Response Time<BR><BR></B><B>Appendix H: Queuing System Concepts</B> </P><P>H.1 The Single-Server Queue</P><P>H.2 The Multiserver Queue</P><P>H.3 Poisson Arrival Rate</P><P><B></B> </P><P><B>Appendix I: The Complexity of Algorithms</B> </P><P> </P><B>Appendix J: Standards Organizations</B> <P> J.1 The Importance of Standards</P><P> J.2 Standards and Regulation</P><P> J.3 Standards-Setting Organizations</P><P> </P><B>Appendix K: Cryptographic Algorithms</B> <P> K.1 Symmetric Encryption</P><P> K.2 Public-Key Cryptography</P><P> K.3 Secure Hash Functions</P><P> </P><P><B>Appendix L: The International Reference Alphabet</B> <B> </B> </P><P> </P><P><B>Appendix M: BACI: The Ben-Ari Concurrent Programming System</B> </P><P>M.1 Introduction</P><P>M.2 BACI</P><P>M.3 Examples of BACI Programs</P><P>M.4 BACI Projects</P><P>M.5 Enhancements to the BACK System</P><P><B></B> </P><B>Appendix N: Sockets: A Programmer's Introduction</B> <P>N.1 Versions of Sockets</P><P>N.2 Sockets, Socket Descriptors, Ports, and Connections</P><P>N.3 The Client/Server Model of Communication</P><P>N.4 Sockets Elements</P><P>N.5 Stream and Datagram Sockets</P><P>N.6 Run-Time Program Control</P><P>N.7 Remote Execution of a Windows Console Application</P><P> </P>
There are no comments on this title.