1.前后台系统:前后台系统的架构用一句话来形容的话,就是一个大的循环,加上中断,就形成了一个整的体系。
假设来了中断需要处理模块3,如果模块3的处理是最紧迫的,但是当前cpu 只运行到模块1, 这样的话,必须还要承受模块2的运行时间延迟,才能轮到模块3的处理,当模块越多的时候很可能情况更糟糕。单个循环要解决此类问题的话,只能在中断里面去处理紧急事件,这样会造成中断执行太长,造成多层的中断嵌套,最终可能导致中断栈空间爆掉。更重要的是:不是所有的中断都是紧急的重要的,很可能各个要处理的模块优先级要大于不紧急的中断处理。这样造成的后果是不但各个模块间不能相互通讯,而且实时模块完全得不到处理,在一个中大型软件项目中,采用此类方法可以说是一种管理的灾难。(实时性差)
2.代码临界区
3.资源:任何为任务所占用的实体都可称为资源,可以是输入设备/输出设备,如打印机;也可以是一个变量,一个结构或一个数组。
4.任务:即线程,每个任务都是一个无限的循环,都可能处于以下5种状态之一:休眠态(相当于任务驻留在内存中,但并不被多任务内核所调度)、就绪态、运行态、挂起态(等待某一事件发生)和被中断态。
5.任务切换:保存正在运行任务的当