From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../Praktikum1/Aufgabe3/src/EDFScheduler.h | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Master/Real-Time Systems/Praktikum1/Aufgabe3/src/EDFScheduler.h (limited to 'Master/Real-Time Systems/Praktikum1/Aufgabe3/src/EDFScheduler.h') diff --git a/Master/Real-Time Systems/Praktikum1/Aufgabe3/src/EDFScheduler.h b/Master/Real-Time Systems/Praktikum1/Aufgabe3/src/EDFScheduler.h new file mode 100644 index 0000000..a790a0f --- /dev/null +++ b/Master/Real-Time Systems/Praktikum1/Aufgabe3/src/EDFScheduler.h @@ -0,0 +1,40 @@ +/* + * EDFScheduler.h + * + * Created on: 07.11.2010 + * Author: sven + */ + +#ifndef EDFSCHEDULER_H_ +#define EDFSCHEDULER_H_ + +#ifndef TASK_H_ + #include "Task.h" +#endif + +#include + +class EDFComparator; + +typedef priority_queue,EDFComparator> edf_queue; + +class EDFComparator +{ +public: + bool operator()(Task*& a, Task*& b) const + { +// return ( b->getActD() < a->getActD() ); + return ( b->getNextDeadline() < a->getNextDeadline() ); + } +}; +class EDFScheduler { +public: + EDFScheduler(); + virtual ~EDFScheduler(); + void run(task_set&,int); + bool test(task_set&); +private: + edf_queue m_queue; +}; + +#endif /* EDFSCHEDULER_H_ */ -- cgit v1.2.3