|
主要问一问题有以下几个:
1:#include <linux/slab.h>
temporary=(struct prio_array *)kmalloc(sizeof(struct prio_array),1);
这样进行结构体分配空间是否有语法上的错误 ,,,????
2,我改进实时高度的主要思想是增加一个队列,只要是实时进程都进这个队列,然后这个队列是个哈希结构,这样调度实时进程时可以在O(1)的时间内选中,而不需要遍历整个队列....
增加队列的数据结构如下:
#define MAX_PRIO 100
struct prio_array{
int proc_num; /*队列中的进程数目*/
int Max_realhighest; /*当前最高的优先级实时进程*/
struct task_struct *newqueue[MAX_PRIO];/*这里的数组号为实时进程的goodness 的值减去1000*/
};
struct prio_array *using,*used,ARRAY[2];/*ARRAY[0]为当前可以运行队列,ARRAY[1]为等待分配时间片队列*/
我想问的第二个问题是:我分辨实时进程和普通进程是通过policy的值进行的,如果调度策略为shedother则为普通进程,否则为实时进程.....这样可不可以...????
3,,大家觉得我这种方案可不可行,,,,主要是现在进不了系统了都,找不到原因,,, |
|