vfs db 101 data management fall 2012. outline about the project high level architecture data...

11
VFS DB 101 Data Management Fall 2012

Upload: deirdre-cook

Post on 04-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

VFS

DB 101 Data ManagementFall 2012

Page 2: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

Outline

• About the project• High level architecture• Data Structures to be used• Operators to be implemented• Evaluation mechanism• Project Logistics

Page 3: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

VFS Overview

• VFS – Virtual File System– “File System”– “Virtual”

• Relevance to data management– File system is comprised of a lot of data

and meta-data– All the data need to be managed in a

robust and reliable way– Proper use of data structures is

necessary for managing the complex data

Page 4: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

Key Terms in VFS

• File System – A system that provides a unified mechanism for managing data that is organized in the form of files

• File Blocks – Fundamental storage unit into which files are actually stored. A single file may span across multiple file blocks

• File Descriptors – A data structure that contains meta-data information about the file (name, type, location, etc.)

Page 5: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

VFS Architecture

VFS exists in the form of a big binary file

The binary file includes• Meta-data in the form of serialized data structures• Data in the form binary objects

Client Application

VFS Operators

Page 6: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

VFS Architecture

Meta header (fixed size)(name of file system, number of used file descriptors)

Header (max of N file descriptors + Free list)

Block 0 Block 1 Block 2 ..... Block n-1

Client Application

VFS Operators

Page 7: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

Data structures to be used

• N-ary tree• Hash table• Linked list• Binary Search Tree• Appropriate indexing structure for

content-based search

Page 8: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

VFS Operators

• File System Operators– create_vfs (vfs_label,size) – mount_vfs (vfs_label) – unmount_vfs (vfs_label)

• Directory Operators– makedir (parent_path, dir_name)– deletedir (name) – movedir (source_dir_name,dest_dir_name) – listdir (dir_name,flag) – Create (dest_dir_name, file_name, data)

• File Operators– listfile (file_path) – update (file_path, data)– rm (file_path)– mv (source_file_path,dest_file_path)– copy ( source_file/dir_path,dest_file/dir_path)

Page 9: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

Evaluation Procedure

• Your software will be evaluated using interaction scripts

• Interaction scripts contain a series of VFS operators

• A sample interaction script is shown below:

create_vfs demo01mount_vfs demo01makedir ROOT homemakedir ROOT/home democreate ROOT/home/demo hello.txtlistfile ROOT/home/demo hello.txtunmount_vfs demo01

Page 10: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

Project Logistics

• Teams size – 5 members• Instructor will form the groups and

announce by the end of the week• Weekly project meetings with

mentors• Intermediate project milestones and

evaluations (to be announced)• Individual viva evaluations

Page 11: VFS DB 101 Data Management Fall 2012. Outline About the project High level architecture Data Structures to be used Operators to be implemented Evaluation

Development Environment

• Ubuntu Linux• C programming (gcc compiler)• Build management with ‘make’• Version control with ‘svn’

Enjoy!