\section{Filesystem Basics}

\begin{frame}
   {Filesystem Basics}

   \begin{itemize}
      \item \textbf{Linux} programs read and write files, not
      disk sectors
      \item A \textbf{file} is actually an abstraction camouflaging
      the physical I/O layer
      \item \textbf{Filesystems} create a usable format on a
      physical partition
      \item A \textbf{UNIX}-like filesystem uses a tree
      hierarchy
      \begin{itemize}
         \item Directories contain files and/or other directories
         \item Every path or node is under the root
         (\filelink{/}) directory
      \end{itemize}
      \item Multiple filesystems may be (and usually are) merged
      together into a single tree structure
      \item \textbf{Linux} uses a virtual filesystem layer
      (\textbf{VFS}) to communicate with the filesystem
      software
   \end{itemize}

\end{frame}

\cprotect\note{

   Application programs read and write \textbf{files}, rather
   than dealing with physical locations on the actual hardware
   on which files are stored.

   Files and their names are an abstraction camouflaging the physical
   I/O layer.  Directly writing to disk from the command line (ignoring
   the \textbf{filesystem} layer) is very dangerous and is
   usually only done by low-level operating system software and
   not by user applications.  An exception is some very
   high-end software such as enterprise data bases that do such
   \textbf{cmd} access to skip filesystem-related latency.

   Local filesystems generally reside within a disk partition
   which can be a physical partition on a disk, or a logical
   partition controlled by a \textbf{Logical Volume Manager}
   (\textbf{LVM}).  Filesystems can also be of a network nature
   and their true physical embodiment completely hidden to the
   local system across the network.

}

