You are previewing The Architecture of Computer Hardware, System Software, and Networking: An Information Technology Approach, Fourth Edition.
O'Reilly logo
The Architecture of Computer Hardware, System Software, and Networking: An Information Technology Approach, Fourth Edition

Book Description

This newly revised text provides a gentle approach to introduce MIS students to fundamental computer hardware, systems software, and data concepts. As in previous editions, the goal of this book is to provide the fundamentals of computer architecture which are essential to the workplace survival of Information Systems graduates. This text provides a careful, in depth, non-engineering introduction to the inner workings of modern computer systems. New advances have been built into the new edition in the areas of operating system design and computer interconnection.

Table of Contents

  1. Copyright
  2. PREFACE
    1. ORGANIZATION OF THE FOURTH EDITION OF THE BOOK
    2. ADDITIONAL RESOURCES
    3. ACKNOWLEDGMENTS
  3. ABOUT THE AUTHOR
  4. I. AN OVERVIEW OF COMPUTER SYSTEMS
    1. 1. COMPUTERS AND SYSTEMS
      1. 1.1. INTRODUCTION
      2. 1.2. THE STARTING POINT
      3. 1.3. COMPONENTS OF THE COMPUTER SYSTEM
        1. 1.3.1. The Hardware Component
        2. 1.3.2. The Software Component
        3. 1.3.3. The Communication Component
        4. 1.3.4. The Computer System
      4. 1.4. THE CONCEPT OF VIRTUALIZATION
      5. 1.5. PROTOCOLS AND STANDARDS
      6. 1.6. OVERVIEW OF THIS BOOK
      7. 1.7. A BRIEF ARCHITECTURAL HISTORY OF THE COMPUTER
        1. 1.7.1. Early Work
        2. 1.7.2. Computer Hardware
        3. 1.7.3. Operating Systems
        4. 1.7.4. Communication, Networks, and the Internet
      8. 1.8. SUMMARY AND REVIEW
      9. 1.9. FOR FURTHER READING
      10. 1.10. KEY CONCEPTS AND TERMS
      11. 1.11. READING REVIEW QUESTIONS
      12. 1.12. EXERCISES
    2. 2. AN INTRODUCTION TO SYSTEM CONCEPTS AND SYSTEMS ARCHITECTURE
      1. 2.1. INTRODUCTION
      2. 2.2. THE GENERAL CONCEPT OF SYSTEMS
      3. 2.3. IT SYSTEM ARCHITECTURES
        1. 2.3.1. Distributed Processing Systems
          1. 2.3.1.1. CLIENT-SERVER COMPUTING
          2. 2.3.1.2. WEB-BASED COMPUTING
          3. 2.3.1.3. PEER-TO-PEER COMPUTING
        2. 2.3.2. The Role of the System Architect
        3. 2.3.3. Google: A System Architecture Example
      4. 2.4. SUMMARY AND REVIEW
      5. 2.5. FOR FURTHER READING
      6. 2.6. KEY CONCEPTS AND TERMS
      7. 2.7. READING REVIEW QUESTIONS
      8. 2.8. EXERCISES
  5. II. DATA IN THE COMPUTER
    1. 3. NUMBER SYSTEMS
      1. 3.1. INTRODUCTION
      2. 3.2. NUMBERS AS A PHYSICAL REPRESENTATION
      3. 3.3. COUNTING IN DIFFERENT BASES
      4. 3.4. PERFORMING ARITHMETIC IN DIFFERENT NUMBER BASES
      5. 3.5. NUMERIC CONVERSION BETWEEN NUMBER BASES
        1. 3.5.1. An Alternative Conversion Method
          1. 3.5.1.1. BASE 10 TO ANOTHER BASE
          2. 3.5.1.2. ANOTHER NUMBER BASE TO BASE 10
      6. 3.6. HEXADECIMAL NUMBERS AND ARITHMETIC
      7. 3.7. A SPECIAL CONVERSION CASE—NUMBER BASES THAT ARE RELATED
      8. 3.8. FRACTIONS
        1. 3.8.1. Fractional Conversion Methods
      9. 3.9. MIXED NUMBER CONVERSIONS
      10. 3.10. SUMMARY AND REVIEW
      11. 3.11. FOR FURTHER READING
      12. 3.12. KEY CONCEPTS AND TERMS
      13. 3.13. READING REVIEW QUESTIONS
      14. 3.14. EXERCISES
    2. 4. DATA FORMATS
      1. 4.1. INTRODUCTION
      2. 4.2. GENERAL CONSIDERATIONS
      3. 4.3. ALPHANUMERIC CHARACTER DATA
        1. 4.3.1. Keyboard Input
        2. 4.3.2. Alternative Sources of Alphanumeric Input
          1. 4.3.2.1. OPTICAL CHARACTER RECOGNITION
          2. 4.3.2.2. BAR CODE READERS
          3. 4.3.2.3. MAGNETIC STRIPE READERS
          4. 4.3.2.4. RFID INPUT RFID
          5. 4.3.2.5. VOICE INPUT
      4. 4.4. IMAGE DATA
        1. 4.4.1. Bitmap Images
        2. 4.4.2. Object Images
        3. 4.4.3. Representing Characters as Images
        4. 4.4.4. Video Images
        5. 4.4.5. Image and Video Input
          1. 4.4.5.1. IMAGE SCANNING
          2. 4.4.5.2. DIGITAL CAMERAS AND VIDEO CAPTURE DEVICES
          3. 4.4.5.3. GRAPHICAL INPUT USING POINTING DEVICES
      5. 4.5. AUDIO DATA
      6. 4.6. DATA COMPRESSION
      7. 4.7. PAGE DESCRIPTION LANGUAGES
      8. 4.8. INTERNAL COMPUTER DATA FORMAT
        1. 4.8.1. Numerical Character to Integer Conversion
      9. 4.9. SUMMARY AND REVIEW
      10. 4.10. FOR FURTHER READING
      11. 4.11. KEY CONCEPTS AND TERMS
      12. 4.12. READING REVIEW QUESTIONS
      13. 4.13. EXERCISES
    3. 5. REPRESENTING NUMERICAL DATA
      1. 5.1. INTRODUCTION
      2. 5.2. UNSIGNED BINARY AND BINARY-CODED DECIMAL REPRESENTATIONS
      3. 5.3. REPRESENTATIONS FOR SIGNED INTEGERS
        1. 5.3.1. Sign-and-magnitude Representation
        2. 5.3.2. Nine's Decimal and 1's Binary Complementary Representations
          1. 5.3.2.1. NINE'S DECIMAL REPRESENTATION
          2. 5.3.2.2. ONE'S COMPLEMENT
        3. 5.3.3. Ten's Complement and 2's Complement
          1. 5.3.3.1. TEN'S COMPLEMENT
          2. 5.3.3.2. TWO'S COMPLEMENT.
        4. 5.3.4. Overflow and Carry Conditions
        5. 5.3.5. Other Bases
        6. 5.3.6. Summary of Rules for Complementary Numbers
      4. 5.4. REAL NUMBERS
        1. 5.4.1. A Review of Exponential Notation
        2. 5.4.2. Floating Point Format
        3. 5.4.3. Normalization and Formatting of Floating Point Numbers
        4. 5.4.4. A Programming Example
        5. 5.4.5. Floating Point Calculations
          1. 5.4.5.1. Addition and Subtraction
          2. 5.4.5.2. Multiplication and Division
        6. 5.4.6. Floating Point in the Computer
          1. 5.4.6.1. IEEE 754 Standard
        7. 5.4.7. Conversion between Base 10 and Base 2
      5. 5.5. PROGRAMMING CONSIDERATIONS
      6. 5.6. SUMMARY AND REVIEW
      7. 5.7. FOR FURTHER READING
      8. 5.8. KEY CONCEPTS AND TERMS
      9. 5.9. READING REVIEW QUESTIONS
      10. 5.10. EXERCISES
  6. III. COMPUTER ARCHITECTURE AND HARDWARE OPERATION
    1. 6. THE LITTLE MAN COMPUTER
      1. 6.1. INTRODUCTION
      2. 6.2. LAYOUT OF THE LITTLE MAN COMPUTER
      3. 6.3. OPERATION OF THE LMC
      4. 6.4. A SIMPLE PROGRAM
      5. 6.5. AN EXTENDED INSTRUCTION SET
      6. 6.6. THE INSTRUCTION CYCLE
      7. 6.7. A NOTE REGARDING COMPUTER ARCHITECTURES
      8. 6.8. SUMMARY AND REVIEW
      9. 6.9. KEY CONCEPTS AND TERMS
      10. 6.10. READING REVIEW QUESTIONS
      11. 6.11. EXERCISES
    2. 7. THE CPU AND MEMORY
      1. 7.1. INTRODUCTION
      2. 7.2. THE COMPONENTS OF THE CPU
      3. 7.3. THE CONCEPT OF REGISTERS
      4. 7.4. THE MEMORY UNIT
        1. 7.4.1. The Operation of Memory
        2. 7.4.2. Memory Capacity
        3. 7.4.3. Primary Memory Characteristics and Implementation
      5. 7.5. THE FETCH-EXECUTE INSTRUCTION CYCLE
      6. 7.6. BUSES
        1. 7.6.1. Bus Characteristics
      7. 7.7. CLASSIFICATION OF INSTRUCTIONS
        1. 7.7.1. Data Movement Instructions (LOAD, STORE, and Other Moves)
        2. 7.7.2. Arithmetic Instructions
        3. 7.7.3. Boolean Logic Instructions
        4. 7.7.4. Single Operand Manipulation Instructions
        5. 7.7.5. Bit Manipulation Instructions
        6. 7.7.6. Shift and Rotate Instructions
        7. 7.7.7. Program Control Instructions
        8. 7.7.8. Stack Instructions
        9. 7.7.9. Multiple Data Instructions
        10. 7.7.10. Other Instructions
      8. 7.8. INSTRUCTION WORD FORMATS
      9. 7.9. INSTRUCTION WORD REQUIREMENTS AND CONSTRAINTS
      10. 7.10. SUMMARY AND REVIEW
      11. 7.11. FOR FURTHER READING
      12. 7.12. KEY CONCEPTS AND TERMS
      13. 7.13. READING REVIEW QUESTIONS
      14. 7.14. EXERCISES
    3. 8. CPU AND MEMORY: DESIGN, ENHANCEMENT, AND IMPLEMENTATION
      1. 8.1. INTRODUCTION
      2. 8.2. CPU ARCHITECTURES
        1. 8.2.1. Overview
        2. 8.2.2. Traditional Modern Architectures
        3. 8.2.3. VLIW and EPIC Architectures
      3. 8.3. CPU FEATURES AND ENHANCEMENTS
        1. 8.3.1. INTRODUCTION
        2. 8.3.2. Fetch-Execute Cycle Timing Issues
        3. 8.3.3. A Model for Improved CPU Performance
          1. 8.3.3.1. Separate Fetch Unit/Execute Unit
          2. 8.3.3.2. Pipelining
          3. 8.3.3.3. Multiple, Parallel Execution Units
        4. 8.3.4. Scalar and Superscalar Processor Organization
          1. 8.3.4.1. Out-of-Order Processing
          2. 8.3.4.2. Branch Instruction Processing
          3. 8.3.4.3. Conflict of Resources
      4. 8.4. MEMORY ENHANCEMENTS
        1. 8.4.1. Wide Path Memory Access
        2. 8.4.2. Memory Interleaving
        3. 8.4.3. Cache Memory
      5. 8.5. THE COMPLEAT MODERN SUPERSCALAR CPU
      6. 8.6. MULTIPROCESSING
      7. 8.7. A FEW COMMENTS ON IMPLEMENTATION
      8. 8.8. SUMMARY AND REVIEW
      9. 8.9. FOR FURTHER READING
      10. 8.10. KEY CONCEPTS AND TERMS
      11. 8.11. READING REVIEW QUESTIONS
      12. 8.12. EXERCISES
    4. 9. INPUT/OUTPUT
      1. 9.1. INTRODUCTION
      2. 9.2. CHARACTERISTICS OF TYPICAL I/O DEVICES
      3. 9.3. PROGRAMMED I/O
      4. 9.4. INTERRUPTS
        1. 9.4.1. Servicing Interrupts
        2. 9.4.2. The Uses Of Interrupts
          1. 9.4.2.1. THE INTERRUPT AS AN EXTERNAL EVENT NOTIFIER
          2. 9.4.2.2. THE INTERRUPT AS A COMPLETION SIGNAL
          3. 9.4.2.3. THE INTERRUPT AS A MEANS OF ALLOCATING CPU TIME
          4. 9.4.2.4. THE INTERRUPT AS AN ABNORMAL EVENT INDICATOR
          5. 9.4.2.5. SOFTWARE INTERRUPTS
        3. 9.4.3. Multiple Interrupts and Prioritization
      5. 9.5. DIRECT MEMORY ACCESS
      6. 9.6. I/O MODULES
      7. 9.7. SUMMARY AND REVIEW
      8. 9.8. FOR FURTHER READING
      9. 9.9. KEY CONCEPTS AND TERMS
      10. 9.10. READING REVIEW QUESTIONS
      11. 9.11. EXERCISES
    5. 10. COMPUTER PERIPHERALS
      1. 10.1. INTRODUCTION
      2. 10.2. THE HIERARCHY OF STORAGE
      3. 10.3. SOLID STATE MEMORY
      4. 10.4. MAGNETIC DISKS
        1. 10.4.1. Disk Arrays
      5. 10.5. OPTICAL DISK STORAGE
      6. 10.6. MAGNETIC TAPE
      7. 10.7. DISPLAYS
        1. 10.7.1. Liquid Crystal Display Technology
        2. 10.7.2. CRT Display Technology
        3. 10.7.3. OLED Display Technology
      8. 10.8. PRINTERS
        1. 10.8.1. Laser Printers
        2. 10.8.2. Inkjet Printers
        3. 10.8.3. Thermal Wax Transfer and Dye Sublimation Printers
      9. 10.9. USER INPUT DEVICES
        1. 10.9.1. Keyboards and Pointing Devices
        2. 10.9.2. Scanners
        3. 10.9.3. Multimedia Devices
      10. 10.10. NETWORK COMMUNICATION DEVICES
      11. 10.11. SUMMARY AND REVIEW
      12. 10.12. FOR FURTHER READING
      13. 10.13. KEY CONCEPTS AND TERMS
      14. 10.14. READING REVIEW QUESTIONS
      15. 10.15. EXERCISES
    6. 11. MODERN COMPUTER SYSTEMS
      1. 11.1. INTRODUCTION
      2. 11.2. PUTTING ALL THE PIECES TOGETHER
      3. 11.3. INPUT/OUTPUT SYSTEM ARCHITECTURES
        1. 11.3.1. I/O Bus Architecture
        2. 11.3.2. Channel Architecture
        3. 11.3.3. Blurring the Line
      4. 11.4. COMPUTER INTERCONNECTION: A BRIEF OVERVIEW
      5. 11.5. CLUSTERS
        1. 11.5.1. Overview
        2. 11.5.2. Classification and Configuration
        3. 11.5.3. Beowulf Clusters
      6. 11.6. HIGH-PERFORMANCE COMPUTING
        1. 11.6.1. Grid Computing
      7. 11.7. SUMMARY AND REVIEW
      8. 11.8. FOR FURTHER READING
      9. 11.9. KEY CONCEPTS AND TERMS
      10. 11.10. READING REVIEW QUESTIONS
      11. 11.11. EXERCISES
  7. IV. NETWORKS AND DATA COMMUNICATIONS
    1. 12. NETWORKS AND DATA COMMUNICATIONS
      1. 12.1. INTRODUCTION
      2. 12.2. THE IMPACT OF NETWORKING ON BUSINESS PROCESSES AND USER ACCESS TO KNOWLEDGE AND SERVICES
      3. 12.3. A SIMPLE VIEW OF DATA COMMUNICATIONS
      4. 12.4. BASIC DATA COMMUNICATION CONCEPTS
        1. 12.4.1. Messages
        2. 12.4.2. Packets
        3. 12.4.3. General Channel Characteristics
          1. 12.4.3.1. MEDIUM
          2. 12.4.3.2. DATA TRANSMISSION DIRECTIONALITY
          3. 12.4.3.3. NUMBER OF CONNECTIONS
        4. 12.4.4. Packet Routing
      5. 12.5. TCP/IP, OSI, AND OTHER COMMUNICATION MODELS
        1. 12.5.1. Overview
        2. 12.5.2. The TCP/IP Network Model
          1. 12.5.2.1. APPLICATION LAYER (LAYER 5)
          2. 12.5.2.2. TRANSPORT LAYER (LAYER 4)
          3. 12.5.2.3. Network Layer (layer 3)
          4. 12.5.2.4. DATA LINK LAYER (LAYER 2)
          5. 12.5.2.5. PHYSICAL LAYER (LAYER 1)
        3. 12.5.3. The OSI Network Model
          1. 12.5.3.1. SESSION LAYER
          2. 12.5.3.2. PRESENTATION LAYER
        4. 12.5.4. Addressing
      6. 12.6. TYPES OF NETWORKS
        1. 12.6.1. Network Topology
        2. 12.6.2. Local Area Networks
        3. 12.6.3. Backbone Networks
        4. 12.6.4. Metropolitan Area Networks
        5. 12.6.5. Wide Area Networks (WAN)
        6. 12.6.6. Internet Backbones and the Internet
        7. 12.6.7. Piconets
      7. 12.7. STANDARDS
      8. 12.8. SUMMARY AND REVIEW
      9. 12.9. FOR FURTHER READING
      10. 12.10. KEY CONCEPTS AND TERMS
      11. 12.11. READING REVIEW QUESTIONS
      12. 12.12. EXERCISES
    2. 13. ETHERNET AND TCP/IP NETWORKING
      1. 13.1. INTRODUCTION
      2. 13.2. INTRODUCING THE PROCESS—THE APPLICATION LAYER
      3. 13.3. DOMAIN NAMES AND DNS SERVICES
        1. 13.3.1. Domain Name System Directory Services
      4. 13.4. NEXT STEPS—TCP AND THE TRANSPORT LAYER
      5. 13.5. THE NETWORK LAYER, IP ADDRESSES, AND ARP
        1. 13.5.1. IP Addresses
        2. 13.5.2. Dynamic Host Configuration Protocol (DHCP)
        3. 13.5.3. The Operation of IP
      6. 13.6. THE DATA LINK LAYER
        1. 13.6.1. Hub-Based Ethernet
        2. 13.6.2. Switched Ethernet
      7. 13.7. QUALITY OF SERVICE
      8. 13.8. NETWORK SECURITY
        1. 13.8.1. Physical and Logical Access Restriction
        2. 13.8.2. Encryption
      9. 13.9. ALTERNATIVE PROTOCOLS
        1. 13.9.1. MPLS
        2. 13.9.2. ATM
        3. 13.9.3. SONET/SDH
        4. 13.9.4. Frame Relay
      10. 13.10. SUMMARY AND REVIEW
      11. 13.11. FOR FURTHER READING
      12. 13.12. KEY CONCEPTS AND TERMS
      13. 13.13. READING REVIEW QUESTIONS
      14. 13.14. EXERCISES
    3. 14. COMMUNICATION CHANNEL TECHNOLOGY
      1. 14.1. INTRODUCTION
      2. 14.2. COMMUNICATION CHANNEL TECHNOLOGY
      3. 14.3. THE FUNDAMENTALS OF SIGNALING TECHNOLOGY
        1. 14.3.1. Analog Signaling
        2. 14.3.2. Digital Signaling
        3. 14.3.3. Modems and Codecs
      4. 14.4. TRANSMISSION MEDIA AND SIGNALING METHODS
      5. 14.5. WIRELESS NETWORKING
        1. 14.5.1. Wi-Fi
      6. 14.6. SUMMARY AND REVIEW
      7. 14.7. FOR FURTHER READING
      8. 14.8. KEY CONCEPTS AND TERMS
      9. 14.9. READING REVIEW QUESTIONS
      10. 14.10. EXERCISES
  8. V. THE SOFTWARE COMPUTER
    1. 15. OPERATING SYSTEMS: AN OVERVIEW
      1. 15.1. INTRODUCTION
      2. 15.2. THE BAREBONES COMPUTER SYSTEM
      3. 15.3. THE OPERATING SYSTEMS CONCEPT: AN INTRODUCTION
      4. 15.4. SERVICES AND FACILITIES
        1. 15.4.1. User Interface and Command Execution Services
        2. 15.4.2. File Management
        3. 15.4.3. Input/Output Services
        4. 15.4.4. Process Control Management
        5. 15.4.5. Memory Management
        6. 15.4.6. Scheduling and Dispatch
        7. 15.4.7. Secondary Storage Management
        8. 15.4.8. Network and Communications Support Services
        9. 15.4.9. Security and Protection Services
        10. 15.4.10. System Administration Support
          1. 15.4.10.1. SYSTEM GENERATION
      5. 15.5. ORGANIZATION
      6. 15.6. TYPES OF COMPUTER SYSTEMS
      7. 15.7. SUMMARY AND REVIEW
      8. 15.8. FOR FURTHER READING
      9. 15.9. KEY CONCEPTS AND TERMS
      10. 15.10. READING REVIEW QUESTIONS
      11. 15.11. EXERCISES
    2. 16. THE USER VIEW OF OPERATING SYSTEMS
      1. 16.1. INTRODUCTION
      2. 16.2. PURPOSE OF THE USER INTERFACE
      3. 16.3. USER FUNCTIONS AND PROGRAM SERVICES
        1. 16.3.1. Program Execution
        2. 16.3.2. File Commands
        3. 16.3.3. Disk and Other I/O Device Commands
        4. 16.3.4. Security and Data Integrity Protection
        5. 16.3.5. Interuser Communication and Data Sharing Operations
        6. 16.3.6. System Status Information
        7. 16.3.7. Program Services
      4. 16.4. TYPES OF USER INTERFACE
        1. 16.4.1. The Command Line Interface
        2. 16.4.2. Batch System Commands
        3. 16.4.3. Graphical User Interfaces
        4. 16.4.4. Trade-offs in the User Interface
        5. 16.4.5. Software Considerations
      5. 16.5. X WINDOW AND OTHER GRAPHICS DISPLAY METHODOLOGIES
      6. 16.6. COMMAND AND SCRIPTING LANGUAGES
        1. 16.6.1. The Elements of a Command Language
        2. 16.6.2. The Command Language Start-up Sequence Files
      7. 16.7. SERVICES TO PROGRAMS
      8. 16.8. SUMMARY AND REVIEW
      9. 16.9. FOR FURTHER READING
      10. 16.10. KEY CONCEPTS AND TERMS
      11. 16.11. READING REVIEW QUESTIONS
      12. 16.12. EXERCISES
    3. 17. FILE MANAGEMENT
      1. 17.1. INTRODUCTION
      2. 17.2. THE LOGICAL AND PHYSICAL VIEW OF FILES
      3. 17.3. THE ROLE OF THE FILE MANAGEMENT SYSTEM
      4. 17.4. LOGICAL FILE ACCESS METHODS
        1. 17.4.1. Sequential File Access
        2. 17.4.2. Random Access
        3. 17.4.3. Indexed Access
      5. 17.5. PHYSICAL FILE STORAGE
        1. 17.5.1. Contiguous Storage Allocation
        2. 17.5.2. Noncontiguous Storage Allocation
          1. 17.5.2.1. LINKED ALLOCATION AND THE FILE ALLOCATION TABLE METHOD
        3. 17.5.3. Indexed Allocation
          1. 17.5.3.1. WINDOWS NTFS FILE SYSTEM
        4. 17.5.4. Free Space Management
          1. 17.5.4.1. BITMAP METHOD
          2. 17.5.4.2. LINKED LIST METHOD
        5. 17.5.5. Tape Allocation
        6. 17.5.6. CD, DVD, and Flash Drive Allocation
      6. 17.6. FILE SYSTEMS, VOLUMES, DISKS, PARTITIONS, AND STORAGE POOLS
      7. 17.7. THE DIRECTORY STRUCTURE
        1. 17.7.1. Tree-Structured Directories
        2. 17.7.2. Acyclic-Graph Directories
      8. 17.8. NETWORK FILE ACCESS
      9. 17.9. STORAGE AREA NETWORKS
      10. 17.10. FILE PROTECTION
      11. 17.11. JOURNALING FILE SYSTEMS
      12. 17.12. SUMMARY AND REVIEW
      13. 17.13. FOR FURTHER READING
      14. 17.14. KEY CONCEPTS AND TERMS
      15. 17.15. READING REVIEW QUESTIONS
      16. 17.16. EXERCISES
    4. 18. THE INTERNAL OPERATING SYSTEM
      1. 18.1. INTRODUCTION
      2. 18.2. FUNDAMENTAL OS REQUIREMENTS
        1. 18.2.1. Example: A Simple Multitasking Operating System
      3. 18.3. STARTING THE COMPUTER SYSTEM: THE BOOTSTRAP
      4. 18.4. PROCESSES AND THREADS
        1. 18.4.1. Process Creation
        2. 18.4.2. Process States
        3. 18.4.3. Threads
      5. 18.5. BASIC LOADING AND EXECUTION OPERATIONS
      6. 18.6. CPU SCHEDULING AND DISPATCHING
        1. 18.6.1. High-Level Scheduler
        2. 18.6.2. Dispatching
        3. 18.6.3. Nonpreemptive Dispatch Algorithms
          1. 18.6.3.1. FIRST-IN, FIRST-OUT
          2. 18.6.3.2. SHORTEST JOB FIRST
          3. 18.6.3.3. PRIORITY SCHEDULING
        4. 18.6.4. Preemptive Dispatch Algorithms
          1. 18.6.4.1. ROUND ROBIN
          2. 18.6.4.2. MULTILEVEL FEEDBACK QUEUES
          3. 18.6.4.3. DYNAMIC PRIORITY SCHEDULING
      7. 18.7. MEMORY MANAGEMENT
        1. 18.7.1. Memory Partitioning
      8. 18.8. VIRTUAL STORAGE
        1. 18.8.1. Overview
        2. 18.8.2. Pages and Frames
        3. 18.8.3. The Concept of Virtual Storage
        4. 18.8.4. Page Faults
        5. 18.8.5. Working Sets and the Concept of Locality
        6. 18.8.6. Page Sharing
        7. 18.8.7. Page Replacement Algorithms
          1. 18.8.7.1. FIRST-IN, FIRST-OUT PAGE REPLACEMENT
          2. 18.8.7.2. LEAST RECENTLY USED PAGE REPLACEMENT
          3. 18.8.7.3. LEAST FREQUENTLY USED PAGE REPLACEMENT
          4. 18.8.7.4. NOT USED RECENTLY PAGE REPLACEMENT
          5. 18.8.7.5. SECOND CHANCE PAGE REPLACEMENT ALGORITHMS
        8. 18.8.8. Thrashing
        9. 18.8.9. Page Table Implementation
        10. 18.8.10. Segmentation
        11. 18.8.11. Process Separation
      9. 18.9. SECONDARY STORAGE SCHEDULING
        1. 18.9.1. First-Come, First-Served Scheduling
        2. 18.9.2. Shortest Distance First Scheduling
        3. 18.9.3. Scan Scheduling
        4. 18.9.4. N-STEP C-SCAN Scheduling
      10. 18.10. NETWORK OPERATING SYSTEM SERVICES
        1. 18.10.1. OS Protocol Support and Other Services
      11. 18.11. OTHER OPERATING SYSTEM ISSUES
        1. 18.11.1. Deadlock
        2. 18.11.2. Other Issues
      12. 18.12. VIRTUAL MACHINES
      13. 18.13. SUMMARY AND REVIEW
      14. 18.14. FOR FURTHER READING
      15. 18.15. KEY CONCEPTS AND TERMS
      16. 18.16. READING REVIEW QUESTIONS
      17. 18.17. EXERCISES
  9. BIBLIOGRAPHY
    1. A
    2. B
    3. C
    4. D
    5. E
    6. F
    7. G
    8. H
    9. I
    10. J
    11. K
    12. L
    13. M
    14. N
    15. P
    16. Q
    17. R
    18. S
    19. T
    20. U
    21. V
    22. W
    23. Y