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.

3.2.1.1 <strong>File</strong> <strong>System</strong> Layout<br />

<strong>Gannet</strong>FS file system is a logical entity with inodes <strong>and</strong> data blocks. From higher<br />

level point <strong>of</strong> view, <strong>Gannet</strong>FS consist <strong>of</strong> an array <strong>of</strong> data blocks which is managed<br />

<strong>and</strong> marshaled by two stacks data structure.<br />

Initial Design <strong>of</strong> Data Object Layout<br />

The initial design to organize the data object on <strong>Gannet</strong>FS file system is by using two<br />

types <strong>of</strong> arrays to accommodate the metadata file <strong>and</strong> data file, respectively. This<br />

array contains number <strong>of</strong> fixed allocated memory called block. Each type <strong>of</strong> array<br />

has a stack to manage the allocation <strong>of</strong> block as illustrated on diagram below.<br />

Stack<br />

<br />

Stack<br />

<br />

Inodes Blocks<br />

Figure 3.1 Illustration initial design <strong>of</strong> data object<br />

Stack has function to manage the allocation <strong>for</strong> blocks by storing a set <strong>of</strong> free blocks.<br />

As the system needs a block to store a file or metadata, the stack returns an address<br />

<strong>of</strong> free block <strong>and</strong> pop the address out <strong>of</strong> the stack. If the system has freed the<br />

allocation <strong>of</strong> a block, the address <strong>of</strong> unused block is inserted to the stack. Hence, by<br />

23

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

Saved successfully!

Ooh no, something went wrong!