Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This must be implemented in C. Hand in your source code and a README file. You should copy all of your source files (*.c and

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

This must be implemented in C.

Hand in your source code and a README file.

You should copy all of your source files (*.c and *.h) and a Makefile to your p4 hand in the directory. Do not submit any .o files.

In your README file you should have the following four sections:

The name and login information for both project partners. A brief description of how you divided the work between you.

Design overview: A few simple paragraphs describing the overall structure of your code and any important structures. For example, include a brief description of the data structures you use to map between addresses and memory objects and a brief description of the policy that used to perform allocations (e.g., first-fit, best-fit, rotating first-fit, buddy, etc),

Complete specification: Describe how you handled any ambiguities in the specification.

Known bugs or problems: A list of any features that you did not implement or that you know are not working correctly

NOTE: -- Kindly give me your email ID so, I'll send out the provided materials (i.e Provided files)

Objectives There are two objectives to this assignment: 1. To understand how file systems work, specifically the directory hierarchy and storage management. 2. To understand some of the performance issues file systems deal with. Overview In this project, we will build a user-level library, libFS, that implements a good portion of a file system. Your file system will be built inside of a library that applications can link with to access files and directories. Your library will in turn link with a layer that implements a "disk"; we provide this library, LibDisk, which you must use. LibFS Specification We'll start by describing the LibFS API to the file system. There are three parts to the APl: two generic file system calls, a set of calls that deal with file access, and a set of calls that deal with directories, and Applications (e.g., your own test applications, and certainly our test applications) will link with LibFS in order to test out your file system. Your library will be tested on how functions and also particularly on how it handles errors. When an error occurs (each possible error is specified below in the API definition), your library should set the global variable osErrno to the error described in the API definition below and return the proper error code. This way, applications that link with your library have a way to see what happened when the error occurred Objectives There are two objectives to this assignment: 1. To understand how file systems work, specifically the directory hierarchy and storage management. 2. To understand some of the performance issues file systems deal with. Overview In this project, we will build a user-level library, libFS, that implements a good portion of a file system. Your file system will be built inside of a library that applications can link with to access files and directories. Your library will in turn link with a layer that implements a "disk"; we provide this library, LibDisk, which you must use. LibFS Specification We'll start by describing the LibFS API to the file system. There are three parts to the APl: two generic file system calls, a set of calls that deal with file access, and a set of calls that deal with directories, and Applications (e.g., your own test applications, and certainly our test applications) will link with LibFS in order to test out your file system. Your library will be tested on how functions and also particularly on how it handles errors. When an error occurs (each possible error is specified below in the API definition), your library should set the global variable osErrno to the error described in the API definition below and return the proper error code. This way, applications that link with your library have a way to see what happened when the error occurred

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions