summaryrefslogtreecommitdiff
path: root/sag-0.6.1-www/Invisible/sag-0.6/node42.html
diff options
context:
space:
mode:
Diffstat (limited to 'sag-0.6.1-www/Invisible/sag-0.6/node42.html')
-rw-r--r--sag-0.6.1-www/Invisible/sag-0.6/node42.html91
1 files changed, 91 insertions, 0 deletions
diff --git a/sag-0.6.1-www/Invisible/sag-0.6/node42.html b/sag-0.6.1-www/Invisible/sag-0.6/node42.html
new file mode 100644
index 0000000..3a78689
--- /dev/null
+++ b/sag-0.6.1-www/Invisible/sag-0.6/node42.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!--Converted with LaTeX2HTML 96.1-h (September 30, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
+<HTML>
+<HEAD>
+<TITLE>What are filesystems?</TITLE>
+<META NAME="description" CONTENT="What are filesystems?">
+<META NAME="keywords" CONTENT="sag">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+<LINK REL=STYLESHEET HREF="sag.css">
+</HEAD>
+<BODY LANG="EN" >
+ <A NAME="tex2html849" HREF="node43.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="./next_motif.gif"></A> <A NAME="tex2html847" HREF="node41.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="./up_motif.gif"></A> <A NAME="tex2html841" HREF="node41.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="./previous_motif.gif"></A> <A NAME="tex2html851" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="./contents_motif.gif"></A> <A NAME="tex2html852" HREF="node114.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="./index_motif.gif"></A> <BR>
+<B> Next:</B> <A NAME="tex2html850" HREF="node43.html">Filesystems galore</A>
+<B>Up:</B> <A NAME="tex2html848" HREF="node41.html">Filesystems</A>
+<B> Previous:</B> <A NAME="tex2html842" HREF="node41.html">Filesystems</A>
+<BR> <P>
+<H2><A NAME="SECTION00581000000000000000">What are filesystems?</A></H2>
+<P>
+ A <b>filesystem</b> is the methods and data structures that an
+ operating system uses to keep track of files on a disk or partition;
+ that is, the way the
+ files are organized on the disk. The word is also used to
+ refer to a partition or disk that is used to store the files
+ or the type of the filesystem. Thus, one might say ``I have
+ two filesystems'' meaning one has two partitions on which one
+ stores files, or that one is using the ``extended
+ filesystem'', meaning the type of the filesystem.
+<P>
+ The difference between a disk or partition and the filesystem
+ it contains is important. A few programs (including,
+ reasonably enough, programs that create filesystems) operate
+ directly on the raw sectors of a disk or partition; if there
+ is an existing file system there it will be destroyed or
+ seriously corrupted. Most programs operate on a filesystem,
+ and therefore won't work on a partition that doesn't contain
+ one (or that contains one of the wrong type).
+<P>
+ Before a partition or disk can be used as a filesystem, it
+ needs to be initialized, and the bookkeeping data structures need
+ to be written to the disk. This process is called
+ <b>making a filesystem</b>.
+<P>
+ Most UNIX filesystem types have a similar general structure,
+ although the exact details vary quite a bit. The central
+ concepts are <b>superblock</b>, <b>inode</b>, <b>data block</b>,
+ <b>directory block</b>, and <b>indirection block</b>. The
+ superblock contains information about the filesystem as a
+ whole, such as its size (the exact information here depends
+ on the filesystem). An inode contains all information about
+ a file, except its name. The name is stored in the directory,
+ together with the number of the inode. A directory entry consists
+ of a filename and the number of the inode which represents the
+ file. The inode contains the numbers of several data blocks,
+ which are used to store the data in the file. There is space
+ only for a few data block numbers in the inode, however, and if more
+ are needed, more space for pointers to the data blocks is allocated
+ dynamically. These dynamically allocated blocks are indirect
+ blocks; the name indicates that in order to find the data block,
+ one has to find its number in the indirect block first.
+<P>
+ UNIX filesystems usually allow one to create a <b>hole</b>
+ in a file (this is done with <tt>lseek</tt><A NAME="1557">&#160;</A>; check the manual
+ page), which means that the filesystem just pretends that at a
+ particular place in the file there is just zero bytes, but no
+ actual disk sectors are reserved for that place in the file
+ (this means that the file will use a bit less disk
+ space). This happens especially often for small binaries, Linux
+ shared libraries, some databases, and a few other special cases.
+ (Holes are
+ implemented by storing a special value as the address of the
+ data block in the indirect block or inode. This special address
+ means that no data block is allocated for that part of the file,
+ ergo, there is a hole in the file.)
+<P>
+ Holes are moderately useful. On the author's system, a simple
+ measurement showed a potential for about 4&nbsp;MB of savings through
+ holes of about 200&nbsp;MB total used disk space. That system, however,
+ contains relatively few programs and no database files. The
+ measurement tool is described in appendix&nbsp;<A HREF="node111.html#chapmeasureholes">A</A>.
+<P>
+<HR><A NAME="tex2html849" HREF="node43.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="./next_motif.gif"></A> <A NAME="tex2html847" HREF="node41.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="./up_motif.gif"></A> <A NAME="tex2html841" HREF="node41.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="./previous_motif.gif"></A> <A NAME="tex2html851" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="./contents_motif.gif"></A> <A NAME="tex2html852" HREF="node114.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="./index_motif.gif"></A> <BR>
+<B> Next:</B> <A NAME="tex2html850" HREF="node43.html">Filesystems galore</A>
+<B>Up:</B> <A NAME="tex2html848" HREF="node41.html">Filesystems</A>
+<B> Previous:</B> <A NAME="tex2html842" HREF="node41.html">Filesystems</A>
+<P><ADDRESS>
+<I>Lars Wirzenius <BR>
+Sat Nov 15 02:32:11 EET 1997</I>
+</ADDRESS>
+</BODY>
+</HTML>