第16章 测试任务调度算法

如何知道任务调度算法是正确的,可以创建800个(包括任务0)任务(当前任务优先级数目为32),任务执行下面的代码。

void task_func(void)  
    {  
           int pid = current->pid;  
           int x,y,z;  
           y = pid/32;  
           x = pid%32;  
           z = y*160 + x*4;  
           z += 0xb8000;  
           while(1)  
           {  
               __asm__("incb (%%eax)"::"a"(z));    
           }  
    }  

这800个任务会在屏幕上不断打印25*32=800个字符,打印字符的顺序是从上到下,从左到右。从上到下代表在同一个优先级上的时间片轮转算法,从左到右代表不同优先级任务的优先级算法。

任务

Leave a Reply

Your email address will not be published. Required fields are marked *