[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FDHD Blues
In article <jmk3.735177247@crux1.cit.cornell.edu> jmk3@crux3.cit.cornell.edu (Jay Krell) writes:
>
> People don't seem to understand this. This is the beauty of
> GS/OS. Almost everything is device and file system
> independent. DOS 3.3 and maybe Pascal are exceptions,
> but the idea is that any file system can exist on any media.
Correct. The DOS 3.3 FST is hard coded to only support the 5.25" drive
(it calls the APPLEDISK5.25 driver to all all disk I/O). For some
unknown reason, the Pascal FST only supports a restricted set of
devices: 5.25" drives, 3.5" drives (standard and SuperDrive) and hard
disks. It doesn't support RAM disks, which has annoyed me a couple of
times - if I set up /RAM5 as a Pascal RAM disk, GS/OS keeps asking if
I want to reinitialize it!
FST's have a lot of flexibility. The ProDOS and HFS FSTs will support
any device driver that can return 512 byte blocks.
An MS-DOS FST could support different block sizes (MS-DOS itself does,
but all existing MS-DOS disk formats use 512 byte sectors). There
would be no reason to restrict it to using certain device drivers.
One area that might be a problem would be sharing a hard drive between
an MS-DOS machine and GS/OS's MS-DOS FST; in particular, a removable
hard drive such as a SyQuest. The MS-DOS and Apple partitioning
schemes are incompatible. GS/OS would see the SyQuest cartridge as a
single 40 megabyte drive for an unknown file system (unless the MS-DOS
FST was able to recognise and ignore the PC's partition table).
> FST's call drivers (I think indirectly. via GS/OS's DRead and
> DWrite?), but they don't communicate in any special way.
The FSTs communicate with device drivers through the Device Dispatcher.
The GS/OS DRead and DWrite calls are actually handled by the Device
Manager, which is logically equivalent to an FST. The Device Manager
translates the DRead and DWrite calls into driver calls, which are
then processed through the Device Dispatcher.
In other words, it's just two different ways of getting the same
result. This is all described in the GS/OS manual, of course.
> Thus, 3rd party drivers will work fine with whatever FST's Apple writes.
... or drivers that are written by third parties, of course.
> Another area I'm unsure of is hard drive partitioning.
What about it? The system used by Apple SCSI hard drives was
originally developed on the Macintosh. In order for a SCSI drive to
be able to boot on the Macintosh, it must support this partitioning
scheme.
With GS/OS, it is all handled inside the SCSI hard disk and CD-ROM
device drivers. FSTs and applications see each partition as if it was
a separate hard drive (there are some link fields which can be used to
determine which partitions belong to the same drive).
Physical block 0 of the hard drive contains a driver descriptor map,
which is used by the Macintosh to locate the device driver. The
following blocks contain the partition map (one block per partition;
the partition map and any device drivers are themselves partitions).
--
David Empson
dempson@swell.actrix.gen.nz <--- Note my new E-Mail address!
Snail mail: P.O. Box 27-103, Wellington, New Zealand