Skip to content

YashGPT-Dev/SmartURL-OS-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 SmartURL-OS-Simulator

A systems-oriented URL Shortener built in C++ that combines real-world URL management with core Operating System concepts such as Process Scheduling, Memory Management, Deadlock Prevention, Multithreading, and Analytics Monitoring.

📌 Features

URL Shortening

  • Generate short URLs
  • Custom aliases
  • URL expiration support
  • Click tracking
  • Alias collision protection

Operating System Simulation

  • First Come First Serve (FCFS)
  • Shortest Job First (SJF)
  • Round Robin Scheduling
  • Throughput Calculation

Memory Management

  • FIFO Page Replacement
  • LRU Page Replacement
  • Optimal Page Replacement

Concurrency & Synchronization

  • Multithreaded request handling
  • Semaphore-based connection pool
  • Mutex synchronization
  • Deadlock-safe resource management using std::scoped_lock

Analytics Dashboard

  • URL access statistics
  • CPU scheduling metrics
  • Memory management metrics
  • System throughput monitoring

🏗️ Project Structure

SmartURL-OS-Simulator/
│
├── main.cpp
├── url_database.h
├── analytics_engine.h
└── README.md

⚙️ Technologies Used

  • C++17
  • STL
  • Threads
  • Mutex
  • Condition Variables
  • Semaphores
  • Operating System Algorithms

▶️ Build & Run

Compile:

g++ -std=c++17 -pthread main.cpp -o smarturl

Run:

./smarturl

Windows:

smarturl.exe

📊 Sample Modules

CPU Scheduling

  • FCFS
  • SJF
  • Round Robin

Memory Management

  • FIFO
  • LRU
  • Optimal Page Replacement

Resource Management

  • Concurrent Request Simulation
  • Deadlock Prevention
  • Connection Pool Control

🎯 Learning Outcomes

This project demonstrates practical implementation of:

  • Operating System Concepts
  • Process Scheduling Algorithms
  • Memory Management Techniques
  • Concurrency & Synchronization
  • System Design Fundamentals
  • Modern C++ Programming

📈 Future Enhancements

  • Persistent File Database
  • CSV Analytics Export
  • Interactive CLI Interface
  • Real QR Code Generation
  • REST API Integration
  • Distributed URL Storage

👨‍💻 Author

Yash Gupta

Computer Science Engineering Student | Systems Programming | AI & Software Development

About

A C++ URL Shortener integrated with Operating System concepts including Process Scheduling, Memory Management, Deadlock Prevention, Multithreading, Analytics Dashboard, and Concurrent Request Simulation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages