RT-11 has a flat directory structure. So all your files (operating system, applications, data etc) are stored in that one directory. On a large hard drive, you can literally end up with hundreds of files, all stored in the one directory. This of course can make it quite difficult to find your files, and to remember what a particular file was for.
Fortunately RT-11 supports virtual disks. RT-11 calls these “Logical Disks” (or LDs). I’m not sure when LDs were first introduced into RT-11, but they are definitely supported in V5.3.
A Logical Disk consists of a “.dsk” file stored in the main RT-11 directory. Once the LD has been CREATE’d, MOUNT’ed and INITIALIZE’d you can access it by its Logical Disk device name (eg – LD0:, LD1:, etc). Logical Disks are persistent – they will automatically be mounted again when you reboot, unless you DISMOUNT them manually.
Creating a Logical Disk
The example below shows how to create, initialize and mount a Logical Disk on drive DU0 in RT-11 V5.3, with a size of 5000 blocks:
.CREATE DU0:MYLD.DSK ⤶ .MOUNT LD0 DU0:MYLD.DSK ⤶ .INIT LD0: ⤶ LD0:/Initialize; Are you sure? Y ⤶ .DIR LD0: ⤶ 0 Files, 0 Blocks 4962 Free blocks .
That’s all there is to it!
You can now access and use device LD0: as if it was a separate physical drive.
Slightly more advanced stuff
We can use the SHOW SUBSET command to view the list of currently mounted Logical Disks:
.SHOW SUBSET ⤶ LD0 is DU0:MYLD.DSK[5000.] .
Logical Disks can also be nested by creating Logical Disks inside a Logical Disk. Examples are provided in Chapter 9 of DEC’s Introduction to RT-11 manual (see link below).
We use the DISMOUNT command to unmount a Logical Drive:
.DISMOUNT LD0: ⤶ .SHOW SUBSET ⤶ No LD units mounted .
Once a LD has been DISMOUNT’d, it will not automatically MOUNT when you reboot.
Bu default, Logical Disks are INITIALIZE’d with 4 directory segments. If your LD is going to house lots of files, you may want more. This is how you do it (the dialog below assumes you have already CREATE’d the “.dsk” file):
.MOUNT LD0: MYLD.DSK ⤶ .INITIALIZE/SEGMENTS:30 LD0: ⤶ LD0:/Initialize; Are you sure? Y ⤶ .DIR LD0: ⤶ 0 Files, 0 Blocks 4934 Free blocks .
If you DISMOUNT the primary Logical Disk without first DISMOUNT’ing any nested Logical Disks, you may need to issue this command to clean things up:
.SET LD CLEAN ⤶ .
The primary reference for Logical Disks is Chapter 9 of DEC’s Introduction to RT-11 (Order Number AA-5281E-TC). This particular document relates to RT-11 V5.6, but most of it appears to equally apply to V5.3.
There are several prominent posts on the web that provide information about the use of RT-11 Logical Disks. One example is a post by Ed Kelleher in this thread.