view TaskManager/kernel/schedule/SchedTaskManager.h @ 567:47b61865ea8c

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 22 Oct 2009 23:54:58 +0900
parents 3b7b9caa8f09 125a72948e44
children
line wrap: on
line source

#ifndef INCLUDED_SCHED_TASK_MANAGER
#define INCLUDED_SCHED_TASK_MANAGER

#include <stdio.h>
#include <stdlib.h>
#include "base.h"
#include "SchedTask.h"
#include "TaskManagerImpl.h"

class SchedTaskManager : public SchedTask {
public:
    /* constructor */
    SchedTaskManager(TaskManagerImpl *m);

    virtual ~SchedTaskManager();

    BASE_NEW_DELETE(SchedTask);

    /* variables */

    // Task を実行するスケジューラ自身
    TaskManagerImpl *m;
    
public:
    /* functions */

    // user
    HTaskPtr create_task(int cmd);
    void set_task_depend(HTaskPtr master, HTaskPtr slave);
    void spawn_task(HTaskPtr);
    void set_task_cpu(HTaskPtr, CPU_TYPE);
    void* allocate(int size);
    void* allocate(int size,int align);
    Scheduler* get_scheduler();
};
#endif