[Simh] porting RL01 images to RL02
Mark Pizzolato
Mark at infocomm.com
Tue Feb 7 04:28:50 EST 2017
On Monday, February 6, 2017 at 1:11 PM, Paul Koning wrote:
> > On Feb 5, 2017, at 6:25 PM, Paul Koning <paulkoning at comcast.net> wrote:
> >
> >
> >> On Feb 5, 2017, at 3:31 PM, Mark Pizzolato <Mark at infocomm.com> wrote:
> >>
> >> ...
> >>
> >> So, I'd like to expand the set of file system types that the auto
> >> sizing logic can perform to include RSTS disks and whatever might be
> >> commonly used with RSX and RT11.
>
> A possible complication with RSTS: I can't find the precise device size because
> that isn't stored anywhere in the file structure. What I can find is the size
> rounded up to the next multiple of 4096 times the cluster size (from the free
> space bitmap size in blocks, since each bit represents a free cluster). I can also
> find a lower bound, from the end of the last free cluster in the bitmap. But if
> some of the space at the end of the pack is in use -- not all that common but
> certainly possible -- then that doesn't help.
Well, what you can do would actually be fine. If the disk size was limited to
the furthest place user program data could be written in the file system, then
the problem would be solved. If someone using a 3.x simh version actually wrote
beyond that, then the size would already be reflected in the container's size
which would then be larger. The problem this is really solving is the one when
we were limited to determining the size of the disk by the size of the container
which might not have been completely written to.
If auto sizing restricted the disk to be the largest space the file system describes,
then no useful activities would write beyond there and the exact disk model
wouldn't be important. Right? This whole activity is to support correct simulator
behavior when using a disk container created with a 3.x simulator. All RP and RQ
disks created with the 4.x code will write the first and the last blocks in a newly
created disk. The comments around the code that does this says:
On a newly created disk, we write a zero sector to the last and the
first sectors. This serves 3 purposes:
1) it avoids strange allocation delays writing newly allocated
storage at the end of the disk during simulator operation
2) it allocates storage for the whole disk at creation time to
avoid strange failures which may happen during simulator execution
if the containing disk is full
3) it leaves a Simh Format disk at the intended size so it may
subsequently be autosized with the correct size.
- Mark
More information about the Simh
mailing list