Class PriorityDependentTimeSlice
- java.lang.Object
-
- edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.timeslice.impl.ContinuousTimeSlice
-
- edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.timeslice.impl.PriorityDependentTimeSlice
-
- All Implemented Interfaces:
ITimeSlice
,Cloneable
public class PriorityDependentTimeSlice extends ContinuousTimeSlice
-
-
Field Summary
-
Fields inherited from class edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.timeslice.impl.ContinuousTimeSlice
remaining_time, timeslice
-
-
Constructor Summary
Constructors Constructor Description PriorityDependentTimeSlice(ProcessWithPriority process, double basic_timeslice, double min_timeslice, double min_time_to_be_scheduled)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static double
computeTicksFromPriority(IPriority prio, double basic_timeslice)
Computes the length of the current time slice according to the Linux 2.6.18 Scheduler.static double
getBasicTimeSlice(IPriority static_prio, double basicTimeslice)
Processes with a static priority above default are preferred.void
updateTimeForScheduling()
-
Methods inherited from class edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.timeslice.impl.ContinuousTimeSlice
clone, fullReset, getRemainingTime, halfReset, isFinished, punish, setExpired, substractTime, updateTimeForBoosting
-
-
-
-
Constructor Detail
-
PriorityDependentTimeSlice
public PriorityDependentTimeSlice(ProcessWithPriority process, double basic_timeslice, double min_timeslice, double min_time_to_be_scheduled)
-
-
Method Detail
-
computeTicksFromPriority
public static double computeTicksFromPriority(IPriority prio, double basic_timeslice)
Computes the length of the current time slice according to the Linux 2.6.18 Scheduler.- Parameters:
process
-- Returns:
-
getBasicTimeSlice
public static double getBasicTimeSlice(IPriority static_prio, double basicTimeslice)
Processes with a static priority above default are preferred.- Parameters:
static_prio
-- Returns:
-
updateTimeForScheduling
public void updateTimeForScheduling()
- Specified by:
updateTimeForScheduling
in interfaceITimeSlice
- Overrides:
updateTimeForScheduling
in classContinuousTimeSlice
-
-