Find Jobs
Hire Freelancers

A Portable File System using Contiguous Allocation Method for GCP VM

$30-250 USD

Closed
Posted over 5 years ago

$30-250 USD

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: 1. PFS is NOT a memory based file system, but based on the existing file system on your OS, such as Windows or Linux/Unix. 2. 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 3. Filenames are a maximum of 20 bytes. And, file extension is optional like Unix/Linux. 4. 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 . . . 5. 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". 6. Your file system should use Contiguous Allocation for an allocation scheme where “disk block” size is 256 bytes. 7. 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). 8. 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. 9. 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. 10. 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.
Project ID: 18260199

About the project

10 proposals
Remote project
Active 5 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
10 freelancers are bidding on average $212 USD for this job
User Avatar
typing.. ............... .................
$155 USD in 3 days
5.0 (48 reviews)
7.0
7.0
User Avatar
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 environment. I made many great projects using c++, for example, I made the tools which could convert java codes into c++ scripts, of course garbage collection included, this was very similar to a compiler, and was very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
$150 USD in 3 days
4.9 (203 reviews)
7.3
7.3
User Avatar
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 allocate a new volume, correct? We can discuss details in chat. Best Regards
$100 USD in 3 days
4.8 (5 reviews)
3.9
3.9
User Avatar
Hello there, Can you please describe more about the directory structure and File Block that is expected to be used in the program (as can be seen in the Grading section in the PDF file)? Being developed several programs in Compiler Design in C using various data structures such as stacks, trees, and hash tables, and also being interested in Operating Systems, I would like to help you in completing this assignment. Please reply to this proposal, if you find it useful. Regards, Atul Rajdhar
$160 USD in 5 days
5.0 (4 reviews)
3.7
3.7
User Avatar
Hello my name is Fares, I can get it done perfectly as you want , let's chat when you are online, Thanks
$500 USD in 7 days
5.0 (6 reviews)
3.1
3.1
User Avatar
Thank you for share the project. I'm already finished my bachelor degree in computer science and also worked with Operating System development. I can do your project following instructions on enclosed PDF with extra credits. Please I ask to you see my portfolio/resume and wait for your contact.
$250 USD in 8 days
5.0 (2 reviews)
1.8
1.8
User Avatar
Hello I have vast knowledge on the topic which can help me get the work done perfectly and on time. i am looking forward to working with you. Regards, Evans
$155 USD in 3 days
0.0 (1 review)
2.6
2.6
User Avatar
Please discuss
$70 USD in 4 days
0.0 (0 reviews)
1.2
1.2

About the client

Flag of UNITED STATES
Stratford, United States
0.0
0
Member since Nov 29, 2018

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.