Assignment 3 - Persistent Block Storage You need to have JavaScript enabled in order to access this site. Skip To Content XXXXXXXXXXDashboard XXXXXXXXXXAccount XXXXXXXXXXDashboard XXXXXXXXXXCourses...

I need help on my systems program assignment


Assignment 3 - Persistent Block Storage You need to have JavaScript enabled in order to access this site. Skip To Content Dashboard Account Dashboard Courses Groups Calendar 0 Inbox Help Close My Dashboard CMPSC 311 Summer 2019 Assignments Assignment 3 - Persistent Block Storage 2195 - 201819S1 Home Syllabus Announcements Media Gallery Modules Piazza Assignments Quizzes Examity Grades People Library Resources My Media Assignment 3 - Persistent Block Storage Submit Assignment Due Jul 15 by 11:59pm Points 100 Submitting a file upload File Types tar.gz and tgz Available after Jul 4 at 11:59pm Assignment #3 - Persistent Block Storage CMPSC311 - Introduction to Systems Programming Summer 2019 - Prof. McDaniel Due date: July 15, 2019 (11:59pm UTC-4) All remaining assignments for this class are based on the creation and extension of a user-space device driver for a in memory filesystem that is built on top of a block storage device. At the highest level, you will translate file system commands into memory frame level memory operations (see memory interface specification below). The file system commands include open, read, write, seek and close for files that are written to your file system driver. These operations perform the same as the normal UNIX I/O operations, with the caveat that they direct file contents to the block storage device instead of the host filesystem. The arrangement of software is as follows:   System and Project Overview In the previous assignment, you wrote a basic device driver that sits between a virtual application and virtualized hardware. The application makes use of the abstraction you will provide called Block Memory System (BLOCK). As a reminder, the design of the system is shown in the figure to the right: In this assignment, you will have to implement a new functionality for the driver you previoulsy wrote: persistence across sequential runs. What this means in practice is that your code should now be able to "remember" the state of the BLOCK device after it was powered off and on again. The next section will go into more details on how to implement this. All the code you need for this assignement is already in your possession. The only new file you will need is a new workload that is provided below. This workload whould be run after the first workload has been successfully run. If both workloads pass successfully, you most likey implemented the persistence correctly. How to implement the persistence In the code that was given to you in the previous assignment, the BLOCK device is already configured to write its contents to a file (called block_memsys.bck) when it is powered off (i.e. it receives the BLOCK_OP_POWOFF opcode), and read it back when powered on (i.e. when it receives the BLOCK_OP_INITMS opcode. This means that when you initialize the device, its memory state (the contents of its frames) is the same as when you last powered it off. The steps you then have to take to implement persistence are:   Disable the zero-ing of the memory in block_poweron(). Determine how you want to store the files metadata in the device, and make sure the frames you want to use for this purpose cannot be used to store file data by you other functions. In your block_poweroff() function, add a step that will write the metadata of your files to these frames
Jul 08, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here