Subject: Re: RL01 support in NetBSD?
To: Megan <mbg@world.std.com>
From: Johnny Billquist <bqt@Update.UU.SE>
List: port-vax
Date: 02/19/2000 18:05:06
On Sat, 19 Feb 2000, Megan wrote:
> >. You can only have one file open for writing on the disk at the same
> > time.
>
> Not at all true... When you create a file for the first time, you specify
> the size you need. This can be
> 1) A specific size
> 2) The largest continguous space
> 3) 1/2 the largest, or the second largest (whichever is larger)
>
> If you attempt to write beyond the end of the space allocated, you get
> an EOF indication. Most of the utilities have the capability of having
> multiple files open for writing at one time -- how else would you expect
> MACRO to produce an OBJ file and a LST file at the same time, and for
> LINK to produce a SAV, MAP and symbol table file.
Well Megan. I can see you haven't played around with OS/8. :-)
MACREL there has just this problem. Actually, the solution is simple. You
do several passes, doing one thing each pass. Pass 1: Generate symbol
table. Pass 2: Output object file. Pass 3: Generate list file. Pass 4:
Cross reference.
But I can see that RT-11 is an improvement over OS/8 here. (And John
Wilson also pointed this out).
> When you close the file, it closes to the highest block number actually
> written. If you want to *extend* a file, you have to go through some
> real gyrations.
OS/8 don't support extending files. You might fix it by fiddling with the
directory block yourself, if you have an empty slot after your file.
> >. The directory is a few blocks at the beginning of the disk.
>
> True. Directory begins in block 6 of the disk, and extends to no more
> than block 67. Directory segments (which contain directory entries)
> are two blocks long each. So the first segment is blocks 6/7. You
> can have up to 31 segments. Other than the primary directory segment,
> blocks 6/7, other directory segments can be used in any order, and so
> they are a linked list. Each used segment points to the next one in
> the list. Last has a null pointer.
Sounds very much like OS/8 here. But if you have a bootable system, the
first directory block is at 60 instead of 7. (Might remember the block
numbers wrong, however...)
Johnny
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt@update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol