Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!rice!uw-beaver!ubc-cs!alberta!calgary!enel!steven From: steven@enel.ucalgary.ca (Steven Leikeim) Newsgroups: comp.sys.apple Subject: Re: FST's Message-ID: <2200@cs-spool.calgary.UUCP> Date: 5 Dec 89 19:22:23 GMT References: <2634.cortland.info-apple@pro-houston> <5205@internal.Apple.COM> <3762@puff.cs.wisc.edu> Sender: news@calgary.UUCP Reply-To: steven@enel.UCalgary.ca (Steven Leikeim) Organization: U. of Calgary, Calgary, Alberta, Canada Lines: 68 In article <3762@puff.cs.wisc.edu> blochowi@rt3.cs.wisc.edu (Jason Blochowiak) writes: >In article <5205@internal.Apple.COM> farrier@Apple.COM (Cary Farrier) writes: >> *Using* an FST is _not_ the same as *writing* an FST! One of the >>intracacies of creating an FST involves how closely it interacts with >>the rest of the OS. Sometimes these details change in an OS revision. When >>this happens, we can update the FSTs, but we can't update a 3d party FST. > > If everything were "the way it should be" GS/OS and the FSTs wouldn't >be interdependent like they (apparently) are. They cannot be completely independent. GS/OS needs to know something about the filesystem that it is working on so that it can create absolute pathnames from relative pathnames if necessary. As well, there may be some dependancy here where GS/OS needs to know what sort of pathname separator (eg "/") to use when automatically starting a program. As an example of this, can you create a file with a "/" in the filename under UNIX. Without resorting to patching the disk, you can't do this. Under GS/OS you can't create a file with both a ":" and a "/" in it. > GS/OS would serve as a front >end, basically, to the FSTs. The application would make a call to GS/OS, which >would figure out if 1) A device driver should handle the call, 2) GS/OS itself >should handle the call, or 3) A FST should handle the call. Just as GS/OS >provides some primitives for device drivers, it would provide some primitives >for the FSTs - say, keeping track of lists of open files, which FST is >responsible for them, etc. If the interaction were nice and neat (not an >impossibility), then 3rd party FSTs would become completely possible. > Unfortunately, interactions between FST's and GS/OS are not likely to be neat. There are a large number of factors to consider here. The factor of file attribute handling has been discussed by others. Filename construction however, is probably more of a problem. Currently GS/OS - ProDOS FST does not differentiate between the files "testing", "Testing", "TESTING" or even "TeStInG". Clearly, there may be a problem here in dealing with file systems where the file names above refer to 4 different files. How about file systems that permit "Illegal characters" in filenames. On some filesystems you can have a space in a filename. GS/OS - ProDOS FST doesn't allow this. How do you handle control characters in filenames??? Finally, we have to deal with the length of filenames. GS/OS - ProDOS FST currently limits filename segments to 15 characters (I think). We may have to deal with filesystems which permit more than this. DOS 3.3 for instance allows 31 character file names. Actually, DOS 3.3 has allows most of what I have described above. There are probably other considerations that I have missed here, but this is enough for one day. Some of what is listed above may be moot as I do not have any knowledge about how GS/OS and FST's interact. This is why I used the terminology "GS/OS - ProDOS FST" in this article. Some of the above might only require code in the FST but some of it may require changes to GS/OS itself. > Anyone with the urge to flame me should probably do so by email. No flames here. Just some information for some, hopefully, reasoned discussion on this topic. Maybe we can come up with some ideas that Matt or Dave or whoever can go to their bosses at Apple and say, "Maybe we should try this". Who knows, stranger things have happened. > Jason Blochowiak - blochowi@garfield.cs.wisc.edu or jason@madnix.uucp > "Education, like neurosis, begins at home." - Milton R. Sapirstein Steven Leikeim | University of Calgary | There are lies, damned lies, Department of Electrical Engineering | and statistics. .uunet!{ubc-cs,utai,alberta}!calgary!enel!steven