任务线程与软件中断的区别
任务在执行时可以被挂起,直到条件(例如数据准备好、信号同步等)得到满足,才可以继续运行。在任务被挂起时,即任务处于暂停或阻塞(Blocked)状态,其它任务线程得到执行,而软件中断做不到这点;
DSP/BIOS内部提供了一组用于任务间通信和同步的内部结构,包括旗语、邮箱、队列和资源锁。而这些数据结构无法用于软件中断的同步和通信;
每个任务都有自己的堆栈区,而软件中断使用共享的系统堆栈;
当任务被创建、删除、退出或切换时,都可用调用特殊函数(钩子函数),这些钩子函数可以用于保存任务的环境而不仅仅是CPU寄存器;
任务线程的优先级比软件中断低,而比后台IDL线程高。任务内部又被划分为16个优先级,其中0级内核保留给LOOP循环使用,用户可使用1-15优先级;
2023-12-20 17:28:10
309KB
BIOS
1