一种任务的实时调度实现方法及其系统的制作方法_3

文档序号:9200274阅读:来源:国知局
,一定会多几个时钟周期。
[0052]以下具体陈述较为复杂的操作系统的具体处理方法:
将复杂的操作系统运行状态分为“用户态”和“内核态”。其中,进程任务在用户态运行,通过系统提供的接口,访问外围连接的硬件设备,高效共享系统资源,完成并行任务间的通信和协作。内核态则管理系统硬件资源,调度维护用户进程运行。较佳的,最核心的内核线程可以只负责任务调度和内存管理。
[0053]然后,用户态进程通过系统调用进入内核态运行,系统也可以通过硬件事件中断,迫使用户进程进入内核态.完成系统请求后退出。此时由内核态线程进行任务调度,选取合适的优先进程运行,并把以前的运行进程挂起。用户进程一般均具有一定的生命周期,在完成任务后,释放资源退出系统,并由系统清理其在核心态的占用资源。例如:中断队列注册表,1端口分配等。
[0054]如图2中所示,不同嵌入设备维护的进程方式有差异,可以通过不同输入终端,由用户或特殊事件启动,也可以由系统内预先安排的代码,构造若干用户进程.完成有固定目的的预期任务。
[0055]一般来说,不同系统对实时性的要求有差别,比如多用户登陆的服务器,只要按照时间片公平轮转的算法调度,共享时间片在秒级单位内(计算能力强劲的服务器都以微秒或纳米调度),用户感觉不到在共享使用。而对于局间交换器,通信节点,需要严密的时钟精度同步,并保证低丢包率,实时要求非常高,通常使用专门优化的RT0S。上述方法,依据机器码特点,在不依赖特殊硬件下,能够尽可能的提高所述实时任务调度的通用性。
[0056]而对于日趋复杂的嵌入设备,比如智能手机,由于功能需求不断增加,普遍采用两个以上的处理器架构,一片专用处理器运行RT0S,处理无线通信部分,一片通用处理器,运行用户各种应用,其上选用复杂的通用操作系统。基于实时语音通信的需求,通用处理器也需要对一些应用进行实时处理。
[0057]因此,可以在通用OS的调度算法中,把需要实时性处理的任务,划分到特殊队列,对该队列做优先调度并应用上述的调度算法。
[0058]本发明还提供一种任务的实时调度实现系统。如图2所示,所述系统包括: 任务检测模块100,用于当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
[0059]任务切换模块200,用于当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。
[0060]所述任务检测模块具体包括:新任务执行单元、用于当检测到系统线程创建新任务时,则执行该新任务以及优先级判断单元、用于根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
[0061]更具体的,所述系统还包括:
任务切断模块300、用于当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最尚的任务的优先级是否大于该新任务的优先级。
[0062]较佳的是,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。具体的,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
[0063]综上所述,本发明提供的一种任务的实时调度实现方法及其系统。通过上述方法,可以在RTOS中作为任务调度的实时策略,在不依赖特殊硬件的情况下,提高多任务响应能力。也可以作为通用OS的实时补定,对系统中一群实时要求高的任务组,时间及时响应。
[0064]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【主权项】
1.一种任务的实时调度实现方法,其特征在于,所述方法包括以下步骤: A、当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级; B、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。2.根据权利要求1所述任务的实时调度实现方法,其特征在于,所述步骤A具体包括: Al、当检测到系统线程创建新任务时,则执行该新任务; A2、根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。3.根据权利要求1所述任务的实时调度实现方法,其特征在于,所述还包括: C、当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。4.根据权利要求1所述任务的实时调度实现方法,其特征在于,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。5.根据权利要求1所述任务的实时调度实现方法,其特征在于,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。6.一种任务的实时调度实现系统,其特征在于,所述系统包括: 任务检测模块,用于当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级; 任务切换模块、用于当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最尚的任务调入CPU运行。7.根据权利要求6所述任务的实时调度实现系统,其特征在于,所述任务检测模块具体包括: 新任务执行单元、用于当检测到系统线程创建新任务时,则执行该新任务; 优先级判断单元、用于根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。8.根据权利要求6所述任务的实时调度实现系统,其特征在于,所述系统还包括: 任务切断模块、用于当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。9.根据权利要求6所述任务的实时调度实现系统,其特征在于,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。10.根据权利要求6所述任务的实时调度实现系统,其特征在于,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
【专利摘要】本发明公开了一种任务的实时调度实现方法及其系统。其中,所述方法包括以下步骤:A、当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;B、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。通过上述方法,可以在RTOS中作为任务调度的实时策略,在不依赖特殊硬件的情况下,提高多任务响应能力。也可以作为通用OS的实时补定,对系统中一群实时要求高的任务组,时间及时响应。
【IPC分类】G06F9/50, G06F9/48
【公开号】CN104915256
【申请号】CN201510302282
【发明人】吴中和, 王永珍
【申请人】惠州Tcl移动通信有限公司
【公开日】2015年9月16日
【申请日】2015年6月5日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1