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 librarys 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