Sean 'Captain Napalm' Conner wrote:
The biggest
problem that I see here is that Bob wants to be able to use
this OS on systems that have as little as 16k words but still use LARGE
modern drives. I'm not sure that's practicle without a lot of wasting a lot
of drive space. But I frankly don't think wastage is a problem. There's
simply not a lot of software for this OS and I don't think we'd ever use
more than a tiny fraction of the drive. Therefore my vote ould be for
program size, speed and drive space effientcy in that order.
So what about the archiving file system I outlined? Files are stored
contiguously, and if you want to append to a file, it's copied to the end of
the used space, given a new time stamp, and it goes from there?
One plan we are looking at does basically this same thing.
Files will be allocated a fixed ammount of space, similar to a track per
file as in Northstar DOS.
A file can be smaller that its allocated space, and grow. If the file
needs to be larger than its allocated
space, it moves to the end of the disk, and a second file is created as
an 'extent' to the first file.
Files are always linear, so the HP DCPC control code remains simple.
-spc (And if you don't want to set aside a fix amount for the master
directory, have the directory at one end of the drive, and pull
the free space from the other end, where they would meet in
the middle ... )
A directory of logical volumes on disk can be held in the last directory
entry of the 'boot' file system. All
DOS disk calculations within a volume are relative to the directory
block, so be changing one disk address
value and treating logical volumes as 'directories'. Actually each
'directory' is its own file system.
This way large volumes can support subdirectory-like functionality, and
the same exact code is used to
support disks from 2.5 mb up to 8 gb.
I think people had to think their software designs through more
carefully when they only has 32K. Now that
a machine with 32 meg is frowned upon, file systems have become a very
different thing in terms of implementation.