UnionFS is a filesystem service for Linux and FreeBSD which implements a union mount for other file systems. Linux (commonly pronounced ˈlɪnəks FreeBSD is a Unix-like free Operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD branch through A union mount is a mount that allows several filesystems to be mounted at one time appearing to be one filesystem In Computing, a file system (often also written as filesystem) is a method for storing and organizing Computer files and the data they contain to make It allows files and directories of separate file systems, known as branches, to be transparently overlaid, forming a single coherent file system. Contents of directories which have the same path within the merged branches will be seen together in a single merged directory, within the new, virtual filesystem.
When mounting branches, the priority of one branch over the other is specified. So when both branches contain a file with the same name, one gets priority over the other.
The different branches may be both read-only and read-write file systems, so that writes to the virtual, merged copy are directed to a specific real file system. This allows a file system to appear as writeable, but without actually allowing writes to change the file system, also known as copy-on-write. Copy-on-write (sometimes referred to as "COW" is an optimization strategy used in Computer programming. This may be desirable when the media is physically read-only, such as in the case of Live CDs. A live CD or live distro is a computer Operating system that is executed upon boot, without installation to a Hard disk drive.
In KNOPPIX, a union between the file system on the CD-ROM or DVD and a file system contained in an image file called knoppix. Knoppix, or KNOPPIX (nopɪks is a GNU/Linux Operating system based on Debian designed to be run directly from a CD / DVD CD-ROM (an initialism of "Compact Disc Read-Only Memory " is a pre-pressed Compact Disc that contains data accessible to but not writable DVD (also known as " Digital Versatile Disc " or " Digital Video Disc " - see Etymology)is img on a writable drive (such as a USB memory stick) can be made, where the writable drive has priority over the read-only filesystem. This allows the user to change any of the files on the system, with the new file stored in the image and transparently used instead of the one on the CD. 
UnionFS can also be used to create a single common template for a number of file systems, or for security reasons. It is sometimes used as an ad-hoc snapshotting system. Ad hoc is a Latin phrase which means "for this [ Purpose ]" In computer file systems, a snapshot is a copy of a set of files and directories as they were at a particular point in the past
Unionfs for Linux has two versions. Version 1. x is a standalone one that can be built as a module. Version 2. x is a newer, redesigned, and reimplemented one. As of January 2007, Unionfs 2. 0 has been included into Andrew Morton's Linux -mm tree, thus slated for eventual inclusion in the Linux kernel mainline source tree. Andrew Keith Paul Morton (born 1959 in England) is an Australian software engineer, best known as one of the lead developers of the Linux kernel Among Linux kernel developers the -mm tree refers to a version of the kernel Source code maintained by Andrew Morton. Version 2. x is the smallest implementation of unioning for Linux, it is heavily tested and inspected by many kernel developers, and it is more efficient.
aufs is an alternative version of unionfs for Linux. Aufs (AnotherUnionFS is an alternative version of Unionfs, a filesystem service which implements a Union mount for Linux File systems It has
Plan 9 from Bell Labs operating system uses union mounts extensively to build custom namespaces per user/processes. Plan 9 from Bell Labs is a Distributed operating system, primarily used for research An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination A namespace is an abstract container or environment created to hold a logical grouping of unique identifiers (i The same concept, implemented as "union mount", has also been available in BSD, since at least 1995.