Context: Operating systems use schedulers to manage tasks based on priority levels. This project simulates a multi-level queue using OOP and STL priority containers. Objective: Build a console app that accepts "Jobs," assigns them a priority, and processes them in order, logging the results to a file.
Functional Requirements: 1.Job Types (Inheritance): Base class Job with derived SystemJob (High Priority) and UserJob (Normal). 2. Queue Management (STL): Utilize std::priority_queue with a custom comparator. 3. Execution Logic (Polymorphism): Virtual execute() function that simulates different processing times. 4. Log Ownership (Move Semantics): Use move semantics to pass completed job logs to a HistoryManager. Technical Requirements: ● DMA: Allocate memory for "Job Payload" data dynamically. ● Exception Handling: Handle "Queue Overflow" or "Job Timeout" errors.