The A-Shell directory structure is made up of the following components:
• device name and unit number, such as "DSK0"
• a pair of three-digit numbers, known as an PPN (inspired by the idea of a Project and Programmer Number), such as "1,4" or "923,255."
Device names and unit numbers correspond historically to physical devices and partitions within each device. For example, a system might have two different types of physical disks, named DSK and DKX, each of which was divided into 3 partitions, e.g. DSK0, DSK1, DSK2 and DKX0, DKX1, and DKX2. The device name may be either three or four alphabetic characters long, while the unit number may be one to three digits, with an overall limit of six characters. So DSK123 and BACK27 are legal names, while DZ1234 and WACKY1 are not. In the A-Shell environment, each of these device-unit pairs is mapped to an actual directory in the native file system; see the DEVICE statement in the MIAME.INI, the system initialization file. For example:
DEVICE Statement |
Effect |
DEVICE=DSK0: %MIAME%\DSK0\ |
A-Shell DSK0: maps to %MIAME%\DSK0\ (Windows) |
DEVICE=DSK1: /u1/miame/app/ |
A-Shell DSK1: maps to /u1/miame/app (UNIX) |
Note that the device names are normally terminated with a colon, and do not have to match the names of the directories to which they are mapped.
Within each device and unit number, there is an implicit mapping of PPNs to physical directories with six-digit names. Assuming the device mappings given above, we might have:
Physical Directory |
PPN |
C:\VM\MIAME\DSK0\001004 |
DSK0:1,4 |
C:\VM\MIAME\DSK0\100222 |
DSK0:100,222 |
/u1/miame/app/333111 |
DSK1:300,111 |
Note that PPNs may be enclosed in brackets, e.g. DSK1:[300,111]. This is optional if the PPN is by itself or proceeded by just a device, but mandatory when preceded by a filename, e.g. DSK0:SYSTAT.LIT[1,4].
While PPNs are normally implicit, i.e. any six-digit directory beneath a directory mapped to an A-Shell device will be accessible as a PPN, it is also possible to define A-Shell device+PPN combos that map to a specific arbitrary directory, e.g.
DEVICE=DOC0:[1,1] c:\users\%USERNAME%\documents\
The above definition would make the A-Shell device-PPN DOC0:[1,1] equivalent to the Windows Documents directory for the current user.
Device names have no special meaning, except for DSK0, which has 3 special directories that must exist as they are hard-coded into the search path.
PPN |
Effect |
DSK0:1,4 |
contains the system command programs, as well as certain configuration files |
DSK0:2,2 |
contains CMD and DO files (analogous to Windows BAT files or UNIX shell scripts) |
DSK0:7,6 |
default location for programs and subroutines |