网站建设链接演示,深圳做自适应网站设计,佛山网络建设,揭阳网站建设前后台结构
前后台系统也称为中断驱动系统#xff0c;其软件结构的显著特点是运行的程序有前台和后台之分。 在后台#xff0c;一组程序按照轮询方式访问CPU#xff1b;在前台#xff0c;当用户的请求到达时#xff0c;首先向CPU触发中断#xff0c;然后将该请求转交给后…前后台结构
前后台系统也称为中断驱动系统其软件结构的显著特点是运行的程序有前台和后台之分。 在后台一组程序按照轮询方式访问CPU在前台当用户的请求到达时首先向CPU触发中断然后将该请求转交给后台按照后台的运行模式工作。 因此前台处理的是中断级别的事务而后台处理的是非实时程序。
这种系统的一个极端情况是后台是一个简单的循环不做任何事情所有其它工作都是由中断服务程序ISRs完成的这是多任务系统的一种简单形式。 但前后台系统与多任务系统存在本质差别前者的中断事务是外部事件触发通过中断服务程序实现的而后者的多任务是通过内核的某种任务调度策略与机制来调度执行并不直接由事件触发调度。
在前后台系统中前台中断的产生与后台程序的运行在宏观上是并行的中断由外部事件随机产生而且绝大部分不可预知。开发人员还必须解决嵌套中断与后台轮询资源共享的问题。 由于系统对外部事务的响应是由中断触发的因此外部事务的响应时间比轮询方式更短。
运行方式
中断不同于一般的过程调用中断不能进行参数传递中断与后台任务的数据通信完全通过共享存储的方式这样比如会导致多个任务竞争同一存储区的情况。因此前后台系统需要重点考虑的是中断的现场保护和恢复、中断嵌套、中断处理过程与主程序的协调等问题。
系统性能
衡量前后台系统性能的重要指标是响应时间。 由于中断直接提现了系统对外部事件的响应速度因此一般依据中断的执行情况来衡量系统性能。
中断的执行过程主要由中断延迟时间、响应时间和恢复时间来刻画。
响应时间是指从中断发生到中断处理完成所需时间。 恢复时间从中断处理完成到后台重新开始执行所需时间。 延迟时间中断请求的到达到正式开始处理中断服务程序的等待时间。
中断延迟时间 当中断发生时中断服务程序并不一定能立即执行这将引起中断的延迟也可称为响应延迟。 诱发中断延迟的主要原因
被中断的任务有指令正在执行不能被中断。后台任务正在访问某一临界资源此时中断被禁止。有更高优先级的中断正在执行。如果某一时刻多个任务同时提出相同的中断请求系统需要额外的开销决定中断的响应次序。
吞吐量 给定时间内系统处理中断级别事务的总数。其大小依赖于中断响应时间和中断完成后的现场恢复时间。 由于中断时要付出额外的开销现场保护和恢复因此在有较高吞吐量要求的场合中断的事务处理是不合适的。此时往往采用特殊的硬件如DMA进行处理或采用轮询方式。
前后台交互
在前后台系统中某些情况下前台的中断级事务与后台的任务需要进行信息或数据的交换简称前后台交互。 主要有两种方式可供选择同步信号和数据交互。
同步信号 要求前台中断发送单比特的同步信号给后台任务。 具体实现是当时钟信号到达时前台中断改变后台任务相应寄存器的标志位这样后台在轮询之下根据标志位对后台任务进行处理。当后台任务处理完成之后自己又将其标志位置反以等待新的同步信号的到达。 某些时候前台同时提出多个中断请求要求某一后台任务进行处理此时需要设置一个计数器而不仅仅是个标志位。 前台中断使计数器的值增加后台任务使计数器的值减少这样的计数器就变成一个整形信号量Integer Semaphore。
数据交互 前后台系统的数据交互是通过共享存储的方式来实现的。当前台的ISRs与后台任务共享某一存储区时必须采取互斥机制来确保共享存储区数据的一致性。