Operating System Project

Your final project assignment is a simple encrypted file system.  You may choose to either implement it in the kernel, or as a user-level application.

There are several simplifying assumptions that you are free to make:

  • You need only support a single level of names.  In other words, you don’t have to support any subdirectories in your file server.
  • You can ignore the remove and wstat operations.
  • Your server need not authenticate clients.

Start by implementing a basic file system that can handle the create, open, read, write, and stat operations.  Then add some form of encryption.  You’ll need to support a synthetic control file to which the key is written.  As a basic version, keep the contents of the files in memory.  For a more challenging version, store the encrypted files in persistent storage.  I.e. Make your file system implementation exist as a layer on top of an existing file system.

As usual, you should turn in any code you modify or write and documentation for your design and testing.

Order from us and get better grades. We are the service you have been looking for.