NASD Programmer's Documentation

NASD Programmer's Documentation


Overview

This document is intended to familiarize programmers with the NASD programming environment. It assumes that the reader has a working knowledge of the C language.

Topics

*Structure of the NASD tree
*Compiling NASD
Also:
*Compiling NASD into the dux kernel
*Running NASD
*Running the drive
*Running programs in tests/
*Running the NASD-NFS filemanager
*Running NASD-NFS clients
*General NASD programming
*Overview
*Basic types
*Output
*Results and errors
*Modules
*Threads
*Thread groups
*Memory
*Freelists
*Time
*Timing (measuring elapsed time)
*Delays
*Timeouts
*Shutdown lists
*Other system wrappers
*Client programming
*Overview
*Drive handles
*Drive operation calling convention
*Drive operations
*Drive programming
*Structure of the drive
*Transport
*Physical layout
*Types
*Inodes
*In-core extents
*Cache
*Changing physical refcounts
*Mapping
#Layout
#I/O queueing
#I/O modules
#Object interface
#Control objects
#Tracing
*Cheops
#Overview
*Porting and extending
*Adding subdirectories to NASD
*Adding modules
*Adding marshalled types
*Adding RPCs
#Adding control objects
*Implementation notes
*Digital Unix
*Linux
*VxWorks