1. Review and Introduction
1.1. O/S Code Structure
1.2. XINU Code Structure
1.3. Application View of the O/S
2. Processes - Introduction
2.1. XINU Process Creation Primitives
2.2. Stacks and Processes
2.3. Introduction to XINU Process Synchronization
3. Process Memory Organization
3.1. Contents of the Execution Stack
4. Talking to Devices - An Introduction to Busses
4.1. The PDP-11 Bus
4.2. Bus Architecture for the PC
5. Hardware Interrupt Generation and Acknowledgement
5.1. Hardware Interrupt Generation and Acknowledgement - Part 2
5.2. Hardware Interrupt Generation and Acknowledgement - Points Raised
6. Exceptions and Traps
7. Polled I/O
8. Issuing Commands to Devices - Introduction
8.1. Memory-Mapped Control
8.2. Control via Special Instructions
8.3. Transferring Data To and From Devices - Introduction
8.4. Talking to Devices - Summary and Review
9. Device Examples - Introduction
9.1. Serial Line Unit Example
9.1.1. Sending a Character
9.1.2. Receiving a Character
9.2. Disk Device - Overview
9.2.1. Making a Request of a Disk
10. List Processing in Xinu
10.1. Layout of XINU Lists
10.2. Storage Management for XINU Lists
10.3. List Manipulation Routines in XINU
11. Scheduling and Context Switching in XINU - Introduction
11.1. The XINU PCB
11.2. Selecting the Next Ready Process
11.3. The NULL Process
11.4. The Resched and Ready Routines
12. Process Management in XINU - Introduction
12.1. System Call Basics
12.2. System Calls in XINU - overview
12.3. Process Management System Calls in XINU
13. Process Coordination in XINU - Introduction
13.1. Synchronization Within The Kernel - Introduction
13.1.1. Disabling Interrupts
13.1.2. Test and Set
13.2. Application Synchronization Via Semaphores
14. Message Passing - Introduction
14.1. Message Passing in General
14.2. Message Passing Routines - Semantics
14.3. Message Passing Routines - Implementation
15. Memory Management - Introduction
15.1. Memory Allocation Routines
15.2. Implementation - Overview
15.2.1. Heap Storage
15.2.2. Stack Storage
16. Low Level Interrupt Processing - Introduction
16.1. The Two Halves in XINU Interupt Processing
16.2. The Low-Level Interrupt Routines in XINU
16.3. Knowing the Source of the Interrupt
16.4. Final Words about ISRs
17. XINU Clock Management - Introduction
17.1. Clock Hardware
17.2. Slowing the Clock
17.3. Putting Processes to Sleep
17.4. Deferring Clock Processing
17.5. The Clock ISR
18. TTY Driver - Introduction and Organization
18.1. Upper and Lower Half Interaction
18.2. TTY Control Block
18.2.1. TTY Control Routine
18.3. Upper Half Routines
18.4. Lower Half Output Processing
18.5. Lower Half Input Processing
19. XINU File System - Introduction
19.1. File Organization
19.1.1. Directory Entry Contents
19.1.2. Index Blocks
19.1.3. Data Blocks
19.2. Operations on Index Blocks
19.3. File I/O Routines

[Home]
1