You Need To Write And Test File System Simulation Software Atos Fs That Does The Fol 2894877

CISC 3595 Operating Systems
Course Project
You work in the new product development group of a large company called Acme Computer Systems. You have been assigned the task of constructing the file system module of the new (Linux based) operating system ATOS (Acme Table Operating System) for your company’s soon to be released latest model tablet computer. You are responsible for all parts of this project including
– Development and documentation of the file system specifications, emphasizing what is important for a tablet-based file system
– Development and documentation of the design of the file system, levering what you knew about file systems and tablet requirements to pick the best Linux inspired design approach
– Development and documentation of all the software
– Development and documentation of the test cases and test results used to validate your software.
What software you need to build
You need to write and test file system simulation software ATOS-FS that does the following:
1. Implements a file storage mechanism that respects the constraints of the tablet application. All your files are to be stored in memory only using a DISK API (described below) as your storage mechanism. You cannot just ‘pass through’ your directory and file systems commands to the underlying file system on the computer you are using for development.
2. Implement an API for the following file system operations: Create, Delete, Open, Close, Read, Write, Stats.
3. Implement at least a one-level, flat directory structure and an API for the directory command List to list the directory.
4. Provide a front-end user interface ATOS-UI that implements the following text commands:
a. CREATE filename — creates the file and enters it into the directory with zero size
b. DELETE filename – deletes the file and reclaims its space
c. DIR – lists all the filenames, their sizes and the amount of free space left.
d. EDIT filename – whatever you type after this goes into the file until you press the EOF character (^D).
e. TYPE filename – prints the contents of the file to the screen.
f. EXIT – ends your program
What do you need to hand in?
1. You need to submit all your software. It should be in multiple files in a single folder along with a makefile to compile it.
2. You need to submit a final project report that should include:
a. Your design decisions
b. Description of your algorithms
c. Your user interface description
d. Your testing log and results
– Project counts for 10% of your grade
o Documents count for 4%
o Working code counts for 6%
ATOS-FS API Specifications – Overview
bool Create(string filename); // creates 0 sized file called filename, returns true if successful else false.
bool Delete(string filename); // deletes file called filename, returns space back to the free space pool.
int Open(string filename, string mode); // opens file called filename in the mode request and returns an integer file handle that can be used for read or write depending on mode
bool Close(int handle); // closes the file with this handle, returns true if successful or false if not.
int Read(int handle, int numchars, char *buffer); // reads numchars from file with this handle and returns these in buffer. Returns the number of characters actually read (might be less than numchars), or -1 if there is an error (e.g., no such handle).
int Write(in handle, int numchars, char *buffer); // writes numchars chars that are in buffer to the file with this handle. Returns the number actually written or -1 if there is an error.
int Stats(filename); // returns the current size of filename
vector List(); // returns a list of all currently existing file names as stings
bool CreateDisk(int blocksize, int numblocks); // creates disk with this size
bool WriteDisk(int offset, char blockbuffer[blocksize]);// writes a block to the disk at location offset
bool ReadDisk(int offset, char blockbuffer[blocksize]);// reads the disk block at location offset into the block buffer
struct { vector data; } blockType;
struct { vector disk; int blocksize; int numblocks; } diskType;
ATOS-UI Specifications – Overview
$ ./CISC3595_myteamname_atos-fs
Xyz abc defg h456 8
1 2 3 4 that’s all
$$ DIR
ATOS-FS Directory Listing
FREE SPACE 999 blks
Xyz abc defg h456 8
1 2 3 4 that’s all
$$ DIR
ATOS-FS Directory Listing
FREE SPACE 1000 blks
1. The prompt is a double dollar sign followed by a space.
2. In DIR there is one tab at the start of each row and 3 tabs between names and file sizes.


Prof. Angela


Calculate Price

Price (USD)
Open chat