Assignment for operating systems

. Implement a basic file system managed from within a file. The operations to the file system are to be done using a daemon process running in the background. Applications requiring the use of the file system should connect to the server using some known Unix domain socket. The commands are given on the socket. Develop a protocol for this purpose. The file system should have the following capabilities:
i. List files stored along with their sizes.
ii. Create files
iii. Allow changes to files
iv. Delete files
2. Extend the above file system to store information about the files: created time, modified time etc.

  1. Make changes to the above file system to allow it to handle directory information. Allow users to copy and move files between directories.
  2. Extend the above file system to allow compression on files. The files could be individually compressed on the request of the application programs.
  3. Enhance the file system above to allow encryption on files. What other practical uses of the above file system can you find out?
  4. Now implement a Linux kernel module to allow above capabilities. The module should plug into the virtual file system implementation in the Linux kernel. Further it should be available to the users as a loadable kernel module. Note that in this case extensions require adding the capabilities to support file permissions, file attributes and formatting capabilities.

Hi @skurge98 welcome to the community!
This appears to be homework. We want to help you get the information you need, but we also are concerned that just giving you the answer will rob you of the necessary skills you’ll need to develop. If you can describe the things you’ve tried and how they haven’t worked for you, perhaps someone can give you a nudge in the right direction.


1 Like