Some PDP-11 info (was Re: C compilers for RSTS/E?)

From: Jerome H. Fine <jhfinexgs2_at_compsys.to>
Date: Sat Oct 23 18:14:27 2004

> Ed Kelleher wrote:

> >At 11:12 PM 10/22/2004, Graham wrote:
>
>> I think RT-11 had version numbers (in the style of VMS)
>> [Snip]
>
> Though my wife likes RT11,
> [Snip]

Jerome Fine replies:

I am not sure if that is a benefit. Since my wife used to
refer to the terminals for the PDP-11 systems (VT100,
etc.) as the actual computers and could not even tell
or understand what a hard disk drive was, there was
obviously no meeting of the minds as far as work was
concerned.

BUT, when we met and were married (1957) BEFORE
any real computers were widely known and understood,
neither of us could even recognize a computer.

I did not meet my first computer until about 1958 at an
insurance company during a summer job.

> RT11 file structure didn't have version numbers.
> Didn't even keep time of creation, just a single date.
> No attributes either, except RO in later versions.
> Just 1 directory for entire disk.

Probably a BRIEF outline of RT-11 file structures:
(a) Home block in block 1 which contains non-essential Volume ID.
(b) Directory segments of 2 blocks each (maximum of 31) start in block 6
(c) First 5 words of each directory segment:
- Maximum number of directory segments
- Next directory segment number (0 if end of chain)
- Highest number of directory segments
- Extra number of bytes for each directory entry
- Start block number of directory entries for THIS directory segment
(d) Standard file entries contain 7 words
- Status word for the directory entry
- 3 words of Radix50 (2 for file name, 1 for file type)
- Number of blocks for this directory entry (0 to 65535 blocks)
- Spare word used for a Tentative File Entry
- word for Creation Date

Agreed that version numbers were NOT possible
ONLY File Creation Date (NO File Creation Time), let alone
other file parameters
Files could be PROTECTED against being DELETED; DEC
NEVER had code to allow files to be RO (Read ONLY). The
RT-11 command:
[UN]PROTECT FOOBAR

TSX-PLUS used the extra word as the (Creation Time/3) for
each file in seconds/3 AFTER the file was made permanent.

The extra bytes allowed for each file entry can be used to hold
any data for each file such as Reference Date/Time, Modification
Date/Time, Backup Date/Time. Some privately used systems
have a modified USR which supports such enhancements.

Starting with V05.00 in 1983, DEC supported the LD(X).SYS
device drivers (Logical Disks) which allowed the RT-11 command:
MOUNT LDn: DEV:FOOBAR.DSK
after which LDn: could be used as a normal data disk, including
having its own file directory. Thus, the single file directory for
the primary physical hard disk drive (maximum size of 65536 blocks)
can hold hundreds (normally only a dozen at most) of files which
can also be used a logical devices (normally 8 at one time - can
be extended to 64 at one time with a SYSGEN).

> There were a few words available in each directory file entry for user
> applications.

These words were NOT supported by DEC. I understand
that Dibol programs may have used them. Does your wife
remember and if so, how were they used?

> Big thing: files had to be contiguous.

YES - that aspect was a bit inconvenient, but not really
difficult. The big problem was that a file could NOT
be expanded in size unless the space immediately
following the file was empty and had the number of
blocks that were required.

> As files were deleted they made free spaces.

This almost never caused a problem. It was what RT-11
users expected, if they even thought about it at all.

> New files could only be as large as the largest free space on a disk.

This was a problem at times, especially for those RT-11
users who did not pay attention to fragmentation in the
disk space.

> Had to compress (squeeze) the file structure periodically to
> consolidate all the free spaces.

NOT a problem at all if the users were aware of the problem.
HOWEVER, for myself, I would ALWAYS make a backup
copy of a hard disk before doing this since any failure would be
catastrophic. But most RT-11 users ignored the possibility and on
rare occasions lost many files.

> My wife, before we were married, used that to set the hook in me.

What did she do??????

> She was a Dibol programmer who had graduated from programming on a PDP
> 8/A to a PDP 11/34.
> I was the geek upstairs building M6800 tape readers and programming
> them with the ASR33.

By the time I worked on a PDP-11/34 in 1979, my wife and I
had been married for 22 years and I was no longer the geek.

> No command language in those days, RT11 V2c was strictly command line.
> Dibol compiler had a /S switch to suppress data division summary in
> source listing.
> PIP /S was used to squeeze the disk.

Anyone who can type quickly does not have a problem.
The commands are a bit stark, but no more difficult to
remember than DCL (DEC COMMAND LANGUAGE).

Why was the /S switch important in Dibol?????

These days, the equivalent command for DUP stops the
user from using the <CTRL/C> until the squeeze is finished.

> Dibol would let you use ^C to stop the program and source listing.
> That was accepted practice.
> PIP would let you use ^C to abort it in the middle of rewriting your
> disk directory.
> That was definitely NOT good practice.

Actually, the <CTRL/C> (^C) is part of RT-11. The
program can disable the feature when it requests to
do so (providing the user does not crash RT-11 during
a window when RT-11 is vulnerable due to an RT-11 bug).
If the <CTRL/C> is enabled, then RT-11 kills execution.
As stated above, DUP (which now performs the squeeze)
has <CTRL/C> DISABLED while the squeeze is in progress.

> Girl comes crying into room, "I did PIP/S and not DICOMP/S and ^C'd
> and I've lost all my work!!!".
> (Don't you just love it when they talk like that!)
> Geek boy helps pretty programmer recover data, gets big kiss, etc. etc.
>
> Yup, RT11 was definitely useful despite it's limitations.
> I doubt she'd have hung around long enough for us to meet if she'd had
> to work on a MUSS of lmp rats GUTS.

While I agree that early RT-11 systems had severe
limitations, eventually RT-11 evolved into a rich
operating system, especially when TSX-PLUS became
available (actually a complete rewrite of the
resident portion of the operating system by S&H)
which supported multi-job and even multi-task usage.
It was actually called a poor man's VMS since even
security was very strong for the early 1980s.

Sincerely yours,

Jerome Fine
--
If you attempted to send a reply and the original e-mail
address has been discontinued due a high volume of junk
e-mail, then the semi-permanent e-mail address can be
obtained by replacing the four characters preceding the
'at' with the four digits of the current year.
Received on Sat Oct 23 2004 - 18:14:27 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:37:23 BST