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

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages