-
存储设备维护手册 - EMC DataDomain 2500 空缓冲区
资源介绍
图 3.8 空缓冲区
OSStart()的代码如程序清单 L3.25所示。当调用 OSStart()时,OSStart()从任务就绪表
中找出那个用户建立的优先级最高任务的任务控制块[L3.25(1)]。然后,OSStart()调用高优先
级就绪任务启动函数 OSStartHighRdy()[L3,25(2)],(见汇编语言文件 OS_CPU_A.ASM),这
个文件与选择的微处理器有关。实质上,函数 OSStartHighRdy()是将任务栈中保存的值弹回
到 CPU 寄存器中,然后执行一条中断返回指令,中断返回指令强制执行该任务代码。见
9.04.01节,高优先级就绪任务启动函数 OSStartHighRdy()。那一节详细介绍对于 80x86微处
理器是怎么做的。注意,OSStartHighRdy()将永远不返回到 OSStart()。
程序清单 L3.25 启动多任务.
void OSStart (void)
{
INT8U y;
INT8U x;
if (OSRunning == FALSE) {
y = OSUnMapTbl[OSRdyGrp];
x = OSUnMapTbl[OSRdyTbl[y]];