Talk:File Allocation Table/Archive 1
This is an archive of past discussions about File Allocation Table. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 | Archive 3 | → | Archive 5 |
FAT+
Enhanced DR-DOS implements FAT+, which supports filesystems up to 256GB and native LFN support. It should be mentioned.
Error report
In doing research for a new book, I encountered this File Allocation Table article, and wanted to point out what I believe are several factual errors contained therein. As I can see this article has some history behind it, I'll leave it to those more heavily invested in maintaining and updating this article to look over and verify what I have posted here, and to implement any changes as are deemed appropriate. Thanks for listening:
1.) FAT (FAT12) was originally developed for stand-alone disk BASIC (not MS-DOS). See reference below.
2.) FAT (FAT12) was developed by Microsoft, specifically by Bill Gates and Marc McDonald (not Seattle Computer Products). See reference below.
3.) FAT (FAT12) was developed in 1976 and first made its debut in 1977 with the release of stand-alone disk BASIC-80 for NCR (not in August 1980 with QDOS). See reference below.
4.) FAT16 was first introduced on August 14, 1984 in IBM PC DOS 3.0 (same day as the '286 processor-based IBM PC AT). Reference: IBM PC DOS 3.0 announcement letter, and the IBM PC DOS Technical Reference, First Edition p/n 6024181, dated February 1985.
Historical details:
FAT (FAT12) was apparently "created" by Bill Gates and developed by Marc McDonald. Marc is considered to be the 1st MS employee (after founders Bill Gates and Paul Allen). FAT was originally developed for use in stand-alone disk BASIC in 1976, which pre-dated MS-DOS by several years. Marc can be seen talking about FAT about halfway through the video here:
http://channel9.msdn.com/showpost.aspx?postid=111590
According to Marc, FAT was created in 1976 for stand-alone BASIC-80 on 8" floppies. In 1978 MS ported BASIC-80 to the x86, however they had used an emulator and had no actual x86 hardware to test it on. In 1979 Tim Paterson called MS asking if they had any x86 software, and MS was interested in working with Tim because he (and Seattle Computer) had the first working x86 system they knew about. Then in 1980 Tim "borrowed" FAT for QDOS, which became SCP 86-DOS, which became MS-DOS.
Other information and references:
According to an article on HPFS by Ray Duncan in the Sept. 1989 (Vol4 NO5) issue of the Microsoft Systems Journal, Ray states that "The FAT was invented by Bill Gates and Marc McDonald in 1977 as a method of managing disk space in the NCR version of standalone Microsoft Disk BASIC. Tim Paterson, at that time an employee of Seattle Computer Products (SCP) was introduced to the FAT concept when his company shared a booth with Microsoft at the National Computer Conference in 1979. Paterson subsequently incorporated FATs into the file system of 86-DOS, an operating system for SCP's S-100 bus 8086 CPU boards."
Microsoft also states that Bill Gates created the initial version of FAT on its site here:
FAT File System: The Story Behind the Innovation http://www.microsoft.com/mscorp/ip/tech/fathist.asp
"The FAT file system was one of the first technologies developed by Microsoft. In 1976, Bill Gates created the initial version of FAT during a short hotel stay in Albuquerque, N.M. Intel incorporated FAT technology in an operating system it developed for the Intel 8086 chip. Microsoft purchased the rights to this system and then recoded the FAT file system as part of the first version of the Microsoft MS-DOS operating system."
I believe the reference to an Intel OS is for iRMX 86, which may have been the first operating system to use FAT, even before QDOS. A reference is here:
http://www.8052.com/forum/read.phtml?id=60202
- If the 8086 debut was in 1978, how could this iRMX-86 reference be right, unless someone had a time machine? --- Joe 2007/12/19 —Preceding unsigned comment added by 61.8.13.206 (talk) 06:55, 19 December 2007 (UTC)
While the specifics of what Bill and Marc contributed are somewhat fuzzy, it seems clear that both were involved, and that Tim Paterson saw the FAT in stand-alone BASIC-86, which he then incorporated into QDOS.
Paterson confirms some details on the origins of FAT in the Softalk article on his site here:
http://www.patersontech.com/Dos/Softalk/Softalk.html
The article states: "Paterson created QDOS's file management module using the same method found in standalone Basic-86."
The following excerpt is even more enlightening. It was written by Tim Paterson and is taken verbatim from the book "inside out: Microsoft-In our own words" ISBN 0-446-52739-4, published in September 2000:
---Start of excerpted text---
Tim Paterson, former software design engineer, Visual Studio
We gave Microsoft a call and asked if they had any 16-bit software for our customers to use, since none of the existing 8-bit software would run on my 8086 board. They were very interested in working with us because I guess we had the first 8086 working hardware around. They said they had their 8086 Stand-Alone BASIC ready to try.
So I went up there with our Cromemco Z-2 box, fired it up, and actually got BASIC up pretty quickly. Bob 0'Rear and I had it working in about a week: it was pretty amazing. Remember that Stand-Alone BASIC doesn't need an operating system: it can save files and stuff, but no applications can run under it. To make SCP's computer system truly useful for other software development, it was clear to all of us that we needed an operating system.
Everyone thought Digital Research would fill the gap - that they would come out with a 16-bit version of their CP/M operating system. But Digital Research was behind. After more than six months of waiting, I decide to do it myself. I started to work on a "quick and dirty" operating system (QDOS) that would bridge the gap for SCP's machine.
I set out to make my operating system as compatible as possible with CP/M because it was an industry standard. And compatibility would make it easier for software developers to write applications for both. I also wanted QDOS to be fast and efficient, so I borrowed Microsoft's approach to file allocation from their BASIC so that loading and saving files on disk wouldn't become the bottleneck I thought it was with CP/M.
Once QDOS was up and running, we again called Microsoft to ask them about getting their software, such as BASIC and Pascal, to run under it. Little did I know, Microsoft had just started talks with IBM about providing all the software for its first PC, which was based on the 8088 chip, a lower-cost follow-on to the 8086. IBM was not making headway with Digital Research on getting CP/M-86 for their new machine and asked Microsoft to provide an operating system for them. Microsoft told us that my operating system met the needs of a major OEM customer of theirs, which would go unnamed.
Seattle Computer licensed Microsoft as a sales agent for QDOS, which we had by then renamed SCP 86-DOS. Meanwhile, SCP decided to quit trying to sell through retail stores and focus on mail order instead. I didn't agree with the strategy, so I called Paul Allen at Microsoft and asked for a job. He said, "Sure."
Two months after I joined Microsoft - and just one month before IBM announced its first PC - Microsoft offered to buy 86-DOS from Seattle Computer. As an employee of Microsoft and shareholder of Seattle Computer, I was brought in as the sale agreement was being finalized - maybe to provide an opinion that the deal was fair for both sides. After that, I worked on the first version of MS-DOS that shipped to customers other than IBM: version 1.25. I haven't worked on MS-DOS since. I've spent the rest of my Microsoft career working on programming tools, mostly Visual Basic. But I take pride in the fact that the program I wrote, with the added efforts of many others over the years, became, at its peak, the most widely used computer program in the world.
---End of excerpted text---
FAT16 introduction and historical information:
FAT16 debuted in IBM PC DOS 3.0, but was limited in support to a single 32MiB volume per drive due to the lack of support for extended DOS partitions and the use of 16-bit sector numbers internally and in the VBR (Volume Boot Record).
In April 1987 PC DOS 3.3 introduced the extended partition, allowing support for up to 23 total volumes of up to 32MiB each.
Microsoft had OEM DOS deals with IBM and Compaq, and Compaq introduced Compaq DOS 3.31 in November 1987. Compaq DOS 3.31 was the first version of MS-DOS to use 32-bit sector addressing internally and in the VBR (Volume Boot Record).
The rest of the PC community followed suit in July 1988, when IBM released PC DOS 4.0 and Microsoft released the MS-DOS 4.0 packaged product (a generic version for system builders) at the same time. The use of 32-bit sector addressing meant that FAT16 could now handle partition sizes up to 2GiB using 64 sectors per cluster.
FAT16 has remained largely unchanged since the debut of DOS 4.0, with perhaps one exception. Windows NT/2000/XP can optionally create or support FAT16 volumes that use 128 sectors per cluster (64KiB), bringing the maximum FAT16 volume size to 4GiB. However, any volumes formatted in that manner are not readable in virtually any other OS, and 64KiB clusters also cause many disk utilities to fail. For maximum compatibility, FAT16 volumes under NT/2000/XP should be limited to using 32KiB clusters and a 2GiB max. volume size.
I hope those of you involved with updating and maintaining this article find this information useful. Thanks, Scott Mueller http://www.upgradingandrepairingpcs.com or scottmueller (at) compuserve (dot) com.
- 1.) FAT (FAT12) was originally developed for stand-alone disk BASIC (not MS-DOS). See reference below.
- I cannot find any reference that it first implementation was before QDOS, can you provide URL?
- 4.) FAT16 was first introduced on August 14, 1984 in IBM PC DOS 3.0 (same day as the '286 processor-based IBM PC AT). Reference: IBM PC DOS 3.0 announcement letter, and the IBM PC DOS Technical Reference, First Edition p/n 6024181, dated February 1985.
- Cannot find that documents, can you provide them please?
Neutrality
I removed this
- FAT is a relatively early file system design that was designed in a hurry to replace the CP/M file system - it was in fact the main innovation in the earlier versions of MS-DOS compared to CP/M, otherwise DOS was almost a clone of CP/M. FAT's designers did not even exploit what was already known about file system design, and because of that, it suffered from several problems. First, its simple file layout allows for easy fragmentation, which leads to significant slowdowns during file system operations. Secondly, FAT was not designed for redundancy in the case of system failure. Thirdly, the first versions of FAT allowed file name sizes of only up to 11 characters (file name of 8 and a file extension of 3), although a work-around was developed when Microsoft implemented VFAT, that would allow file names of up to 255 characters. Finally, the large cluster size in many versions of FAT meant that a lot of space was being wasted on padding small files to the cluster size.
- However, because IBM designated MS-DOS as its primary operating system for its PC, and MS-DOS used FAT, FAT became widely used and is still used in a number of circumstances. Because of the primitive design, it is easy to create a basic FAT implementation, and because of the ubiquity of MS-DOS and Windows, FAT has become useful in providing a base level of interoperability in some circumstances.
because overall the tone is not neutral, makes incorrect statements, and is overall not useful. The history below this makes a lot more sense and covers the facts better. And yes I am a coauthor of MSDOS and the FAT32 file system as well; hard to prove identity on internet, anyway you never heard of me so what good would that do. 67.168.183.122
- If you have no way of proving your identity then stop using it as the basis for your edits. Which parts of those paragraphs are non neutral, incorrect or not useful? Was FAT not subject to fragmentation? Was it not used by MS-DOS? Is it not "easy to create a basic FAT implementation"? Outline the parts you disagree with don't just delete the paragraphs wholesome. Also if you registered an account and signed your posts with ~~~~ that would help. AlistairMcMillan 10:45, 21 Sep 2004 (UTC)
gah my explanation was deleted on your last post! anyway, the text is non-neutral with comments such as "designed in a hurry", "main innovation","did not even exploit", et al. All of this is biased and inccorect. Facts are wrong two, such as claiming no redundancy which FAT does indeed have; the concept of fragmentation causing a problem is not that big a problem with the original FAT, and fragmentation exists in all file systems anyway; the reference to cluster size is a red herring and doesnt mean anything really. Basically, these paragraphs provide no useful information but ignorantly sniping at decisions made by engineers many years ago. The history section below the header is sufficient. 67.168.183.122
- Your claim that your explanation was deleted isn't backed up by the edit history of this page. You are aware that all edits are recorded, right? Please explain what redundancy FAT has? Two copies of the FAT table? Is that what you are talking about? Fragmentation is a big problem with FAT filesystems and to my knowledge while other filesystems have fragmentation, no other filesystem has as large a problem with it as FAT. The comment about cluster size needs to be better explained it is too ambiguous as it stands, however it is an issue with FAT filesystems.
- These paragraphs could be a lot better written and do show some bias, but they are not non-factual and would be better re-written, not deleted. AlistairMcMillan 11:00, 21 Sep 2004 (UTC)
- BTW About your VFAT edit. What is a DELFN? When was it introduced? What is the name of the filesystem that introduced it? AlistairMcMillan 11:10, 21 Sep 2004 (UTC)
- IMHO language in those two paragraphs is somewhat biased and overstated. But it is basically factual and deserves rewriting rather than deletion. For example, it would be better to state that the original name of the OS was "QDOS," for "Quick and Dirty OS," and cite the actual timeline of the development, and let the reader decide whether it was "designed in a hurry." I think it's reasonable that if Microsoft had not been in a hurry, they would have written an OS themselves rather than purchasing QDOS from Tim Paterson. The statement "DOS was almost a clone of CP/M" is an exaggeration. IIRC, though, Microsoft has acknowledged that there was some actual "low-level borrowing" (i.e. actual incorporation of binary code) from CP/M in the first release of MS-DOS, in one of the file system APIs. IIRC the use of these API calls was deprecated from the start and the code itself was eventually removed. I certainly wouldn't put any of this in the article until and unless I can find references to back this up, though. I think it is NPOV to say that FAT was technically unsophisticated, in comparison to minicomputer and mainframe OS file systems, at the time it was introduced; that it was derived from CP/M's file system (again, I think Microsoft acknowledges this somewhere, probably in the MS-DOS encyclopedia); and that whether or not it is patentable, it is not regarded within the technical community as being significantly original or innovative. [[User:Dpbsmith|Dpbsmith (talk)]] 14:36, 21 Sep 2004 (UTC)
67.168.183.122 23:03, 21 Sep 2004 (UTC) Come on guy, go read what you put in there. The whole first new paragraph says not one thing about the FAT file system, but instead defends some position about the history of MSDOS. These statements are not neutral, but actually an attack. I am going to ask you to show some character, and do not put that stuff back in. The history of FAT is discussed in the history section of the article already.
As an aside, please recall that DOS booted in only 16k of RAM, off a 360k floppy, no harddrive, and still had space for programs! [the memory print for a mouse cursor today is larger than all of MSDOS] So it is not constructive to comment how stupid the file system was, or what the features it lacked compared to modern systems. It is impressive for what it did do, not a failure what it did not do!
67.168.183.122 23:03, 21 Sep 2004 (UTC)
What this guy did was to take an existing paragraph that had some POV problems and add some supporting material justifying it from a more neutral point of view. I appreciate what you're saying and am not reverting the change. Nevertheless, in understanding FAT, and, yes, the licensing controversy, I strongly disagree that it was "impressive for that it did do." All of the minicomputer OSes of the day needed to achieve pretty much the same things in comparable amounts of RAM, and most of them managed to do it better than the comparable microcomputer OSes did. The Apple DOS 3.3 file system was worse that FAT, of course. Just as with literary articles, I think it is entirely appropriate that computer articles include justified, neutral, well-backed critical appraisals of the technology along with descriptions of the technology itself.
I'm not sure how much of this really does belong in the article or where it should go, but I'm not convinced that it should be removed entirely. Therefore, I'm putting it here. This is the material that was removed.
- FAT is a relatively unsophisticated file system design. Tim Paterson, the original developer, has written that "The first versions of the operating system, called QDOS 0.10, were shipped in August 1980. QDOS stood for Quick and Dirty Operating System because it was thrown together in such a hurry (two man-months)." Microsoft purchased the rights and released the system as MS-DOS in July 1981. FAT was a replacement for the CP/M file system—it was in fact the main innovation in the earlier versions of MS-DOS compared to CP/M. In his book Accidental Empires, Robert X. Cringely characterized QDOS as "a 16 bit clone of CP/M... Paterson admitted to a little "low-level" borrowing from CP/M, too, but claimed that most of the code was his own. Gary Kildall still thinks a lot of QDOS code was stolen straight from his CP/M."
- FAT's designers did not even exploit what was already known about file system design, and because of that, it suffered from several problems. First, its simple file layout allows for easy fragmentation, which leads to significant slowdowns during file system operations. Secondly, FAT was not designed for redundancy in the case of system failure. Thirdly, the first versions of FAT allowed file name sizes of only up to 11 characters (file name of 8 and a file extension of 3), although a work-around was developed when Microsoft implemented VFAT, that would allow file names of up to 255 characters. Finally, the large cluster size in many versions of FAT meant that a lot of space was being wasted on padding small files to the cluster size.
Naming of FAT versions
I'm confused about the naming of the FAT versions.
Isn't the number after FAT just the size of the FAT entries? VFAT can be used with FAT12, FAT16 or FAT32 but aren't they basically all the same?
-->>VFAT is simply the name of a driver in Windows, the article was incorrect when it associated that with a particular file system layout. I have removed that line. 67.168.183.122
FAT12 uses 12-bit entries, while FAT16 uses 16-bit entries. FAT32 indeed uses 32-bit entries, but is also a redesign, and is incompatible with prior versions.
There is MUCH that could be added here. How much detail is wanted? --Scott. 08:02, 2004 Feb 9 (UTC)
The article mentions: This initial version of FAT is now referred to as FAT12. This is known as a retronym. http://wiki.riteme.site/wiki/Retronym —Preceding unsigned comment added by Ericbirecki (talk • contribs) 16:35, August 24, 2007 (UTC)
This was actually confusing for me the first I read it and I don't believe the article is complete on this matter. I've read somewhere (I can look that up again) that VFAT is the modification made to FAT16 to support long file names and that FAT32 already incorporate them. Therefore you can have FAT16 (which uses 8.3 filenames), VFAT (which can be 16 or 32 bits) and FAT32 (which is the same thing as VFAT 32 bits, since it WILL support long file names). --Franciozzy (talk) 20:43, 17 November 2008 (UTC)
Patent information
moved from the article — I don't feel like inocorporating this right now.
[[Note added 18 April 2004:--
Most of this patent stuff is non-neutral, incorrect, and badly sourced (slashdot?). It should probably be removed as a larger portion of the text talks about some opensource view on patents which really has nothing to do with FAT[] : 67.168.183.122
The patent datings quoted above are unfortunately not the correct/relevant ones for prior art purposes, for three of the four MS patents.
USP 5579517, although filed on Apr 24 1995, was based on a "continuation of U.S. patent application Ser. No. 08/041,497, filed Apr. 1, 1993, now abandoned." Thus, its effective filing date was April 1, 1993.
The timeframes of citable prior art for this patent are:
(1) for printed publications or technology in public use in USA:-- -- more than 12 months before the effective filing date (i.e. <=March 31, 1992), or -- before the MS technology was invented (if that occurred less than 12 months before the effective filing date), or
(2) for prior inventions invented in the USA, but not disclosed in printed publication or put in public use before the dates already mentioned:-- -- before the MS technology was invented (whenever that occurred).
USP 5758352 has the same effective filing date as 5579517, i.e. April 1 1993, and the timeframes of citable prior art are the same, too.
USP 6286013 was based on an application which was a "continuation of U.S. patent application Ser. No. 08/356,010, filed Dec. 13, 1994, now abandoned, which was a continuation-in-part of U.S. patent application Ser. No. 08/041,497, filed Apr. 1, 1993, now abandoned."
That means the claims here might have either one of two effective filing dates, either April 1 1993 (for claims that entirely reflect the content of the application filed on that date, shown here by the published content of 5579517), or else Dec 13, 1994, (for claims that are not completely referable to the content of the 1993 application/5579517, but depend on content that was first added to the 1994 application).
In each case, the time-frames of citable prior art are set by the applicable filing date in the same way as noted above.
(One of the keys to this complex scheme mandated by law is that a 'continuation' application copies the content of its 'parent', so all of its content normally benefits from the parent filing date, while a 'continuation-in-part' application partly shares content but partly adds new content, compared with its 'parent', and the effective filing dates are allocated accordingly. For the other complications of defining the timeframes, see 35 USC 102, specially parts (a), (b), (e), and (g).)
End of note added 18 April 2004.]]
Microsoft was recently been awarded the patents for FAT. More information is available here: [1] I have added as much information as possible on it to the article. - DNewhall
fat and hard disk partitions
i believe dos 2.x could not address up to 32 mb but only 10 mb officially and 15 mb unofficially.
but fairly sure it could from dos 3.x onwards.
did the fat change then ?
- I've changed the first para of the history section. The initial version of MS-Dos didn't support directories, but MS-Dos 2.x and 3.x did while still using Fat12 as the filesystem. Perhaps some change was made to Fat12 for MS-Dos 2.
- Also, the filesystem size limit for Fat12 is 32 MB. 12 bits for each FAT entry which can distinguish 4096 different clusters. It may be that MS-Dos 1 only used a 512 byte cluster size, but later versions of MS-Dos support cluster sizes up to 8 kb. It's possible that dos 2.x supported something in between, so the comment above this might be correct. There were also variants of MS-Dos 3.x which supported disk partitions larger than 32 MB. I'm not sure whether they did this by increasing the cluster size further. Fat16 allowed larger cluster sizes but wasn't introduced until MS-Dos 4. -gadfium 23:50, 6 Dec 2004 (UTC)
- Is it true that FAT originally had only a flat directory hierarchy, and only later were nested subdirectories supported? If true this distinction should be noted. --Bk0 03:23, 7 Dec 2004 (UTC)
- The first version of MS-Dos, ie version 1, did not support subdirectories (and no version of MS-Dos supported the CP/M equivalent of user areas). The concept of subdirectories was well established by that time (eg in Unix), but perhaps they weren't considered necessary for such small machines. Although I've been involved with computers for a very long time, I've never actually seen version 1 of MS-Dos running. I presume that MS-Dos 1 supported some file attributes (which include read-only, hidden, system, archive in later versions), so an unused attribute bit was used for directories in MS-Dos 2 and later. Long file names use a previously-ignored combination of attribute bits which allow them to co-exist with 8.3 file names.-gadfium 04:37, 7 Dec 2004 (UTC)
FAT12 vs. FAT16
Just yesterday, I bought a consumer mp3 player that does not support FAT16, but only supports FAT12 with long file names. I think it interesting that FAT12 is still being used today; MMC cards are formatted, by default, with the FAT12 filesystem (according to one online discussion) because many older digital cameras and what not only support FAT12. I'd like to add this information to this article, but am not sure how to do so. Samboy 03:49, 7 Dec 2004 (UTC)
- it'd be nice to add something to the article but i'd like sources first. fat12/fat16/fat32 and long filename support are totally seperate issues, floppies also still use fat12 yet there is no problem with using long filenames on them.
- By default, Windows 2000 and Windows XP will change any removable media with a formatted capacity less than 32 megabytes to FAT12 when the media is reformatted. If not reformatted, the original FAT type is left alone. I have not found a way to force Windows 2000 or XP to use FAT16 on sub-32meg media. (All 32meg memory cards have a formatted capacity less than 32meg and get converted to FAT12 when reformatted.)
I tried but could not convince several very talented programmers to write a utility for forcibly formatting sub-32 meg media to FAT16 on Windows 2000 and XP.
The other 'gotcha' with 2000 and XP is the default for media with a formatted capacity of at least 64meg is FAT32, but that can be overcome by manually selecting FAT in the format utility. That makes it FAT16. Between 32 and just under 64 meg, 2000 and XP automatically format as FAT16.
I ran headlong into this with an MP3 player that used MMC media up to 64meg. I used Windows XP to reformat a 32meg MMC and until I was able to connect my MP3 player to a PC running Windows Millennium and reformat the card to FAT16, the MP3 player could not read it. The player was the KB Gear JamP3, which in Me and later is natively supported as two USB Mass Storage drives. (Built in 16 meg and the MMC slot.) Until Windows Me's USB Mass Storage drivers were ported to 98SE, this player required MusicMatch Jukebox to work on Windows versions older than Me. The MMJB software's driver expected to see only FAT16 on the MMC media so it couldn't change it back from FAT12.
- i belive there is a windows port of mkdosfs listed on here, i belive that will format with basically any combination of options you want (including some that windows doesn't like so watch out) Plugwash 12:48, 6 March 2007 (UTC)
differences to the "Microsoft Extensible Firmware Initiative"
The "reserved values" FAT entry values given are incorrect, at least when compared against the Microsoft Extensible Firmware Initiative specification. The maximum cluster count on FAT12 is 4084, giving a maximum allocatable cluster index of 4084+2-1 = 0xFF5 ("there is no such thing as a FAT12 volume that has more than 4084 clusters"); the maximum cluster count on FAT16 is 65524, giving a maximum allocatable cluster index of 65524+2-1 = 0xFFF5 ("there is no such thing as a FAT16 volume that has [...] more than 65524 clusters"); and for FAT32, all indexes up to and including 0x0FFFFFF6 are allocatable ("no FAT32 colume should ever be configured such that 0x0FFFFFF7 is an allocatable cluster number"). --Jkew 17:55, 18 October 2005 (UTC)
- Microsoft MS-DOS Programmer's Reference : version 5.0, ISBN 1-55615-329-5, from Microsoft press, Microsoft's official reference manual to the MS-DOS operating system says: "(F)FF0h-(F)FF6h Reserved; do not use." Also the Microsoft Extensible Firmware Initiative specification states "..., it is highly recommended ... you should you avoid making volumes of any type that have close to 4,085 or 65,525 clusters. Stay at least 16 clusters on each side away from these cut-over cluster counts." A bit broad, but clearly you can not use them. I would also speculate, that the reasoning behind the reservation is that any utility trying to read the first cluster of empty file, volume label, or the ".." directory just below root, will read the media ID byte at first byte of FAT giving values in range 0xFF0 to 0xFFF. If these are not valid clusters, then such buggy tools will at least stop early. Marko 17:43, 27 August 2007 (UTC)
- I removed the dispute tag now that we have a Microsoft source for the reservation. I also clarified other parts. The value 1 is not mentioned in the reference manual. The reference also says "(F)FF7h Bad sector in cluster; do not use cluster.". So if anything should be used to reserve clusters for something, it is not 1, but this bad cluster mark.Marko 18:09, 27 August 2007 (UTC)
EOF should be EOC: "end of clusterchain". This is the terminology the Microsoft Extensible Firmware Initiative specification uses. --Jkew 17:55, 18 October 2005 (UTC)
- I agree, and have tagged dispute on the table and fact tagged the reserved row. Also changed EOF to EOC and replaced "character" by "entry" and other minor fixes. -32.58.34.227 12:31, 18 July 2007 (UTC)