From 2e131e00a6761348ce342e5deadf88e62f32663c Mon Sep 17 00:00:00 2001 From: Seth Leifheit Date: Tue, 19 Mar 2024 17:52:48 -0500 Subject: [PATCH] readyqueue up to date --- .../Simulation_Project1.dir/eventQueue.cpp.o | Bin 22984 -> 22144 bytes .../Simulation_Project1.dir/main.cpp.o | Bin 106280 -> 106328 bytes eventNode.h | 8 +-- eventQueue.cpp | 27 ++++--- main.cpp | 68 +++++++++++++++++- readyQueue.cpp | 40 ++++++++++- readyQueue.h | 9 +++ 7 files changed, 136 insertions(+), 16 deletions(-) diff --git a/cmake-build-debug/CMakeFiles/Simulation_Project1.dir/eventQueue.cpp.o b/cmake-build-debug/CMakeFiles/Simulation_Project1.dir/eventQueue.cpp.o index 87f5d870d4eeec26f8f1ceaaf310ec3ca15a3b5a..a725334f675680deca162f2b2bc2bf85730679e0 100644 GIT binary patch literal 22144 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 R+jyW(N3+j{Fx5x@`(GrwjfemM literal 22984 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 diff --git a/cmake-build-debug/CMakeFiles/Simulation_Project1.dir/main.cpp.o b/cmake-build-debug/CMakeFiles/Simulation_Project1.dir/main.cpp.o index 3707609c925e39776bd5eeebc41fa08c2f8ac45b..476ded9f5c26e2e1c6ca8952b73946db97bd06d4 100644 GIT binary patch delta 32058 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 PmJ2v^_@gayVDkS5Xf;rk delta 32062 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 diff --git a/eventNode.h b/eventNode.h index 8880eeb..2f8842b 100644 --- a/eventNode.h +++ b/eventNode.h @@ -1,9 +1,9 @@ #ifndef EVENT_NODE_H #define EVENT_NODE_H -//Header file for node funciton prototypes. +//Header file for node function prototypes. struct Node{ int processID; - double arrivalTime; + double eventTime; int eventType; //Enum: //CPU Arrival = 1 @@ -18,9 +18,9 @@ struct Node{ Node* next; //Constructor: - Node(int ID, double arrival, int type, double Ts){ + Node(int ID, double time, int type, double Ts){ processID = ID; - arrivalTime = arrival; + eventTime = time; eventType = type; burst = Ts; waitTime = 0; diff --git a/eventQueue.cpp b/eventQueue.cpp index cd42703..55f9602 100644 --- a/eventQueue.cpp +++ b/eventQueue.cpp @@ -27,14 +27,20 @@ class EventQueue { } // Method to insert a new node at the beginning of the list - void insert(int ID, double arrival, int type, double Ts) { - Node* newNode = new Node(ID, arrival, type, Ts); - Node* current = head; - while(!(current->next == nullptr)) - { - current = current->next; + void insert(int ID, double time, int type, double Ts = 0.0) { + Node* newNode = new Node(ID, time, type, Ts); + //Node* current = head; + if (head == nullptr) + head = newNode; + else{ + //newNode->next = head; + //head = newNode; + Node* temp = head; + while (temp->next != nullptr){ + temp = temp->next; + } + temp->next = newNode; } - current->next = newNode; } @@ -45,10 +51,13 @@ class EventQueue { cout << endl; while (current) { std::cout << "PID: " << current->processID << ", Process Type: " << current->eventType - << ", Arrival Time: " << current->arrivalTime << ", Ts: " << current->burst << endl; + << ", Arrival Time: " << current->eventTime << ", Ts: " << current->burst << endl; current = current->next; } std::cout << std::endl; } - + + Node* get_head() { + return head; + } }; \ No newline at end of file diff --git a/main.cpp b/main.cpp index 7eac517..443905c 100644 --- a/main.cpp +++ b/main.cpp @@ -1,18 +1,82 @@ #include "eventQueue.cpp" -#include "readyQueue.h" +#include "readyQueue.cpp" #include #include #include using namespace std; +void handle_ARR(double, bool, Node*, EventQueue); +void handle_DEP(Node*); + + int main(){ double lambda = 0; + double clock = 0.0; + bool CPU_idle = true; + int eventID = 0; EventQueue eventQueue; + ReadyQueue readyQueue_CPU; + ReadyQueue readyQueue_Disk; eventQueue.insert(11, 0.0, 1, 3.3); eventQueue.insert(12, 3.3, 1, 3.0); eventQueue.insert(13, 4.0, 1, 3.0); eventQueue.insert(14, 6.2, 1, 2.9); + readyQueue_CPU.insert(20); + + //create a loop that creates events. must create arrivals with poisson distributions. + while(!(eventID == 10000)) { + //begin running the simulation processes on the CPU and each time a process starts + //create a departure event, time = clock + Ts, calculate probability of exit vs. disk + Node* event = eventQueue.get_head(); //returns head of event queue + clock = event->eventTime; + switch(event->eventType) { + case 1: + handle_ARR(clock, CPU_idle, event, eventQueue); + case 2: + handle_DEP(event); + } + } + + + //eventQueue.display(); +} + +void handle_ARR(double clock, bool &idle, Node* event, EventQueue &queue, ReadyQueue &rqCPU){ + bool CPU_idle = idle; + EventQueue eventQueue = queue; + ReadyQueue readyQueue_CPU = rqCPU; + int pID = event->processID; + double time = event->eventTime; + double burst = event->burst; + + if(CPU_idle){ + eventQueue.insert(pID, clock + burst, 2); + CPU_idle = false; + idle = CPU_idle; + } + else + //enqueue PID into ready queue + readyQueue_CPU.insert(pID) + + eventQueue.insert(100, random, 1, clock + burst); +} + +void handle_DEP(double clock, bool &idle, Node* event, EventQueue &queue, ReadyQueue &rqCPU){ + bool CPU_idle = idle; + EventQueue eventQueue = queue; + ReadyQueue readyQueue_CPU = rqCPU; + int pID = event->processID; + double time = event->eventTime; + double burst = event->burst; - eventQueue.display(); + if (readyQueue_CPU.isEmpty()) { + CPU_idle = true; + idle = CPU_idle; + } + else{ + //pop pid from ReadyQueue + //...^^ + eventQueue.insert(pID, clock + burst, 2); + } } \ No newline at end of file diff --git a/readyQueue.cpp b/readyQueue.cpp index ba0af51..f8cf5ef 100644 --- a/readyQueue.cpp +++ b/readyQueue.cpp @@ -1,3 +1,41 @@ #include "readyQueue.h" //Definitions for the Ready Queue, Disk Queue, -//and Event queue. +#include +using namespace std; + +class ReadyQueue{ +private: + ReadyNode* head; + +public: + ReadyQueue() : head(nullptr) {} + + ~ReadyQueue() { + while (head) { + ReadyNode* temp = head; + head = head->next; + delete temp; + } + } + + void insert(int PID){ + ReadyNode* newNode = new ReadyNode(PID); + if (head == nullptr) + head = newNode; + else{ + //newNode->next = head; + //head = newNode; + ReadyNode* temp = head; + while (temp->next != nullptr){ + temp = temp->next; + } + temp->next = newNode; + } + } + + void pop(){} + + bool isEmpty() { + return (head == nullptr); + } +}; diff --git a/readyQueue.h b/readyQueue.h index b5d8d95..74c27a9 100644 --- a/readyQueue.h +++ b/readyQueue.h @@ -1,6 +1,15 @@ #ifndef EVENT_NODE_H #define EVENT_NODE_H //Header file for queue function prototypes. +struct ReadyNode{ + int processID; + ReadyNode* next; + //Constructor: + explicit ReadyNode(int PID){ + processID = PID; + next = nullptr; + } +}; #endif \ No newline at end of file