Final Year Project: Using Linux Filesystems Under Windows   Chris Bryden BEng. Electronics and Software Engineering    School of Computer Science   University of Birmingham 56 7.  Analysis This   section   provides   an   assessment   of   the   success   of   the   project. Several  criteria  are  used  to  analyse  the  project,  a  comparison with the original specification, reliability and performance.   The  original  specification  specified  that  the  application  should  read  and write  the  ext2  filesystem,  this  was  very  much  a  long  term  goal,  and  as  more research was conducted it became apparent that to code  filesystem writing was beyond  the  scope  of  the  project.  Learning  about  the  ext2  filesystem  was  a project  aim,  the  code  that  makes  up  the  application  was  written  from  scratch. However, to write a read/write application the best approach would be to port the relevant  kernel  source  to  Windows.  This  is  a  very different project, and is also not a practical proposition in the given timeframe.  The ext2lib library has been designed with expansion in mind. It would be possible, given enough time, to add extra layer 1 functions to enable the library to write to the partition. The main thrust of the project has been to produce the ext2lib library. The user  interface  is  another  complete  program,  using  the  ext2lib  library  to  access the  ext2  filesystem.  The  user  interface  that  is  supplied  with  ext2lib  is  a  simple command  line  interface,  not  the  Windows  Explorer  style  interface  from  the specification.  There  was  simply  insufficient  time  for  the  development  of  the Explorer   user   interface,   however,   because   the   ext2   reading   functions   are contained  in  a  library,  a  user  interface  such  as  this can quite easily be added.       It is due to the fact that the project has produced a dynamic library that can be used by many programs that this flexibility exists to expand the application. The result  of  the  project  has  to  been  to  produce  a  component  that  can  then  be incorporated  by  other  programs  to  produce  a  complete  application.  The  user interface that has been supplied is a simple command line one, and although it can be used very successfully to read an ext2 filesystem, it is mainly intended to be a demonstration tool and an easy to follow implementation example.   The  program  has  been  thoroughly  tested  on  the  development  machine with various different ext2 filesystem installations. However, the shortage of the necessary   hardware   has   meant   that   testing   on   other   machines   has   been somewhat  limited.  To  test  the  library  various  files  of  different  types  and  sizes have been copied form the ext2 filesystem to the DOS filesystem, and the ext2 filesystem was navigated thoroughly using the cd and ls commands. The library has  been  written  with  compatibility  in  mind,  however.  It  used  the  PC  standard BIOS routines to read the disk, and has been designed to cope with variations in ext2 filesystem installations. The library’s reliability is good when the filesystem contains  no  errors,  and  although  measures  have  been  employed  to  prevent program crashes, the results on a filesystem containing errors is unpredictable. The   faults   that   have   been   encountered   are   usually   ‘General   Protection