In this assignment, you are to write a simulation of a file system to store text objects. Your file system simulation must understand the following commands (all filenames are single character): cr a --> create a new file named a, size == 0 rm a --> remove file a op a --> open file a cl a --> close file a rd a --> read file a wr a --> write file a cp a b --> copy file a to file b You have to implement the file system structure using the following recommendations: Directory implementation. 1. Linear list Allocation methods. 1. Contiguous allocation. 2. Linked allocation (file allocation table FAT) Free-space management. 1. Free-space list. Protection/security mechanism. 1. Your choice. The intent of this project is that you should have to face and solve several of the problems faced by designers of file systems. However, several simplifications are necessary to achieve a realistic project: 1. The "disk" will be an array of bytes of fixed size (500k?). You may define a class that is an array of fixed size blocks representing disk sectors. 2. All files will be text objects (strings with embedded control characters). 3. You will need a way to drive the file system, i.e. to invoke the methods representing its interface. You should be able to create, delete, read and write files, but when the end of the disk is reached you may terminate your program. Data You should create files and show the performance of your file system commands. For test and debugging purposes, you should also provide a sample set files and calculate results manually. Output Please put together a table showing your simulation results in some clear and useful manner. Your assignment report should include all steps from the Report Requirements. When you analyze the problem, please do not forget to discus the method that will be used. When you design the solution, please do not forget to show the algo
## Deliverables
1) Pseudocode or flowchart of the program 2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 3) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 4) Complete ownership and distribution copyrights to all work purchased.
## Platform
Microsoft Visual C++ for Windows