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.
- Generate short URLs
- Custom aliases
- URL expiration support
- Click tracking
- Alias collision protection
- First Come First Serve (FCFS)
- Shortest Job First (SJF)
- Round Robin Scheduling
- Throughput Calculation
- FIFO Page Replacement
- LRU Page Replacement
- Optimal Page Replacement
- Multithreaded request handling
- Semaphore-based connection pool
- Mutex synchronization
- Deadlock-safe resource management using
std::scoped_lock
- URL access statistics
- CPU scheduling metrics
- Memory management metrics
- System throughput monitoring
SmartURL-OS-Simulator/
│
├── main.cpp
├── url_database.h
├── analytics_engine.h
└── README.md
- C++17
- STL
- Threads
- Mutex
- Condition Variables
- Semaphores
- Operating System Algorithms
Compile:
g++ -std=c++17 -pthread main.cpp -o smarturlRun:
./smarturlWindows:
smarturl.exe- FCFS
- SJF
- Round Robin
- FIFO
- LRU
- Optimal Page Replacement
- Concurrent Request Simulation
- Deadlock Prevention
- Connection Pool Control
This project demonstrates practical implementation of:
- Operating System Concepts
- Process Scheduling Algorithms
- Memory Management Techniques
- Concurrency & Synchronization
- System Design Fundamentals
- Modern C++ Programming
- Persistent File Database
- CSV Analytics Export
- Interactive CLI Interface
- Real QR Code Generation
- REST API Integration
- Distributed URL Storage
Yash Gupta
Computer Science Engineering Student | Systems Programming | AI & Software Development