11-12. USER SPACE FLOPPY DRIVER


The last two problems deal with a floppy driver in user space. Linux provides POSIX api for raw device access, which can be used to write a driver in user-space.

The driver is divided into low level routines (the basic driver) and high level functions (a library). However they are not clearly separated in different modules, therefore they are all in a single file.

WARNING. The code is not completely developped, and it has been tested only on the READ functionalities. The WRITE functionalities have not been verified.

Furthermore, there remains a lot of work to complete the code: a better use of the paging (fd_page_fault), avoiding to read the FAT at once and using a dynamic approach to the FAT table management, ...

I do not know whether i will have the time to finish it, but i put it here as a sketch of the solution, and hoping that the ideas there used will be useful (at least to think about things).

Makefile
fd.h
fd.c
fdtest.h
fdtest.c

Next Prev Up


marco_corvi@geocities.com