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