07/09/02 23:14:50 O3956k1d
せっかくなのでリストを使わないタスクをネタ代わりに投下
てきとーに作っただけなので、コンパイルすらしてないけどなw
#define MAX_TASK 256;
struct tcb{
void (*proc)(tcb*); //処理関数
int work[10]; //ワーク
};
tcb* make((void (*proc)(tcb*)){
//生成
for(int i=0;i<MAX_TASK;i++){
if(TCB[i].proc == null){
TCB[i].proc = proc;
return &TCB[i];
}
}
return null;
}
void del(tcb* deltcb ){
deltcb->proc = null;
}
void exec(){
//実行
for(int i=0;i<MAX_TASK;i++){
if(TCB[i].proc != null)TCB[i].proc(&TCB[i]);
}
}
tcb TCB[MAX_TASK];