30.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!