Final Year Project: Using Linux Filesystems Under Windows   Chris Bryden BEng. Electronics and Software Engineering    School of Computer Science   University of Birmingham 59 descriptors and  the superblock, not to mention files and directories, in order to implement the filesystem commands. As a read-only method of accessing an ext2 filesystem the library still has deficiencies. Due to it’s reliance on DPMI to access the PC BIOS directly, it will not work under Windows NT. Also, it’s use of DPMI limits it to being coded as a 16 bit library, rather than the more efficient 32 bit programs used by Windows 95. This restriction to a 16 bit library has also meant that the long filenames used by Windows  95  have  not  been  supported.  The  C  code    used  to  implement  the library is not ideal in style and some rough edges still remain, especially in the area of memory management. This is due to the fact that the project provided an exercise whose main benefit was learning how to program in C. The code style represents   this   learning   process,   with   the   implementation   improving   as   the project   progressed.   Unfortunately   time   did   not   permit   re-coding   of   dubious sections with the benefit of the knowledge gained during the project. The result of this is that reliability and performance are not optimal. Allowed further time there are many developments that could be made to the  project.  Obviously,  write  enabling  the  library  would  be  a  huge  advantage. However  this  is  a  technically  difficult  proposition  that  would  require  a  long development  time  and  major  additions  to  the  library.  Also  the  library  does  not currently  handle  symbolic  links,  correcting  this  is  a  smaller  task,  though.  An improvement  that could be achieved without changing the library in any way is implementing a graphical user interface. The best solution would be to write an application  that  embeds  the  functions  performed  by  the  library  within  Windows Explorer.  This  would  mean  that  a  mounted  ext2  filesystem  would  appear  as  a read-only  disk  within  Explorer,  enabling  files  to  be  dragged  and  dropped  into directories   on   the   FAT/VFAT   disks   that   are   already   visible   to   Explorer   as standard.   To conclude, the project has resulted in a genuinely useful and extendible program,   however,   this   seems   a   secondary   achievement   compared   to   the amount that was learned about the ext2 filesystem (and filesystems in general), programming for MS Windows in C and the requirements necessary  to manage a large project.