project_3 (3)

.docx

School

University of Texas, Dallas *

*We aren’t endorsed by this school

Course

4348

Subject

Computer Science

Date

Dec 6, 2023

Type

docx

Pages

5

Uploaded by MinisterThunder12117

Operating Systems CS4348 Project #3: Disk Allocation Methods Due Date: Monday, November 27, 2023 I. Project Organization This project demonstrates three different file allocation methods. You should do the following pieces to complete your project. Each piece is explained below: Code 60 points Output 30 points Summary 10 points Code Your code should be nicely formatted with plenty of comments. The code should be easy to read, properly indented, employ good naming standards, good structure, etc. Output Output will be graded by running your program. Summary The summary section should discuss your project experience. You should discuss how you approached the project, including anything difficult or interesting, what was learned, and the end result. This should be at least 1 page in length.
II. Project Description Language/Platform/Approach This project must target a Unix platform and execute properly on our cs1 or csgrads1 Linux server. The project must be written in C++ or Java. You should use the approach described under Details unless you have obtained instructor approval for another approach. Problem Overview This project will simulate disk allocation methods. The project will allow the user to choose an allocation method from among the three presented in the textbook. It will allow the user to perform disk operations on a simulated disk. Details The project will consist of three main objects: User interface, File System, Disk Drive. The disk should store its contents in an array. The storage will consist of 256 blocks of 512 bytes each. The first block is for the file allocation table. The second block is a bitmap for free space management. The remaining blocks hold data for the files. The disk object only knows how to read and write blocks by block number (array index). The file system object is responsible for storing and retrieving files on the disk. It can use any of the three file allocation methods the user chooses. Space is allocated using a first available approach, meaning it uses the first free space it finds that satisfies the request. The file system object may use other objects to implement the different allocation methods. The user interface object should provide a menu as shown below and invoke methods on the file system object to support the menu choices. 1) Display a file 2) Display the file table 3) Display the free space bitmap 4) Display a disk block 5) Copy a file from the simulation to a file on the real system 6) Copy a file from the real system to a file in the simulation 7) Delete a file 8) Exit
A command line argument should let the user specify a file allocation method: contiguous, chained, indexed. File names should be up to 8 characters. Names should only have lowercase letters. File extensions are not supported. The maximum file size should be 10 blocks. All files reside at the root level, and subdirectories are not supported. The format of the file allocation table should be as shown in the slides, with a fixed size for each field. Problems such as not having enough space should result in an error message to the user.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help