统在调用函数OSInit()对系统进行初始化时,先在RAM中建立一个OS_TCB结构类型的数组OSTCBTbl[ ],每个数组元素就是一个任务控制块,然后把这些控制块链接成一个链表。由于链表中的这些控制块还没有具体任务相关联,因此这个链表叫做空链表。uC/OS-II初始化建立的空任务链表的元素一共是OS_MAX_TASKS+OS_SYS_TASKS个。其中定义在文件OS_CFG.H中的常数OS_MAX_TASKS指明了用户任务的最大数目;而定义在文件UCOS_II.H中的常数OS_N_SYS_TASKS指明了系统任务的数目。 每当应用程序调用系统函数OSTaskCreate()创建一个任务时,系统就会将任务控制块链表头指针OSTCBFreeList指向的任务控制块分配给该任务。在给任务控制块中的各成员赋值后,就按任务控制块链表的头指针OSTCBList将其加入到任务控制块链表中。