A Portable File System using Contiguous Allocation Method for GCP VM

Closed Posted 5 years ago Paid on delivery
Closed Paid on delivery

Implement a Portable File System (PFS) with Contiguous Allocation Method, which can perform “Allocate a file”, and “Move files from the Windows file system into your file.” You should have your own directory structure, allocation table, etc. inside your file. Move files back out of your file to the Windows file system or Linux/Unix file system.

When your program is running it should somehow accept the following commands:

open

PFSfile

Allocate a new 10 KByte "PFS" file if it does not

already exist. If it does exist, begin using it for further

commands.

put

myfile

Copy the Windows (or Unix/Linux) file "myfile" into

your PFS file.

get

myfile

Extract file "myfile" from your PFS file and copy it to

the current Windows (or Unix/Linux) directory.

rm

myfile

Delete "myfile" from your PFS file.

dir

List the files in your PFS file.

putr

myfile "Remarks"

Append remarks to the directory entry for myfile in

your PFS file.

kill

PFSfile

Delete the PFSfile from the Windows file system.

quit Exit PFS.

You can provide those commands through command line interface ONLY (No GUI will be accepted).

Limits:

PFS is NOT a memory based file system, but based on the existing file system on your OS, such as Windows or Linux/Unix.

Command-Line Interface (CLI) Only, i.e., [login to view URL] (in Windows) or shell interface (in Unix/Linux). When PFS is executed, it will show the prompt as:

C:\> [login to view URL] PFS> open pfs

Filenames are a maximum of 20 bytes. And, file extension is optional like Unix/Linux.

The directory need handle only Name, Size, Time and Date. For example,

PFS> dir

[login to view URL]

128

bytes

12:30

PM

September 2

[login to view URL]

512

bytes

11:00

AM

November 11

[login to view URL]

1k

bytes

08:52

PM

September 1

. . .

If the original PFS file fills up then you should create a new PFS "volume" with the same name but a different suffix - e.g., pfs.1, pfs.2, etc., each the same size as the first "volume".

Your file system should use Contiguous Allocation for an allocation scheme where “disk block” size is 256 bytes.

In your files system, each file has one File Control Block (FCB) that includes file name, file size, create time, create date, starting block ID, ending block ID and more (if needed).

Your file system should consist of two main parts, i) Directory Structure and ii) Data Blocks. Therefore, you need to define the directory data structure that includes File Control Block (FCB) for each file.

In addition, your files system should be able to manage free blocks. You can use any techniques that you learned in the classroom, such as bit map (vector) or linked free space management. Free block management should be part of directory structure.

You should handle unusual conditions such as trying to put a file into the PFS when a file with that name is already there, file too large to fit into one "volume", etc.

C Programming C++ Programming Google Cloud Platform Linux UNIX

Project ID: #18280871

About the project

7 proposals Remote project Active 5 years ago

7 freelancers are bidding on average $128 for this job

hbxfnzwpf

I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environ More

$150 USD in 3 days
(138 Reviews)
7.0
liveexperts123

typing.. ............... .................

$155 USD in 3 days
(32 Reviews)
5.9
Mickelson

Hi Nice to meet you. I'm senior c++/c# expert. I have plenty experience of multithreading, opencv, REST api, and entityframework. I checked your file command requirements. No problem to implement all commands. Ju More

$200 USD in 3 days
(43 Reviews)
5.7
edison4mobile

Hi, Dear Employer! How are you? I am really interested in your project. I have enough experience on python, C/C++, C#, java programming My sql and LINUX and API expert. I am 100% sure i can satisfy your requiremen More

$172 USD in 3 days
(10 Reviews)
5.3
mdolgun

Hello, I've carefully read your project document and fully understood it. I can finish it in 3 days including extra credits part. I assume if there is no contigous block of memory enough for a new file, it will allocat More

$80 USD in 3 days
(3 Reviews)
1.8
hayateben76

hello sir i'm good in c and c++ under both windows and Linux and unix I make before Portable File System for linux please sir let me complete your project then you can check it and accept my bid I will se More

$30 USD in 3 days
(0 Reviews)
0.0