What I find interesting is: why does Unix not need this optimization? Looking at a popular Unix filesystem (the ext2 family of filesystems), I see that the only things in a directory entry are the inode number, the file name, and optionally the file type (regular file, directory, symbolic link, device, ). And yet Unix does not seem to have any slowdown because of it. I believe the real cause is a difference in the API. On Unix, the API to list the contents of a directory (opendir/readdir/closedir) returns the exact same things the filesystem has in the directory entry: inode number, file type, and file name.
On the other hand, the Windows API (FindFirstFile/FindNextFile/FindClose) returns much more data (see the WIN32_FIND_DATA struct for the details). That data includes the file size. The NTFS designers had no choice. The level of detail returned by the Unix directory enumeration API would be a better match to what they wanted to do, but they had to maintain compatibility with a DOS-era API which also returned the file size. They could create a better API, but nobody would use it.
Unix systems never had this problem, because the inode was always a separate thing, and software written for Unix already knew it had to stat() every file (for those who do not know Unix, stat() returns much of the inode metadata, including the file size and times), and that stat()ing every file could be expensive. @Henke37: And this (antivirus) is what caused VB6 (?) disapppearing files debacle, years ago. And for what it's worth, the search indexing service occasionally interfers with the file deletion and write access. You may have seen once in a while that you cannot delete a file because it's opened by SYSTEM.
Windows Explorer Displaying Incorrect Hard Drive Size Workstations are Windows XP Pro. Server is SBS 2003. On 3 of the 7 computers on our Network, we ar. I'll cover the following topics in the code samples below: Windows XPWindows Server 2003, Windows Server, Windows Server Windows Explorer, Error, and NTFS Volume. Size is seen being incremented because Windows reads and calculates the total number of files and folders and their sizes while you pop the properties. I am working with VMware ESXi 5.5 for my hosts and running a Virtual Server with Windows Server. Windows Explorer.
Comments are closed.