Support for file systems is highly varied among modern operating systems although there are several common file systems which almost all operating systems include support and drivers for. Operating systems vary on file system support and on the disk formats they may be installed on.
Mac OS X
Mac OS X supports
HFS+ with journaling as its primary file system. It is derived from the
Hierarchical File System of the earlier
Mac OS. Mac OS X has facilities to read and write FAT, NTFS (read-only, although an open-source cross platform implementation known as
NTFS 3G provides read-write support to Microsoft Windows NTFS file system for Mac OS X users), UDF, and other file systems, but cannot be installed to them. Due to its UNIX heritage
Mac OS X now supports virtually all the file systems supported by the UNIX VFS..
Solaris
The
Solaris Operating System uses
UFS as its primary file system. Prior to 1998, Solaris UFS did not have logging/journaling capabilities, but over time the OS has gained this and other new data management capabilities.
Additional features include
Veritas (Journaling)
VxFS,
QFS from
Sun Microsystems, enhancements to UFS including multiterabyte support and UFS volume management included as part of the OS, and
ZFS (open source, poolable, 128-bit, compressible, and error-correcting).
Kernel extensions were added to Solaris to allow for bootable Veritas VxFS operation. Logging or
journaling was added to UFS in
Solaris 7. Releases of
Solaris 10, Solaris Express,
OpenSolaris, and other open source variants of Solaris later supported bootable ZFS.
Logical Volume Management allows for spanning a file system across multiple devices for the purpose of adding redundancy, capacity, and/or throughput. Solaris includes
Solaris Volume Manager (formerly known as Solstice DiskSuite.) Solaris is one of many operating systems supported by
Veritas Volume Manager. Modern Solaris based operating systems eclipse the need for volume management through leveraging virtual storage pools in ZFS.
Linux
Many
Linux distributions support some or all of
ext2,
ext3,
ext4,
ReiserFS,
Reiser4,
JFS ,
XFS ,
GFS,
GFS2,
OCFS,
OCFS2, and
NILFS. The ext file systems, namely ext2, ext3 and ext4 are based on the original Linux file system. Others have been developed by companies to meet their specific needs, hobbyists, or adapted from UNIX, Microsoft Windows, and other operating systems. Linux has full support for
XFS and
JFS, along with
FAT (the
MS-DOS file system), and
HFS which is the primary file system for the
Macintosh.
In recent years support for Microsoft
Windows NT's
NTFS file system has appeared in
Linux, and is now comparable to the support available for other native
UNIX file systems.
ISO 9660 and
Universal Disk Format (UDF) are supported which are standard file systems used on CDs, DVDs, and BluRay discs. It is possible to install Linux on the majority of these file systems. Unlike other operating systems, Linux and UNIX allow any file system to be used regardless of the media it is stored in, whether it is a hard drive, a disc (CD,DVD...), an USB key, or even contained within a file located on another file system.
Microsoft Windows
Microsoft Windows currently supports NTFS and
FAT file systems (including
FAT16 and
FAT32), along with
network file systems shared from other computers, and the ISO 9660 and UDF filesystems used for
CDs,
DVDs, and other optical discs such as
Blu-ray. Under Windows each file system is usually limited in application to certain media, for example CDs must use ISO 9660 or UDF, and as of
Windows Vista,
NTFS is the only file system which the operating system can be installed on.
Windows Embedded CE 6.0, Windows Vista Service Pack 1, and
Windows Server 2008 support
ExFAT, a file system more suitable for
flash drives.
Special-purpose file systems
FAT file systems are commonly found on
floppy disks,
flash memory cards,
digital cameras, and many other portable devices because of their relative simplicity. Performance of FAT compares poorly to most other file systems as it uses overly simplistic data structures, making file operations time-consuming, and makes poor use of disk space in situations where many small files are present.
ISO 9660 and
Universal Disk Format are two common formats that target
Compact Discs and
DVDs.
Mount Rainier is a newer extension to UDF supported by Linux 2.6 series and Windows Vista that facilitates rewriting to DVDs in the same fashion as has been possible with floppy disks.
Journalized file systems
File systems may provide
journaling, which provides safe recovery in the event of a system crash. A journaled file system writes some information twice: first to the journal, which is a log of file system operations, then to its proper place in the ordinary file system. Journaling is handled by the file system driver, and keeps track of each operation taking place that changes the contents of the disk. In the event of a crash, the system can recover to a consistent state by replaying a portion of the journal. Many UNIX file systems provide journaling including
ReiserFS,
JFS, and
Ext3.
In contrast, non-journaled file systems typically need to be examined in their entirety by a utility such as
fsck or
chkdsk for any inconsistencies after an unclean shutdown.
Soft updates is an alternative to journaling that avoids the redundant writes by carefully ordering the update operations. Log-structured file systems and
ZFS also differ from traditional journaled file systems in that they avoid inconsistencies by always writing new copies of the data, eschewing in-place updates.
Graphical user interfaces
Most of the modern computer systems support
graphical user interfaces (GUI), and often include them. In some computer systems, such as the original implementations of
Microsoft Windows and the
Mac OS, the GUI is integrated into the
kernel.
While technically a graphical user interface is not an operating system service, incorporating support for one into the operating system kernel can allow the GUI to be more responsive by reducing the number of
context switches required for the GUI to perform its output functions. Other operating systems are
modular, separating the graphics subsystem from the kernel and the Operating System. In the 1980s UNIX, VMS and many others had operating systems that were built this way. Linux and Mac OS X are also built this way. Modern releases of Microsoft Windows such as
Windows Vista implement a graphics subsystem that is mostly in user-space, however versions between
Windows NT 4.0 and
Windows Server 2003's graphics drawing routines exist mostly in kernel space.
Windows 9x had very little distinction between the interface and the kernel.
Many computer operating systems allow the user to install or create any user interface they desire. The
X Window System in conjunction with
GNOME or
KDE is a commonly-found setup on most Unix and
Unix-like (BSD, Linux, Solaris) systems. A number of
Windows shell replacements have been released for Microsoft Windows, which offer alternatives to the included
Windows shell, but the shell itself cannot be separated from Windows.
Numerous Unix-based GUIs have existed over time, most derived from X11. Competition among the various vendors of Unix (HP, IBM, Sun) led to much fragmentation, though an effort to standardize in the 1990s to
COSE and
CDE failed for the most part due to various reasons, eventually eclipsed by the widespread adoption of GNOME and KDE. Prior to open source-based toolkits and desktop environments, Motif was the prevalent toolkit/desktop combination (and was the basis upon which CDE was developed).
Graphical user interfaces evolve over time. For example, Windows has modified its user interface almost every time a new major version of Windows is released, and the Mac OS GUI changed dramatically with the introduction of Mac OS X in 1999.