The 64-Bit File System
Win32 and Win64, with the NTFS, support 64-bit file addresses so that files can, in principle, be as long as 264 bytes.The 232-byte length limit of 32-bit file systems constrains file lengths to 4GB (4 x 109 bytes). This limit is a serious constraint with some applications, including large database and multimedia systems, so any complete modern OS must support much larger files. Files larger than 4GB are sometimes called huge files.Needless to say, many applications will never need huge files, so, for many programmers, 32-bit file addresses will be adequate for years to come. It is, however, a good idea to start working with 64-bit addresses from the beginning of a new development project, given the rapid pace of technical change and disk capacity growth,[1] cost improvements, and application requirements.
[1] At the time this is being written, even inexpensive laptop systems contain 40GB or more of disk capacity, so files larger than 4GB are possible and sometimes necessary, even on small systems.
Win32, despite the 64-bit file addresses and the support for huge files, is still a 32-bit OS API because of its 32-bit memory addressing, as discussed in Chapter 5; Win64 is required for 64-bit memory addresses.
