Operating System Design: Volume II

Internetworking with XINU

Douglas Comer

Publisher: Prentice Hall, 1987, 567 pages

ISBN: 0-13-637414-X

Keywords: Networks, Operating Systems, Programming

Last modified: April 11, 2021, 10:33 p.m.

Written as a continuation of Operating System Design — The XINU Approach, this book focuses on the key abstraction in communication system design: internetworking. Internetworking provides an architectural framework for building communication systems and a basis for making software design decisions. It forms a central perspective around which each piece of network software fits.

Among its features, the book:

  • covers the basics of internet communication
  • explores components of internet protocol software and explains how each component fits into the overall system design
  • details the ethernet technology
  • examines the internet concept, address resolution, internet datagrams, routing, control messages, user datagrams, and datagram demultiplexing
  • builds on the basic communication system, examining client-server interaction and remote file access
  • includes a user interface and commands that manipulate both local and remote files.
  1. Introduction and Overview
    1. Introduction
    2. Internetworking
    3. Design Methodology
    4. Goals
    5. A Target System
    6. User Interface
    7. Internetwork Communication
    8. Design Plan
    9. Summary
  2. An Overview of Network Hardware
    1. Introduction
    2. Two Approaches To Network Communication
    3. Long-Haul And Local-Area Networks
    4. Ethernet Packet-Switched Network Technology
    5. Properties Of An Ethernet
    6. Collision Detection And Recovery
    7. Ethernet Capacity
    8. Ethernet Capacity
    9. Ethernet Addresses
    10. Ethernet Frame Format
    11. DEQNA Ethernet Interface
    12. Format Of DEQNA Command Lists
    13. Summary
  3. Physical Transport
    1. Introduction
    2. Blocks and Frames
    3. An Example Implementation Using Xinu
    4. Ethernet Definitions
    5. Frame Format In Memory
    6. The Ethernet Frame Type
    7. Ethernet Device Control Block
    8. Upper-Half Input Routine
    9. Upper-Half Output Routine
    10. The Lower-Half Routines
    11. Device And Driver Initialization
    12. Ethernet Device Driver Configuration
    13. Summary
  4. Internetworking
    1. Introduction
    2. Why An Internet?
    3. The DARPA Internet
    4. Network Byte Order
    5. Computing A Network Address
    6. The Unanswered Questions
    7. Summary
  5. Address Determination at Boot Time
    1. Introduction
    2. A Mechanism For Timing Responses
    3. Reverse Address Resolution Protocol (RARP)
    4. Summary
  6. Address Resolution at Run Time
    1. Introduction
    2. ARP: An Address Resolution Protocol
    3. ARP Implementation
    4. ARP And RARP Initialization
    5. Summary
  7. The Internet Protocol and Routing
    1. Introduction
    2. A Virtual Network
    3. Internet Datagram
    4. Sending An IP Datagram
    5. Routing
    6. Summary
  8. Internet Control Messages
    1. Introduction
    2. Extranormal Communication
    3. Internet Control Message Protocol
    4. An Implementation Of ICMP
    5. Summary
  9. User Datagram Protocol
    1. Introduction
    2. Identifying The Ultimate Destination
    3. The Important Concept Of Unreliable Delivery
    4. DARPA User Datagram Protocols
    5. Summary
  10. Network Input and Protocol Demultiplexing
    1. Introduction
    2. A Network Input Process
    3. Demultiplexing
    4. Implementation Of The Network Input Process
    5. The Details Of Datagram Multiplexing
    6. The Needed Interface
    7. Summary
  11. Device Interface for Datagram Communication
    1. Datagram Interface And Copying
    2. Data Or Datagram Oriented User Interface
    3. Datagram Pseudo-Device Interface
    4. Datagram Pseudo-Device Implementation
    5. Datagram Pseudo-Device Interface Configuration
    6. Summary
  12. The Client-Server Interaction Paradigm
    1. Introduction
    2. The Client-Server Model
    3. EDP Echo Server
    4. Echo Server Implementation
    5. Time And Date Service
    6. RARP Client
    7. The ICMP Echo Server And Client-Server Model
    8. Alternatives To The Client-Server Model
    9. A Machine Status Service
    10. Implementation Of The Machine Status Service
    11. Summary
  13. A Stateless File Server
    1. Introduction
    2. Remote Files Vs. Remote Disks
    3. The Property Of Statelessness In Servers
    4. Statelessness In A File Server
    5. File Requests And Responses
    6. Efficient, Stateless File Access
    7. UNIX Implementation Of A File Server
    8. Handlers For File Operations
    9. Server Initialization
    10. Summary
  14. Remote File Access
    1. Introduction
    2. Remote File Pseudo-Devices
    3. Maintaining State Information
    4. Remote File Pseudo-Device Support Routines
    5. Composing Request Packets
    6. A Universal Remote I/O Routine
    7. Opening A Remote File
    8. Closing A Remote File
    9. Reading From A Remote File
    10. Writing From A Remote File
    11. Single Character Transfer Operations
    12. Seeking In A Remote File
    13. Operations On Remote Files
    14. Remote File Device Initialization
    15. Remote File Pseudo-Device Configuration
    16. Summary
  15. A Syntactic Namespace
    1. Introduction
    2. The Problem With File Names
    3. Naming System Design Alternatives
    4. A Syntactic Namespace
    5. Patterns And Replacement
    6. Prefix Patterns
    7. Implementation Of A Simple Syntactic Namespace
    8. Choosing Initial Prefix Mappings
    9. Additional File Manipulation Commands
    10. Advantages Of The Namespace Approach
    11. The Limits Of Fixed Prefix Patterns
    12. Generalized Patterns
    13. Configuring The Namespace Pseudo-Device
    14. Summary
  16. User Interface Design
    1. Introduction
    2. What Is A User Interface?
    3. The Definition Of Goodness
    4. What We Seek
    5. Interface Hardware
    6. The Two-Tier Interface Model
    7. Syntactic Flexibility
    8. Semantic Features And Issues
    9. Syntactic Features And Issues
    10. Modifying The Syntactic Interface
    11. Summary
  17. An Example User Interface: The XINU Shell
    1. Introduction
    2. The Assumed Interface Hardware
    3. A Basic Design Decision
    4. Overview Of Shell Organization And Operation
    5. Imperative Vs. Interrogative Interaction Form
    6. Command Syntax
    7. Shell Syntax
    8. Implementation Of The Xinu Shell
    9. Summary
  18. An Example Set Of Shell Commands
    1. Introduction
    2. Command And Procedure Names
    3. Types Of Commands
    4. Command Implementation
    5. General Information Commands
    6. System Information Commands
    7. Computational Commands
    8. Summary
  19. Resolving High-Level Machine Names
    1. Introduction
    2. Naming Machines
    3. Flat Namespace
    4. Hierarchical Names
    5. Distributed Hierarchical Namespace
    6. Subset Authority
    7. Nameservers
    8. Efficient Distributed Name Resolution
    9. Name Abbreviation
    10. The DARPA Domain Name System
    11. Domain Nameservers
    12. DARPA Domain Name Resolution
    13. Pointer Queries And Inverse Mappings
    14. Example Domain Name Resolution Software
    15. Compressed Name Format
    16. Mapping An Internet Address To A Domain Name
    17. Obtaining A Machine Name
    18. Summary
  20. Higher-Level Protocols
    1. Introduction
    2. Reliable End-to-End Communication
    3. The DARPA Transmission Control Protocol (TCP)
    4. Remote Interactive Computing
    5. DARPA TELNET Protocol
    6. 4.2 UNIX Rlogin
    7. File Transport
    8. DARPA File Transport Protocol (FTP)
    9. Mail Transport Protocols
    10. DARPA Simplified Mail Transport Protocol (SMTP)
    11. Protocol Dependencies
    12. Summary
  • Appendix 1: Differences Between Xinu Versions 6 and 7
  • Appendix 2: Xinu Programmer's Manual
    • Cross-Development Commands
    • System Calls
    • Library Procedures
    • Device Descriptions
  • Appendix 3: Summary of Protocol Formats
    • DARPA ARP and RARP Protocol Format
    • Ethernet Link-Level Protocol Format
    • Xinu Ethernet Downloader (ELOAD) Protocol Format
    • Xinu File Server (FS) Protocol Format
    • DARPA ICMP Protocol Format
    • DARPA IP Protocol Format
    • Xinu PURPLE Downloading Protocol Format
    • DARPA UDP Protocol Format

Reviews

Operating System Design: Volume II

Reviewed by Roland Buresund

Very Good ******** (8 out of 10)

Last modified: May 21, 2007, 3:16 a.m.

Add networking to an already excellent student tool.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required