Book DescriptionOperating Systems: Internals and Design Principles is a comprehensive and unified introduction to operating systems. By using several innovative tools, Stallings makes it possible to understand critical core concepts that can be fundamentally challenging. The new edition includes the implementation of web based animations to aid visual learners. At key points in the book, students are directed to view an animation and then are provided with assignments to alter the animation input and analyze the results.
�
The concepts are then enhanced and supported by end-of-chapter case studies of UNIX, Linux and Windows Vista. These provide students with a solid understanding of the key mechanisms of modern operating systems and the types of design tradeoffs and decisions involved in OS design. Because they are embedded into the text as end of chapter material, students are able to apply them right at the point of discussion. This approach is equally useful as a basic reference and as an up-to-date survey of the state of the art.
- See more at: http://www.pearsonhighered.com/pearsonhigheredus/educator/product/products_detail.page?isbn=0136006329#sthash.eX0V7cxB.dpuf Table of ContentWEB SITE FOR OPERATING SYSTEMS, INTERNALS AND DESIGN PRINCIPLES
PREFACECHAPTER 0 READER'S GUIDE 0.1 Outline of the Book
0.2 Topic Ordering
0.3 Internet and Web Resources
PART ONE BACKGROUNDChapter 1 Computer System Overview 1.1 Basic Elements
1.2 Processor Registers
1.3 Instruction Execution
1.4 Interrupts
1.5 The Memory Hierarchy
1.6 Cache Memory
1.7 I/O Communication Techniques
1.8 Recommended Reading and Web Sites
1.9 Key Terms, Review Questions, and Problems
Appendix 1A Performance Characteristics of Two-Level Memory
Appendix 1B Procedure Control
Chapter 2 Operating System Overview 2.1 Operating System Objectives and Functions
2.2 The Evolution of Operating Systems
2.3 Major Achievements
2.4 Characteristics of Modern Operating Systems
2.5 Windows Vista Overview
2.6 Traditional UNIX Systems
2.7 Modern UNIX Systems
2.8 Linux
2.9 Recommended Reading and Web Sites
2.10 Key Terms, Review Questions, and Problems
PART TWO PROCESSESChapter 3 Process Description and Control 3.1 What is a Process?
3.2 Process States
3.3 Process Description
3.4 Process Control
3.5 UNIX FreeBSD Process Management
3.6 Summary
3.7 Recommended Reading
3.8 Key Terms, Review Questions, and Problems
Programming Project 1 Developing a ShellChapter 4 Threads, SMP, and Microkernels 4.1 Processes and Threads
4.2 Symmetric Multiprocessing (SMP)
4.3 Microkernels
4.4 Windows Vista Thread and SMP Management
4.5 Solaris Thread and SMP Management
4.6 Linux Process and Thread Management
4.7 Summary
4.8 Recommended Reading
4.9 Key Terms, Review Questions, and Problems
Chapter 5 Concurrency: Mutual Exclusion and Synchronization 5.1 Principles of Concurrency
5.2 Mutual Exclusion: Hardware Support
5.3 Semaphores
5.4 Monitors
5.5 Message Passing
5.6 Readers/Writers Problem
5.7 Summary
5.8 Recommended Reading
5.9 Key Terms, Review Questions, and Problems
Chapter 6 Concurrency: Deadlock and Starvation 6.1 Principles of Deadlock
6.2 Deadlock Prevention
6.3 Deadlock Avoidance
6.4 Deadlock Detection
6.5 An Integrated Deadlock Strategy
6.6 Dining Philosophers Problem
6.7 UNIX Concurrency Mechanisms
6.8 Linux Kernel Concurrency Mechanisms
6.9 Solaris Thread Synchronization Primitives
6.10 Windows Vista Concurrency Mechanisms
6.11 Summary
6.12 Recommended Reading
6.13 Key Terms, Review Questions, and Problems
PART THREE MEMORYChapter 7 Memory Management 7.1 Memory Management Requirements
7.2 Memory Partitioning
7.3 Paging
7.4 Segmentation
7.5 Summary
7.6 Recommended Reading
7.7 Key Terms, Review Questions, and Problems
Appendix 7A Loading and Linking
Chapter 8 Virtual Memory 8.1 Hardware and Control Structures
8.2 Operating System Software
8.3 UNIX and Solaris Memory Management
8.4 Linux Memory Management
8.5 Windows Vista Memory Management
8.6 Summary
8.7 Recommended Reading and Web Sites
8.8 Key Terms, Review Questions, and Problems
Appendix 8A Hash Tables
PART FOUR SCHEDULINGChapter 9 Uniprocessor Scheduling 9.1 Types of Scheduling
9.2 Scheduling Algorithms
9.3 Traditional UNIX Scheduling
9.4 Summary
9.5 Recommended Reading
9.6 Key Terms, Review Questions, and Problems
Appendix 9A Response Time
Appendix 9B Queuing Systems
Programming Project 2 The HOST Dispatcher ShellChapter 10 Multiprocessor and Real-Time Scheduling 10.1 Multiprocessor Scheduling
10.2 Real-Time Scheduling
10.3 Linux Scheduling
10.4 UNIX FreeBSD Scheduling
10.5 Windows Vista Scheduling
10.6 Summary
10.7 Recommended Reading
10.8 Key Terms, Review Questions, and Problems
PART FIVE INPUT/OUTPUT AND FILESChapter 11 I/O Management and Disk Scheduling 11.1 I/O Devices
11.2 Organization of the I/O Function
11.3 Operating System Design Issues
11.4 I/O Buffering
11.5 Disk Scheduling
11.6 RAID
11.7 Disk Cache
11.8 UNIX FreeBSD I/O
11.9 Linux I/O
11.10 Windows Vista I/O
11.11 Summary
11.12 Recommended Reading
11.13 Key Terms, Review Questions, and Problems
Appendix 11A Disk Storage Devices
Chapter 12 File Management 12.1 Overview
12.2 File Organization and Access
12.3 File Directories
12.4 File Sharing
12.5 Record Blocking
12.6 Secondary Storage Management
12.7 UNIX File Management
12.8 Linux File Management
12.9 Windows Vista File System
12.10 Summary
12.11 Recommended Reading
12.12 Key Terms, Review Questions, and Problems
PART SIX EMBEDDED SYSTEMSChapter 13 Embedded Operating Systems 13.1 The Role of Embedded Operating Systems
13.2 Embedded OS Requirements
13.3 Scheduling
13.4 Other Embedded OS Functions
13.5 Example System: eCOS
13.6 Example System: TinyOS
13.7 Recommended Reading and Web Sites
13.8 Key Terms, Review Questions, and Problems
PART SEVEN DISTRIBUTED SYSTEMS (ONLINE)Chapter 14 Networking 14.1 The Need for a Protocol Architecture
14.2 The TCP/IP Protocol Architecture
14.3 Sockets
14.4 Linux Networking
14.5 Summary
14.6 Recommended Reading and Web Sites
14.7 Key Terms, Review Questions, and Problems
Appendix 14A The Trivial File Transfer Protocol
Chapter 15 Distributed Processing, Client/Server, and Clusters 15.1 Client/Server Computing
15.2 Distributed Message Passing
15.3 Remote Procedure Calls
15.4 Clusters
15.5 Windows Vista Cluster Server
15.6 Sun Cluster
15.7 Beowulf and Linux Clusters
15.8 Summary
15.9 Recommended Reading
15.10 Key Terms, Review Questions, and Problems
Chapter 16 Distributed Process Management 16.1 Process Migration
16.2 Distributed Global States
16.3 Distributed Mutual Exclusion
16.4 Distributed Deadlock
16.5 Summary
16.6 Recommended Reading
16.7 Key Terms, Review Questions, and Problems
PART EIGHT SECURITY (ONLINE)Chapter 17 Computer Security 17.1 Security Threats
17.2 Protection
17.3 Intruders
17.4 Malicious Software
17.5 Trusted Systems
17.6 Windows Vista Security
17.7 Summary
17.8 Recommended Reading
17.9 Key Terms, Review Questions, and Problems
Appendix 17A Encryption
APPENDICESAppendix A Topics in Concurrency A.1 Mutual Exclusion: Software Approaches
A.2 Race Conditions and Semaphores
A.3 A Barbershop Problem
A.4 Problems
Appendix B Object-Oriented Design B.1 Motivation
B.2 Object-Oriented Concepts
B.3 Benefits of Object-Oriented Design
B.4 CORBA
B/5 Recommended Reading and Web Site
Appendix C Programming and Operating System Projects C.1 Projects for Teaching Operating Systems
C.2 NACHOS
C.3 Research Projects
C.4 Programming Projects
C.5 Reading/Report Assignments
Appendix D OSP: An Environment for Operating Systems Projects D.1 Overview
D.2 Innovative Aspects of OSP
D.3 Comparison with Other Operating System Courseware
Appendix E BACI: The Ben-Ari Concurrent Programming System E.1 Introduction
E.2 BACI
E.3 Examples of BACI Programs
E.4 BACI Projects
E.5 Enhancements to the BACK System
File size 13.33 Mb
FREE DOWNLOAD