Development and Implementation of a File System for Gannet Virtual ...
Development and Implementation of a File System for Gannet Virtual ...
Development and Implementation of a File System for Gannet Virtual ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.2 <strong>File</strong> <strong>System</strong> Background Knowledge<br />
A file system provides the mechanism <strong>for</strong> storing <strong>and</strong> accessing data. It consists <strong>of</strong><br />
two types <strong>of</strong> entities. First is collection <strong>of</strong> files which storing the data. Another one is<br />
directory which organizes set <strong>of</strong> files inside. Hence, a file system provides a high<br />
level abstraction <strong>of</strong> file on a system. it provides not only a way to store <strong>and</strong> organize<br />
data as files, but also a set <strong>of</strong> function that can be run over files on file system.<br />
This section will describe several techniques <strong>for</strong> storing file in storage <strong>and</strong> describe<br />
the structure <strong>of</strong> directory. Moreover, this section also describes the storage<br />
management <strong>of</strong> files <strong>and</strong> directories on a storage device.<br />
2.2.1 Storage Management<br />
The management <strong>of</strong> disk is a major concern on file system as files <strong>and</strong> directory<br />
stored on disk. There are two approaches <strong>for</strong> storing a file. First is dynamic<br />
allocation disk approach by using consecutive bytes <strong>of</strong> disk space. Every file has<br />
different size <strong>of</strong> storage space depending on its size. Un<strong>for</strong>tunately, it has major<br />
drawback. The problem arises when a file grows, as this approach has no support<br />
<strong>for</strong> enlarge the dynamic block, it needs to be allocated to a new disk space which has<br />
bigger size.<br />
Secondly is fixed allocation storage by dividing disk into fixed-size blocks. However,<br />
the size <strong>of</strong> fixed blocks is a big issue on file system design. Because, if using small<br />
allocation unit, it means that a file will consist <strong>of</strong> number <strong>of</strong> blocks. Writing a file to<br />
disk will consume large overhead as there will be number <strong>of</strong> allocation block <strong>for</strong> a<br />
file. Furthermore, reading blocks requires a seek overhead <strong>and</strong> delay. Hence,<br />
reading <strong>and</strong> writing a file on small blocks will be slow.<br />
9