Implement a file system, part 1. For this step only a very basic file system is needed, but it will become more sophisticated in the future, so don't over-simplify or you'll have to change nearly everything. It should operate on an emulated disc (like "an emulated disc drive" from class 3), so mistakes won't do any harm. The file system should be implemented as a library of functions that could be used by programs instead of the standard low-level input/output functions such as open, read, write, close, etc. At this stage you only need to support plain text files in a single root directory. Subdirectories will come later. Required functionality: * Create a new emulated disc drive and format it don't forget to create an empty root directory and provide some way of knowing which blocks are free. * Create a new file * Add data to an existing file * Read the contents of a file * List the root directory * Delete a file Develop incrementally. Gradually build on little successes and it is relatively easy. Along with your code and test program(s) also submit some small documentation describing your disc and file structures, and the important functions, and including your still-to-be-done list.