200 likes | 630 Views
File Systems Unix vs. Windows NT. COSC513 Operation Systems Prof. Anvari Name: Aiwu Li SID: 103532. What is a File System?.
E N D
File SystemsUnix vs. Windows NT COSC513 Operation Systems Prof. Anvari Name: Aiwu Li SID: 103532
What is a File System? • The software used to organize and manage the data stored on disk drives. In addition to storing the data contained in files, a file system also stores and manages important information about the files and about the file system itself.
File system Features • Size of File Systems - as much as a Petabyte. EFS was limited to a maximum file system size of 8 GB. Many 32-bit file systems are limited to 2GB. • Large Files – Many file systems were limited to a maximum file size of 2GB. In addition, File I/O can be dramatically accelerated by allocating disk space contiguously. • Large Directories – Most file systems use linear searches, going through a directory entry by entry, to locate a particular file. This becomes very inefficient when the number of files in a directory exceeds a few thousand.
File system Features ( con’t) • Large numbers of files – The only way to efficiently scale to support large numbers of files is to dynamically allocate index space for files. • Rapid Crash Recovery – Many traditional file systems require a checking program to check file system consistency after a crash. On large, active file systems this type of checking can take a prohibitively long time to complete. Solving this problem must not degrade I/O performance. • Unparalleled Performance – Performance should not degrade as the size of the file system, an individual file or the total number of files stored grows.
Modern File Systems • UFS:The archetypal Unix file system still widely available from Unix vendors such as Sun and HP. • VxFS:The Veritas File System, a commercially developed file system available on a number of Unix platforms including Sun and HP. • NTFS:The file system designed by Microsoft for Windows NT.
Measure of memory • 1 MB ( Megabytes) = 220 bytes or 106 (1,000,000) bytes, • 1 GB ( Gigabytes) = 230 bytes or 109 (1,000,000,000) bytes • 1 TB ( Terabytes) = 240 bytes • 1 PB ( Petabytes) = 250 bytes • 1 EB ( Exabytes) = 260 bytes
Support for Large File Systems -UFS • designed at a time when 32-bit computing was the norm. • originally only supported file systems of up to 2^31 or 2 GB. • Most current implementations have been extended to support larger file systems. • i.e. Sun extended UFS in Solaris 2.6 to support file systems of up to 1 TB(2^40 bytes).
Support for Large File Systems -VxFS • The maximum file system size supported by VxFS depends on the operating system on which it is running. • For instance, HP-UX 10---- max FS size is 128 GB. HP-UX 11 ----max FS size is 1 TB .
Support for Large File Systems-NTFS • NTFS provides a full 64-bit file system, theoretically capable of scaling to large sizes. • However, other limitations result in a "practical limit" of 2 TB for a single file system.
Allocation Methods • Block Allocation- Blocks are allocated one at a time and a pointer is kept to each block in the file. • Extent Allocation- Large numbers of contiguous blocks - called extents - are allocated to the file and tracked as a unit. - A pointer need only be maintained to the beginning of the extent. Because a single pointer is used to track a large number of blocks, the bookkeeping for large files is much more efficient.
Support for Large Files -UFS • Traditional UFS is limited to files no larger than 2GB, block allocation is used rather than extent allocation, and its algorithms to manage very large files and large amounts of free space are inefficient. • 1990 Sun implemented a new algorithm called clustering that allows for more extent-like behavior by gathering up to 56KB of data in memory to allocate disk space contiguously. • Sun also extended the maximum file size to 1TB in Solaris 2.6.
Support for Large Files -VxFS • The maximum file size supported by VxFS depends on the version. • For HP-UX 11 it is 1 TB. VxFS uses extent based allocation. The maximum extent size is 64MB for VxFS.
Support for Large Files -NTFS • Support up file size to 2 TB. • The disk space allocation mechanism in NTFS is essentially extent-based. • Each file in NTFS is mapped by an entry in the master file table or MFT. • The NTFS literature refers to logical blocks as clusters. Allowable cluster sizes range from 512 bytes to 64 KB, depend on volume size.
Rapid Crash Recovery - UFS • Traditional UFS did not provide journaling. • In case of a system failure, the program fsck is used by UFS to check the file system. • The key point is that everything must be checked whether it has been changed recently or not. • Sun implemented an optional journal for the UFS file recovery in Solaris 2.7.
Rapid Crash Recovery - VxFS • VxFS employs a metadata journaling scheme for recovery. • The VxFS log is synchronous. In addition to metadata logging, VxFS allows small synchronous writes to be logged as well. This could be advantageous for databases running within the file system. • VxFS does allow the log to be placed on a separate device if desired.
Rapid Crash Recovery - NTFS • NTFS also uses a synchronous metadata journal to a log file that is typically a few megabytes in size. • As such, the log cannot be allocated on a separate device to enhance performance. • The FAT file system doesn’t offer any of these features. FAT does maintain two copies of the file-allocation table, in case one copy is damaged, instead, you must run a utility such as Scandisk.
Other unique features • UFS-Because of its long lifespan, UFS has been enhanced in many areas. However, none of its incarnations has any single unique feature that all the others lack. In many senses UFS still serves as a precursor of VxFS and other advanced Unix file systems. • VxFS-Veritas promotes the on-line administration features of VxFS and its support for databases. On-line features include ability to grow or shrink a file system, snapshot backup and defragmentation. • NTFS- Compare with FAT, the sole unique feature of NTFS is its support for compression, which allows files to be compressed individually, by folder or by volume.(NTFS 5.0 supports encryption).
Feature UFS VxFS FAT NTFS Max FS Size 1 TB 1TB 4GB 2 TB Max File Size I TB 1TB 4GB 2 TB File Space Allocation Blocks Extents Clusters Extents Max Extent Size NA 64 MB NA NA Free Space Mgmt Bitmap per cylinder grp Bitmap per allocation Single Bitmap Single bitmap Variable Block Size? 4KB or 8 KB NA Varies with Volume 512bytes to 64 KB Sparse File Support Yes No No Yes(NT5.0) Directory Organization Linear Hashed No B+ tree Inode allocation Static Dynamic Static Dynamic Crash Recory fsck Synchronous journal Scandisk Synchronous journal Compress & encryption Yes Yes No Yes (NT 5.0) Feature comparison among UFS, VxFS, FAT, NTFS
Conclusion UFS has been in use for years, so many system administrators are familiar and comfortable with it. VxFS provides modest improvements over UFS and works well in many environments. NTFS is the only advanced file system currently available for Windows NT, and therefore has a captive audience.
Reference Avi Silberschatz, Peter Galvin. Applied Operating System Concept. New York: John Wiley, 2000. Overview of FAT, HPFS, and NTFS File System. Microsoft Product Support Service. March, 2000 Jeffrey Richter and Luis Felipe Cabera. A File System for the 21th century: Previewing the Window NT 5.0 File System. Microsoft System Journal. November 1998. Choosing between FAT and NTFS. Microsoft Product Support Service. March 2000 Avi Silberschatz. Operating System Concepts. Philip Trautman and Jim Mostek. Scalability and Performance in Modern File Systems. Custer, Helen. Inside the Windows NT File System. Microsoft Press(1998). Microsoft Corporation