! RUNOFF TEXT FILE FOR XD .PS 60,73;.LM 5;.RM 73 .UC;.DATE .c;^&AN RT11 VIRTUAL-DEVICE DRIVER\& .S 2; This is an implementation of the virtual-device driver described by Crapuchettes on page 639 of the DECUS proceedings Fall 1980. .s The Virtual-device driver is an RT11 device driver which allows an RT11 file to be accessed as a separate device. This may be found useful in one or more instances: .s 1)In the situation where the directory of a device has become very large, say more than five hundred entries, keeping track of files becomes very tedious and access by the computer becomes slowed. This situation may be relieved by distributing some of the files into one or more virtual-device files on the main device. .br 2)Backing up a large device onto a smaller device may be made easier if the larger device is divided into virtual-devices whose size equals that of the smaller device. .br 3)Files produced by the COPY/DEVICE/FILE operation may be accessed as devices. .br 4)Multiple copies of files with the same name may exist on one physical device if they are in different virtual devices. This may be particularly useful if several people are using the same physical device for unrelated tasks. .s 2;.c ^&METHOD OF USE\& .s 2 1)A one word patch is made to SY:DUP.SAV to tell it that the virtual-device XD: is a Multi-size volume device. .br 2)The virtual-device handler XD.SYS is made resident using LOA XD. .br 3)A virtual-device file is created using the CREATE command or by the COPY/DEVICE/FILE command. .br 4)The utility program XDATCH.SAV is run to associate the virtual-device file with a selected unit of the virtual-device. .br 5)The virtual-device is accessed in exactly the same way as any other RT11 device. .br Obviously, step 1) above need only be executed once. Step 2) must be executed whenever RT11 is bootstrapped. .s 2 .c;^&EXAMPLE\& .s;The following RT11 command creates a file on a hard disk containing the image of a standard RX01 floppy disk: .br;COPY/DEVICE/FILE/NOQ DX: RK0:FLOP1.DEV .br;The following dialog attaches this file as the virtual-device XD0: .br;LOA XD .br;R XDATCH .br;*RK0:FLOP1.DEV=XD0: .br;_^C .br;Now XD0: is a virtual-device which behaves in every respect as the floppy disk. For example, DIR XD0: will generate a directory listing. The virtual- device can be squeezed, initialized and used in COPY/DEVICE operations e.g. the command COPY/DEV/NOQ#XD0:#DX: will re-write the floppy disk from the virtual-device image. .s 2;.c;^&OTHER FEATURES\& .s 2;As well as attatching a virtual-device file, XDATCH has two options: .s;1)The name of the file currently attatched to a particular virtual-device unit may be requested with the /Q switch: .br;R XDATCH .br;*XD0:/Q .br;will produce the response: .br;UNIT ASSIGNED TO RK0:FLOP1.DEV .br;2)A file may be de-attatched from a virtual-device unit by specifying the /D switch: .br;R XDATCH .BR;XD0:/D .br;will remove the assignment for XD0: .s 2;.c;^&NOTES\& .s;1)Up to 8 virtual-devices may be assigned; XD0:-XD7: .br;2)The location and size of a virtual-device file is stored within the XD driver. Thus chaos will result if the device on which a virtual-device is currently attatched is squeezed. Similarly, if a currently attatched virtual-device file is deleted, the driver will continue to use the space which the file occupied. If this space is re-allocated by RT11, chaos results. There is no way that the virtual-device system can tell that one of its files has gone. Thus: ^&ATTATCHED VIRTUAL-DEVICE FILES MUST NOT BE MOVED OR DELETED\&. .br;3)The sequence UNLOAD XD, LOAD XD brings in a fresh copy of the virtual- device driver and all previous attatchments are forgotten. .br;4)The command files XD.COM and XDATCH.COM build the driver and utility program respectively. The following patch to DUP for V4 RT11 is required so that a virtual-device may be initialized or squeezed correctly: .br;R SIPP .br;SY:DUP.SAV .br;1, 30, 10223 .br;377, ^Y .br;_^C