Difference between revisions of "Operating Systems 2014F: Assignment 8"

From Soma-notes
Jump to navigation Jump to search
Line 12: Line 12:


# [1] What is the connection between the buffer given to the read system call and buf in Memory's read method?  Specifically, how does data move between them?
# [1] What is the connection between the buffer given to the read system call and buf in Memory's read method?  Specifically, how does data move between them?
# [1] How does FUSE bring microkernel-like concepts into the Linux kernel?
# [1] What is a system call that generates a call to Memory's lookup method?
# [1] What is a system call that generates a call to Memory's lookup method?
# [1] What are the storage limits on Memory's filesystem?  Specifically, under what circumstances do you expect it to run out of storage space?
# [1] What are the storage limits on Memory's filesystem?  Specifically, under what circumstances do you expect it to run out of storage space?
# [3] Who owns the files created in Memory's filesystem?  How is this determined?  Is this connected to whether the filesystem was run as root?
# [3] Who owns the files created in Memory's filesystem?  How is this determined?  Is this connected to whether the filesystem was run as root?
# [4] What do attr, data, parent, and children store (as properties of a Memory object)?  Explain what is stored and how it is organized at a high level and using what kind of Python data structures.

Revision as of 15:38, 21 November 2014

This assignment is not yet finalized.

Please submit the answers to the following questions via CULearn by just before midnight (11:55 PM) on Thursday, November 27, 2014. There ?? points in ?? questions.

Submit your answers as a single text file named "<username>-comp3000-assign8.txt" (where username is your MyCarletonOne username). The first four lines of this file should be "COMP 3000 Assignment 8", your name, student number, and the date of submission. You may wish to format your answers in Markdown to improve their appearance.

No other formats will be accepted. Submitting in another format will likely result in your assignment not being graded and you receiving no marks for this assignment. In particular do not submit a zip file, MS Word, or OpenOffice file as your answers document!

Don't forget to include what outside resources you used to complete each of your answers, including other students, man pages, and web resources. You do not need to list help from the instructor, TA, or information found in the textbook.

Note the following questions make reference to the code from Tutorial 8, specifically memoryll.pl.

  1. [1] What is the connection between the buffer given to the read system call and buf in Memory's read method? Specifically, how does data move between them?
  2. [1] How does FUSE bring microkernel-like concepts into the Linux kernel?
  3. [1] What is a system call that generates a call to Memory's lookup method?
  4. [1] What are the storage limits on Memory's filesystem? Specifically, under what circumstances do you expect it to run out of storage space?
  5. [3] Who owns the files created in Memory's filesystem? How is this determined? Is this connected to whether the filesystem was run as root?
  6. [4] What do attr, data, parent, and children store (as properties of a Memory object)? Explain what is stored and how it is organized at a high level and using what kind of Python data structures.