一种内存占用小、支持并发的微程模型及调度方法技术

技术编号:14421027 阅读:95 留言:0更新日期:2017-01-12 23:22
本发明专利技术针对大多数无线传感网络中传感微节点的内存小、有特殊实时性等需求,提出一个新的并发编程模型:微程模型,并提出基于该微程并发模型的调度方法。在本发明专利技术中,微程是任务的一种,是一个或一系列开放的程序段的执行过程,是基于此模型的操作系统的一个基本调度单位。微程在程序段内必须连续执行,不允许进入阻塞状态,但是程序段之间可以阻塞。微程模型这样的特点和提出的微程调度方法,可以满足微程实时并发的特殊要求,且不同的微程在一个上下文环境中调度,只需要一个执行堆栈,从而最大限度满足小内存开销要求。

【技术实现步骤摘要】

本专利技术涉及一种新的编程模型-微程,并基于此的调度方法,可用于在无线传感网络中传感器微节点操作系统中的程序模型支持。本专利技术属于计算机

技术介绍
无线传感网络的产生和发展,物联网、互联网的融合,对于推动普适计算具有极其重要的意义。各种各样的感知节点通过协议组网,形成无线传感网络,这些感知节点的类型多种多样,形成底层传感网络的数据采集和节点控制功能。传感网络从无操作系统、无软件平台状态,逐步形成操作系统和软件平台。由于大多数传感节点是资源极为有限的,需要提出特殊的节电、资源分配、调度的技术,同时又根据应用系统的需要,有实时性要求,传统的嵌入式系统的编程模型在许多方面需要改进。操作系统技术无疑是无线传感网络的重要支撑技术之一。由于无线传感网络应用在功能和性能方面的特殊性,要求操作系统能够高效地组织和管理硬件资源。对于传感器网络中单个传感微节点而言,具有硬件资源有限、节点的计算能力和存储能力都很小的特点,通常一个传感微节点可能只有几K字节的内存。另外,无线传感网络应用也有其特点,一是它的并发性很密集,即可能存在多个需要同时执行的逻辑控制,需要操作系统能够有效的完成这种频繁发生、并发程度高、执行过程比较短的逻辑控制事务;二是无线传感网络应用的相关性很强,不同的应用对实时性等性能参数要求也不同,操作系统本身需要提供不同的机制来满足这些需求。调度方法是操作系统的核心机制,它代表操作系统向上层应用程序提供什么样的调度和执行机制,在很大程度上决定了操作系统的特性。无线传感器网络常常需要处理一些频繁发生的、执行过程比较短的事务。但是当前主流操作系统的事件例程都采用了“run-to-completion”的执行方式,无法保证系统的实时性。无线传感器网络的应用又是多样性的,对那些没有实时性要求的应用或任务也需要提供很好的支持。目前,在一般的嵌入式系统中采用的进程、线程并发模型,对于极端受限的微节点也是代价过大;所以,有的系统实现则利用一个程序循环的机制代替并发处理,实际上并非是并发处理机制。总之,对于无线传感网络中的传感微节点操作系统来讲,并发模型的设计是一个核心和困难的问题。
技术实现思路
本专利技术的目的,在于提供一种可用于在无线传感网络中传感微节点操作系统中的程序模型,并提出其调度方法。按该程序模型调度的操作系统实现,可以满足无线传感网络的内存小同时有并发机制的需求。任务调度是操作系统的核心问题,是解决任务并发性、同步互斥及任务间通信的关键。除了有的传感操作系统将线程称作任务外(有的文章把线程误认成为本专利技术所提出的微程,应该还原其线程的本来面目),现有支持事件的系统一般要求任务是一个连续执行不能阻塞的程序段,这样在应用设计阶段就增加了任务设计划分的难度,增加了应用程序设计的难度。实际的任务一般是执行一段时间后需要等待某个事件,等该事件发生后接着执行,此时就只能将一个完整任务分解为若干个任务才能符合这种实时系统的要求。在本专利技术中,考虑到传感系统的资源受限问题和并发性的特点,提出了“微程”并发模型。在本专利技术中,微程是任务的一种,是一个或一系列开放的程序段的执行过程,是本操作系统的基本调度单位之一。微程在程序段内必须连续执行,不允许进入阻塞状态,但是程序段之间可以阻塞,这样的设计是考虑到很多传感节点的任务有典型的特点:周期性,事件响应。这样,微程就提供了并发执行的最小单位,可以以此为基础设计调度算法。通过配置支持不同级别的任务,可以有效地适应不同类型的资源受限传感节点硬件。操作系统每次调度任务的一个程序段。调度的结果是任务完成或任务进入阻塞状态。微程有自己的状态转换图,如下说明。就绪态:微程处于就绪态,表示此微程已经具备运行条件,随时可以执行;只是由于目前微处理器正在执行优先级更高的微程而暂时无法得到执行。所有就绪的微程,按照截止时间排在一个就绪队列中,截止时间最早的微程排在队列最前面。执行态:表示该微程当前正在执行。处于执行态的微程来源于就绪态或者被抢占态的微程。如果有更早截止时间微程就绪,当前执行的微程会被抢占而转到被抢占态;如果当前执行的微程由于请求资源而得不到满足,则会转入到阻塞态,调度程序会重新调度就绪或者被抢占的微程;如果当前执行的微程执行完毕,则进入到完成态,退出调度。被抢占态:该状态表示微程已经开始执行,但是由于在执行过程中遇到了更紧急的微程而暂时被搁置。当前执行的微程执行完毕或者被阻塞时,调度程序会选择处于被抢占态和就绪态中截止时间最早的微程,进入执行态。阻塞态:执行中的微程由于请求资源而得不到满足会进入到阻塞态;当请求的资源可用时,会从阻塞态进入到就绪态。完成态:表示该微程目前已经执行完毕。一个逻辑上统一的微程在系统中的实现也是一个微程,有一个统一的截止时间,并不会分成多个微程。如果微程中有资源访问等阻塞操作,则将微程分段(Section)。也就是说,每个微程可以由多个程序段(Section)组成,每个程序段必须连续运行不会阻塞,但是程序段之间可以阻塞。与一般实时任务不同的是,本专利技术考虑了相邻段之间阻塞的时间。只要分析计算出段与段之间的最大阻塞时间值,以及每一段程序的执行时间,便可以确定每个程序段的截止时间。每个段的截止时间是与整个微程的截止时间相关联的,根据每个段的截止时间,每次调度微程的一个程序段。这种将微程分成多个程序段,而不是分成多个微程方案,不但减少了代码量,同时也保证了系统会根据逻辑上统一的事务的实际截止时间来调度。解决了一般实时系统中将一个逻辑任务分为多个运行任务的截止时间问题。一个微节点系统的设计则可以有多个微程。所有的微程则共享一个应用堆栈,由调度机制进行调度。实际上微程是为线程模型提供了一种最大程度节约内存的方法,这在大一些的系统中实际是不需要的,但在传感微节点中确实是必要的。这样做的好处就是比线程调度节省了应用堆栈的空间,同时又可以根据传感结点应用程序功能的特点,满足并发的实时性要求。提出微程并发模型后,解决了进程和线程占用资源相对较多的问题。作为适应不同资源大小的技术,同时又可以采用统一的节点操作系统,使系统中的应用程序模型规范统一,基于本专利技术的操作系统可以提供综合的任务调度,即任务调度优先的微程任务与线程的混合调度策略,包括微程调度、线程调度和后台事务调度。微程调度优先级最高,其次是线程调度,后台事务调度优先级最低。此不作为本专利技术的内容。本专利技术适用于无线传感网络传感节点操作系统,能够满足完成频繁的并发性任务这项重要需求,也能满足应用的多样性需求。附图说明:图1微程状态转换图;图2微程的程序段(Section);图3微程调度示意图。具体实施方式:本专利技术的目的,在于提供一种可用于在无线传感网络中传感微节点操作系统中的程序模型,并提出其调度方法。按该程序模型调度的操作系统实现,可以满足无线传感网络的内存小同时有并发机制的需求。对于无线传感网中大部分传感节点有限的硬件资源,其硬件资源的充分性程度从极度微小到我们普通的嵌入式设备的一般性资源,总体上需要充分发挥有限资源利用率的最大化,还要保证系统响应的实时性等特点,同时也能满足应用的多样性需求,对那些没有实时性要求的应用或任务提供很好的支持。这样的要求无论是事件驱动并发模型还是一般嵌入式设备的进程、线程并发模型都不能满足要求本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201510365867.html" title="一种内存占用小、支持并发的微程模型及调度方法原文来自X技术">内存占用小、支持并发的微程模型及调度方法</a>

【技术保护点】
一种微程并发模型,用于无线传感网络中资源受限传感微节点,其特征是,微程是任务的一种,是一个或一系列开放的程序段的执行过程;一个微程包含一至多个有限的代码节,程序段内连续执行,程序段间可以阻塞。

【技术特征摘要】
1.一种微程并发模型,用于无线传感网络中资源受限传感微节点,其特征是,微程是任务的一种,是一个或一系列开放的程序段的执行过程;一个微程包含一至多个有限的代码节,程序段内连续执行,程序段间可以阻塞。2.如权利要求1中所述的微程,其特征是,在微程调度模式下,微程是基于此模型的操作系统基本调度单位。3.如权利要求1中所述的微程,其特征是,其程序段的单次执行时间是计算的;该计算结果用于调度计算中。4.权利要求1中所述的微程,其调度方法的特征是,微...

【专利技术属性】
技术研发人员:顾玉良
申请(专利权)人:北京中科院软件中心有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1