[OT] NT, software reliability, and the lack thereof.

From: Derek Peschel <dpeschel_at_u.washington.edu>
Date: Tue Mar 16 16:45:11 1999

Max Eskin wrote:
> In Windows 95, the MS-DOS file system is used for backwards compatibility,
> but the engineers decided to implement long filenames. They do this by
> using adjacent entries in the file allocation table for the same file. So,
> while DOS sees 8 characters, and 3 in the extension, as usual, Windows 95
> knows to check the following entries for the rest of the filename (this
> means that less files can be stored in the root directory, BTW). But in
> MS-DOS, you can't see the full filename, so Micros~1 decided to do
> something else: they take the first six characters of the filename, append
> a ~1. If the ~1 is taken, it appends a ~2 instead, and so on. So, if I
> make a file called 'Microsoft Internet Files.doc' in Windows 95 and then
> try to look at it in MS-DOS, it will simply say Micros~1.doc. Of course,
> since MS-DOS isn't case-sensitive, it should really be MICROS~1.DOC.

I think a friend of mine helped write the Win95 filesystem code (though it
may have been NT). I'm sure he put a LOT of work in. Too bad the results
are so ungainly.

Correct me if I'm wrong... they need to store the DOS "short" file name,
followed by the Win95 "long" file name (possibly taking up several directory
entries).

Is it ONLY adjacency that ties the two names together? No wonder they can
be separated. When Win95 had just come out, I amused myself by running
the disk utilities that came with it. I got some very alarming error
messages, things like:

        The following file may have lost its long filename:
                C:\WINDOWS\SOL.EXE
        If this is the correct long filename, click OK.
        Otherwise, click Cancel:
                c:\windows\system32\bubbles.bmp

I'm making it up, but not completely. I do remember SOL.EXE and BUBBLES.BMP
wre involved in one case. Then there's the problem of the disk utilities
*starting over again*, seemingly at random. The defragmentation program
would be happily scanning C: and then it would put up a notice ("I need to
start again") and then redo everything it had done until then. This could
happen a couple of times in a row.

I should also mention that the extra directory entires need to be hidden
from DOS. Get this. They are marked as *volume labels*. There's only
supposed to be one, and obviously DOS ignored the others instead of
complaining. (Before Windows, I mean.) This is especially shameful since
there are actually a couple of unused attribute bits that MS could
legitimately have used!

And is it true that the LFNs are stored in Unicode?

-- Derek
Received on Tue Mar 16 1999 - 16:45:11 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:32:20 BST