File-Management-System

A Basic File Management System allowing various operations such as creating, deleting, renaming a file and directory. It also allows the write text to the file and truncate the text.

Role: Individual Coder

File-Management-System

A Basic File Management System made in Python *without system calls*.
This File System contains two files client.py and server.py.
Supports mutual exclusion of file access through multiple threads. Only one user is able to edit a file at a time.
Solves *race condition problem* by making sure that the file when chosen to be read cannot be written.

Client.py:

Server.py:

Functionalties

Following are the functionalities provided by it:
Creating a new file.
Deleting a file.
Creating a directory.
Checking Direcory if it exists.
Moving the file from one directory to another.
Writing contents to file.
Reading contents of file by either reading the whole file or reading specific contents.
Move contents within file.
Truncates contents of the file.
Showing memory map i.e directory structure.

Note:

Funner.dat is the output text file