vfs db 101 data management fall 2012. outline about the project high level architecture data...
TRANSCRIPT
VFS
DB 101 Data ManagementFall 2012
Outline
• About the project• High level architecture• Data Structures to be used• Operators to be implemented• Evaluation mechanism• Project Logistics
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
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.)
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
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
Data structures to be used
• N-ary tree• Hash table• Linked list• Binary Search Tree• Appropriate indexing structure for
content-based search
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)
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
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
Development Environment
• Ubuntu Linux• C programming (gcc compiler)• Build management with ‘make’• Version control with ‘svn’
Enjoy!