Skip to content

abhirupdas99/Distributed-File-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Distributed File System using Socket Programming

This project implements a basic Distributed File System (DFS) in C using socket programming. It was developed as part of the COMP-8567: Operating Systems course at the University of Windsor during Summer 2025.

🧱 Project Overview

The system mimics a multi-server file storage mechanism where:

  • All clients interact only with Server S1
  • Based on file extensions, S1 routes files to other backend servers:
    • .c β†’ stored in S1
    • .pdf β†’ routed to S2
    • .txt β†’ routed to S3
    • .zip β†’ routed to S4

Each server runs on a different terminal and communicates via sockets.


πŸ“ Directory Structure

istributed-file-system/ β”‚ β”œβ”€β”€ client/ β”‚ └── w25clients.c β”‚ β”œβ”€β”€ servers/ β”‚ β”œβ”€β”€ S1.c β”‚ β”œβ”€β”€ S2.c β”‚ β”œβ”€β”€ S3.c β”‚ └── S4.c β”‚ β”œβ”€β”€ docs/ β”‚ └── W25_Project.pdf β”‚ β”œβ”€β”€ .gitignore β”œβ”€β”€ README.md └── LICENSE (optional)

🧠 Supported Commands

uploadf filename destination_path
downlf filename
removef filename
downltar filetype
dispfnames pathname

## πŸš€ Compilation

gcc -o S1 servers/S1.c
gcc -o S2 servers/S2.c
gcc -o S3 servers/S3.c
gcc -o S4 servers/S4.c
gcc -o client client/w25clients.c

## πŸ§ͺ Run Instructions

Open separate terminals for S1, S2, S3, and S4.

Run each server binary.

Then run the client and enter any of the supported commands.

## πŸ“„ Documentation
Project description and command details can be found in docs/W25_Project.pdf.

About

A basic Distributed File System implemented in C using socket programming. Developed as part of COMP-8567: Operating Systems course at the University of Windsor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages