Fred Cisin wrote:
On Sun, 27 Jul 2003, Bob Shannon wrote:
Just how much code does this take, and where can I
find source?
MS-DOS 1.0 needed 16K of RAM.
Full description, but NOT source code, is in the appendix of the MS/PC-DOS
manuals from 1.0 - 2.00. After that, there was an appendectomy, and the
appendix (still with "appendix #" page numbers) was sold separately as the
DOS Technical Reference Manual.
Are you using an 8086 family processor?
There are a number of commercially available packages with source for an
OS, such as Caldera Open-DOS (formerly DR-DOS, formerly CCP/M, etc.)
Now, WHAT are you trying to do?
Err, well, ok.
I'm adding a file system to a custom programming language and operating
system combination.
The CPU is an HP minicomputer, ranging from 2116's up through the 21MX
machines.
Disk drives may range from the HP 7900A to CS/80 drives, as well as a
custom ATA disk controller
for HP 1000's. So disk sizes range from 5 mb per physical volume to 8
gb (or more) for the ATA disk.
Media interchangability is not a factor.
Basically a friend of mine and I, with some additional help, have
written a threaded interpreter for HP 1000's
that is designed to be a tool for bootstrapping and restoring any HP CPU
from a 4K 2114 up to a E of F series
with a full
megaword of memory.
We already have a sort of 'linear' file system for 7970-series mag tape,
and are now working to add a file
system to this beast. SIMH recently added (buggy) HP 7900 disk
emulation, and in real-hardware land we have
working CS-80 and ATA disk subsystems with working low-level code. So
the trick is to write a layer between
the threaded engine and the low level disk driver code.
Having looked at several modern file systems, we can see where a lot of
complexity comes from. But the machines
we are writing code for predate these file systems by a decade or more.
So these approaches don't seem to be a
good fit at all.
Something more along the lines of the Northstar DOS system looks more
attractive. We are looking for a 1960's to
1970's sort of approach, only with reasonable file name sizes.
Subdirectories are not mandatory if we can have several
named logical units on a large physical drive (like the ATA controller).