There are 4 part for the project and the question may be long to read but it’s not a heavy work because there are many examples and explanations for the each parts. *Part 1.  The first part of this project requires that you implement a class that will be used to simulate a disk drive. The disk drive will have numberofblocks many blocks where each block has blocksize many bytes. The interface for the class Sdisk should include : Class Sdisk { public : Sdisk(string diskname, int numberofblocks, int blocksize); int getblock(int blocknumber, string& buffer); int putblock(int blocknumber, string buffer); int getnumberofblocks(); // accessor function int getblocksize(); // accessor function private : string diskname;        // file name of software-disk int numberofblocks;     // number of blocks on disk int blocksize;          // block size in bytes }; An explanation of the member functions follows : Sdisk(diskname, numberofblocks, blocksize) This constructor incorporates the creation of the disk with the “formatting” of the device. It accepts the integer values numberofblocks , blocksize , a string diskname and creates a Sdisk (software-disk). The Sdisk is a file of characters which we will manipulate as a raw hard disk drive. The function will check if the file diskname exists. If the file exists, it is opened and treated as a Sdisk with numberofblocks many blocks of size blocksize . If the file does not exist, the function will create a file called diskname which contains numberofblocks*blocksize many characters. This file is logically divided up into numberofblocks many blocks where each block has blocksize many characters. The text file will have the following structure : -figure 0 (what I attached below) getblock(blocknumber,buffer) retrieves block blocknumber from the disk and stores the data in the string buffer . It returns an error code of 1 if successful and 0 otherwise. putblock(blocknumber,buffer) writes the string buffer to block blocknumber . It returns an error code of 1 if successful and 0 otherwise. IMPLEMENTATION GUIDELINES : It is essential that your software satisfies the specifications. These will be the only functions (in your system) which physically access the Sdisk. NOTE that you must also write drivers to test and demonstrate your program. *Part 2.  The second part of this project requires that you implement a simple file system. In particular, you are going to write the software which which will handle dynamic file management. This part of the project will require you to implement the class Filesys along with member functions. In the description below, FAT refers to the File Allocation Table and ROOT refers to the Root Directory . The interface for the class should include : Class Filesys: public Sdisk { Public : Filesys(string diskname, int numberofblocks, int blocksize); int fsclose(); int fssynch(); int newfile(string file); int rmfile(string file); int getfirstblock(string file); int addblock(string file, string block); int delblock(string file, int blocknumber); int readblock(string file, int blocknumber, string& buffer); int writeblock(string file, int blocknumber, string buffer); int nextblock(string file, int blocknumber); Private : int rootsize;           // maximum number of entries in ROOT int fatsize;            // number of blocks occupied by FAT vector filename;   // filenames in ROOT vector firstblock; // firstblocks in ROOT vector fat;             // FAT }; An explanation of the member functions follows : Filesys() This constructor reads from the sdisk and either opens the existing file system on the disk or creates one for an empty disk. Recall the sdisk is a file of characters which we will manipulate as a raw hard disk drive. This file is logically divided up into number_of_blocks many blocks where each block has block_size many characters. Information is first read from block 1 to determine if an existing file system is on the disk. If a filesystem exist…

Looking for solution of this Assignment?

WHY CHOOSE US?

We deliver quality original papers

Our experts write quality original papers using academic databases.We dont use AI in our work. We refund your money if AI is detected  

Free revisions

We offer our clients multiple free revisions just to ensure you get what you want.

Discounted prices

All our prices are discounted which makes it affordable to you. Use code FIRST15 to get your discount

100% originality

We deliver papers that are written from scratch to deliver 100% originality. Our papers are free from plagiarism and NO similarity.We have ZERO TOLERANCE TO USE OF AI

On-time delivery

We will deliver your paper on time even on short notice or  short deadline, overnight essay or even an urgent essay