Exemplo n.º 1
0
    def generate_tasks(self):
        self.tasks = []
        run_time_distribution_list = self.adjust_distribution(self.conf.RUN_TIME_DISTRIBUTION)
        start_time_distribution_list = self.adjust_distribution(self.conf.START_TIME_DISTRIBUTION)
        task_type_distribution_list = self.adjust_distribution(self.conf.TASK_TYPE_DISTRIBUTION)
        initial_cpu_distribution_list = self.adjust_distribution(self.conf.INITIAL_CPU_DISTRIBUTION)
        static_priority_distribution = self.adjust_distribution(self.conf.STATIC_PRIORITY_DISTRIBUTION)
        for i in range(1, self.conf.TASK_AMOUNT + 1):
            task = Task(self.conf)
            task.pid = i
            task.start_jiffies = self.get_rand_from_distribution(start_time_distribution_list)
            task.allocated_jiffies = self.get_rand_from_distribution(run_time_distribution_list)
            task.static_priority = self.get_rand_from_distribution(static_priority_distribution)

            task.initial_cpu = self.get_rand_from_distribution(initial_cpu_distribution_list)
            """if task_type is the same with the cpu's type, 
            process will perform better on this cpu"""
            task.task_type = self.get_rand_from_distribution(task_type_distribution_list)
            task = self.adjust_task(task)
            self.tasks.append(task)
            pass

        return self.tasks