Nuleus PLUS中断处理

本文介绍了Nucleus操作系统中的低级(LISR)和高级(HISR)中断处理程序的区别及应用, 并对比了Linux操作系统中断处理机制的上半部和下半部的工作原理。

中断发生的时候,Nucleus挂起当前的任务,处理器的控制权转交给中断处理程序(ISR)。ISR要使用系统功能,就不可避免的要使用到公共资源,而这些资源是需要保护的,保护的办法之一就是在运行ISR的时候屏蔽其它中断,但对于实时系统来说,这显然不是一个好办法,为此,Nucleus通过把应用程序的ISR区分为低级和高级中断处理程序。
低级中断
低级中断服务子程序(LISR)和普通的ISR一样运行在当前的堆栈空间,LISR运行之前系统需要保护处理器现场,运行结束之后恢复现场,但是对于LISR,只有小部分的Nucleus PLUS服务可以被使用,要使用更多的系统服务,就需要使用高级中断服务子程序(HISR)。
高级中断
高级中断服务子程序(HISR)支持动态创建和删除,每个HISR有自己的堆栈空间和控制块,HISR必须在LISR激活之前被创建。
HISR有三个优先级,低优先级的HISR可以被高优先级的HISR抢获处理器。

======================================================================

LISR和HISR是针对OS中断处理不同层次需要而设计的,LISR在硬件中断时立即从Vector表产生,对其执行时间必须要求相当苛刻,所以一般是什么都事都不干,仅仅做一个中断触发标记(当然也有例外,对于有些时间要求更高的FIQ的ISR,必须使其放在LISR处理)。而HISR其实是一个独立于TASK之外而比TASK高级的服务例程,它进行真正的中断处理,因此,它会在LISR完的下一次OS线程调度时触发出来,但是,HISR对执行时间要求也很短。

--------------------------------------------

对于Linux,中断分为两个部分,上半部和下半部(bottom half),在上半部执行的时候,是关中断的,而在下半部执行的时候,是开中断的,即可以响应其它的中断。
在上半部中,处理的是很紧急的事情,而在下半部中则可以执行不那么紧急的。
比如对于网卡来说,在中断上半部中,将网卡中的数据拷贝到内存中来,而在下半部中,则将这些数据通过网络协议栈给传到上层去。


http://bliuqing.iteye.com/blog/1408432

基于NSGA-III算法求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文主要介绍基于NSGA-III算法求解微电网多目标优化调度的研究,并提供了完整的Matlab代码实现。研究聚焦于微电网系统中多个相互冲突的目标(如运行成本最小化、碳排放最低、可再生能源利用率最大化等)之间的权衡优化问题,采用NSGA-III(非支配排序遗传算法III)这一先进的多目标进化算法进行求解。文中详细阐述了微电网的数学模型构建、多目标优化问题的定义、NSGA-III算法的核心机制及其在该问题上的具体应用流程,并通过仿真案例验证了算法的有效性和优越性。此外,文档还提及该资源属于一个更广泛的MATLAB仿真辅导服务体系,涵盖智能优化、机器学习、电力系统等多个科研领域。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及工程技术人员。; 使用场景及目标:①学习和掌握NSGA-III等先进多目标优化算法的原理与实现;②研究微电网能量管理、多目标优化调度策略;③获取可用于科研或课程设计的Matlab代码参考,快速搭建仿真模型。; 阅读建议:此资源以算法实现为核心,建议读者在学习时结合代码与理论背景,深入理解目标函数的设计、约束条件的处理以及NSGA-III算法参数的设置。同时,可利用文中提供的网盘链接获取更多相关资源,进行横向对比和扩展研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值