Date: Fri, 02 May 1997 18:10:24 +1200 From: physmsa AT cantua DOT canterbury DOT ac DOT nz (Mr M S Aitchison) Subject: Filesystem details (was Re: A few FS notions) To: opendos AT delorie DOT com Message-id: <199705020610.SAA19327@cantua.canterbury.ac.nz> Precedence: bulk Um... "details" is probably the wrong word, but just to spell out some possibly ways of implementing things, so we can see what could happen... A. Suppose there is a new command available in command.com and autoexec.bat called "mount" (just to be consistent with the Unix command name) that does the job of assign, join and subst, as well as net use/map at the moment - i.e. it allows a drive or directory (could be remote, could require going through a special driver) to mounted anywhere else (as a drive letter or as a directory). B. Suppose that, unlike horrible old *nix, you don't usually specify a "-t fstype" parameter, nor have to have an /etc/fstab file to say what to mount automatically at startup (I guess you could still do either, if you wantted to). Instead, it would ask all loaded drivers if they can handle it. In some cases that might be involved (e.g. if you specify a "UNC" name then something is goingto have to see what protocol that remote computer expects). C. This all requires a smallish IFS manager, that matches up requests for a resource to handlers. It probably also manipulates internal DOS structures that would normally be attacked by ASSIGN, etc. Just possibly this IFS could be a device driver itself, that replaces a chunk of old DOS when installed. Or it could be a TSR that is called by the MOUNT command the first time a mount is attempted that cannot be handled by old-fashioned hacking of wierd internal DOS tables. But ideally it would be there from startup, to detect and use non-FAT partitions, add Long FileName support, etc. D. So a filesystem is normally installed in two steps: one is installing a driver (not needed if simply FAT), the next step is when a particular partition/directory/whatever is mounted that uses this type. E. Now, suppose you can also install attributes. Either at the same time as installing a filesystem (technically, probably at the time of an actual mount that supports it), or seperately (some module could be added that says "whenever something wants to know (this) attribute within the file region I control (default is / perhaps) then I can supply it". F. There are special cases are registerring an attribute provider; I suppose the protocol would be a some sort of list in memory at the time of the call, and often the job of the IFS is to simply match up requests for attributes (coming from some new system call) to these lists, but there would be special provision for Access Control Lists and permissions in general (two-way traffic in info is needed, for user name etc), and file "type" (e.g. created on a CR-LF system, needs a WP document processor in this class..."). Oops! gotta go home... bye! ------------------------------------------------------------------------------- Mark Aitchison, Physics & Astronomy \_ Phone : +64 3 3642-947 a.h. 3371-225 University of Canterbury, (/' "per haps ad gloria" -------------------------------------------------------------------------------