Benjamin's Design Study

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(New page: ==Problem== My design study is a continuation of the 425 project from last semester. The project is a generic file system parser which will be able to directly parse any sort of file sys...)
 
Line 1: Line 1:
 
 
==Problem==
 
==Problem==
 
My design study is a continuation of the 425 project from last semester.  The project is a generic file system parser which will be able to directly parse any sort of file system from a raw disk and display that information in a consistent manner.
 
My design study is a continuation of the 425 project from last semester.  The project is a generic file system parser which will be able to directly parse any sort of file system from a raw disk and display that information in a consistent manner.
  
 
==Requirements==
 
==Requirements==
* The system must be able to handle any directory hierarchy based file system which is used on modern desktop, laptop, server and portable device operating systems today.
+
* The system must be able to handle any directory hierarchy based file system which is used on modern desktop, laptop, server and portable device operating systems today.
* The system must be able to interpret a raw [http://en.wikipedia.org/wiki/Master_boot_record MBR] and determine where the individual partitions are.
+
* The system must be able to interpret a raw [http://en.wikipedia.org/wiki/Master_boot_record MBR] and determine where the individual partitions are.
  
 
==Constraints==
 
==Constraints==
* The produced model of the hard drive must be completely generic and there must not be any file system specific components to it.
+
* The produced model of the hard drive must be completely generic and there must not be any file system specific components to it.
  
 
==Initial Design==
 
==Initial Design==
 +
The initial version only has support for parsing NTFS and FAT, although in the future this will be expanded to include [http://en.wikipedia.org/wiki/HFS%2B HFS+], [http://en.wikipedia.org/wiki/Ext3 EXT], [http://en.wikipedia.org/wiki/Reiserfs ReiserFS], etc.  Currently RAID systems are not handled, although this will be important in the future.
 +
 +
For specifics of how the individual parsers work, and why the classes have been named as they are, the reader is referred to the [http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx FAT] and [http://sourceforge.net/projects/linux-ntfs/files/NTFS%20Documentation/ NTFS] specifications.
 +
 
[[Image:BenjaminDesign1.png]]
 
[[Image:BenjaminDesign1.png]]

Revision as of 23:54, 18 September 2009

Contents

Problem

My design study is a continuation of the 425 project from last semester. The project is a generic file system parser which will be able to directly parse any sort of file system from a raw disk and display that information in a consistent manner.

Requirements

  • The system must be able to handle any directory hierarchy based file system which is used on modern desktop, laptop, server and portable device operating systems today.
  • The system must be able to interpret a raw MBR and determine where the individual partitions are.

Constraints

  • The produced model of the hard drive must be completely generic and there must not be any file system specific components to it.

Initial Design

The initial version only has support for parsing NTFS and FAT, although in the future this will be expanded to include HFS+, EXT, ReiserFS, etc. Currently RAID systems are not handled, although this will be important in the future.

For specifics of how the individual parsers work, and why the classes have been named as they are, the reader is referred to the FAT and NTFS specifications.

BenjaminDesign1.png

Personal tools