Manipulate the block-level data storage device

Assignment Help C/C++ Programming
Reference no: EM132400364

Project - File System Implementation (Directory Structures)

Introduction

Hard disks organize data into fixed-sized blocks. When one wants to fetch a particular byte, the entire block in which that byte lives must be fetched. Likewise, when a single byte must be changed, the entire block is first read into memory, the byte is changed and then the entire block is written back to the disk. As application-level programmers, however, we prefer to think in terms of the file system abstraction: a file is a sequence of bytes of some arbitrary length. It is convenient to program with this abstraction in mind: we would like to be able to read a subsequence of the bytes from a file or write a new subsequence of bytes (either overwriting existing bytes in the file, or appending onto the file itself). During these processes, we prefer not to think in terms of which blocks on the hard disk that our bytes are coming from or going to. In addition, the file system abstraction also provides us with a convenient and logical way of finding files. Specifically, we use directories and subdirectories, along with specific names within a directory that map to specific files.

For projects 3 and 4, you will implement a miniature file system, OUFS, that makes the connection between disk blocks and the file system abstraction. We will use a real file on our Linux systems as a virtual hard disk drive. This virtual disk will be accessed one block at a time. Access to the bytes on your virtual disk will be provided by the code that you implemented for projects 1 and 2.

We provide the virtual disk implementation, as well as the file system data structure and a few other components. Your job in project 3 is to implement a hierarchical directory structure. In project 4, you will add files (with content!) to the file system. Specifically, as part of project 3, you will:

- Format the virtual disk with an initial file system. This initial file system will contain a root directory with . and .. already initialized.
- Provide an API of system calls (we won't actually be doing traps, but instead we will be calling functions in a library). These system calls include functionality such as creating/deleting directories and listing the contents of a directory.
- Provide a set of helper functions that make your API easier to implement.

Objectives

By the end of this project, you should be able to:

- Describe the logical data structures that are used by an OS to represent directories and files.

- Show how these logical data structures change under standard file system operations.

- Map these logical data structures onto a block-level data storage device.

- Manipulate the block-level data storage device under standard file system operations.

Attachment:- File System Implementation.rar

Reference no: EM132400364

Questions Cloud

Wellmeadows hospital case study of database systems : The Wellmeadows Hospital Case Study of Database Systems- A Practical Approach to Design, Implementation and Management
Describe the values attributed to computational model : Classify and describe the values attributed to data in a computational model? Describe the values attributed to a computational model?
Strong educational programs : Students are provided with strong educational programs and courses that allow them to be servant-leaders in their disciplines and communities,
Discusses decision making using system modeling : Discusses decision making using system modeling. The author briefly mentions an open source software tool, EMA Workbench that can perform EMA and ESDMA modeling
Manipulate the block-level data storage device : Show how these logical data structures change under standard file system operations and Manipulate block-level data storage device under standard file system
Project file system implementation : Project - File System Implementation (Directory Structures) Describe the logical data structures that are used by an OS to represent directories and files
What are the variables in the research : A social psychologist examines the influence of dispositional aggression (high vs. low) and social power (high vs. low) on nonverbal communication.
Conduct Market Research to help develop your business : You will need to conduct Market Research to help develop your business Give justification when answering questions: What primary research will you conduct? Why
Write a brief proposal of your own variation of experiment : For this assignment, you will write a brief paper on how the scientific process was used to conduct the study and evaluate the results described in the article.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd