论文部分内容阅读
在通信设备中广泛使用嵌入式系统作为通信控制部件。随着网络应用的快速增长,对承担网络传输的通信设备提出了快速、支持多业务、支持多协议的要求,致使现代通信设备中的嵌入式系统十分复杂。为了降低通信应用软件开发的难度,在通信设备中引入了嵌入式操作系统支撑层。嵌入式操作系统支撑层是建立在嵌入式操作系统之上,并对其功能进行扩展,为通信应用软件开发提供支持的软件系统。本论文对嵌入式系统、嵌入式操作系统和VxWorks进行了研究,并对嵌入式操作系统支撑层进行了总体描述。在此基础上重点论述了一个嵌入式操作系统支撑层调度管理的设计与实现。首先论述了调度管理模块的总体结构,接下来论述了核心数据区的设计和组织,最后描述了调度管理模块的进程队列操作子模块、进程通信子模块、进程调度子模块、进程控制子模块的设计与实现。嵌入式操作系统支撑层调度管理实现了一个建立在嵌入式操作系统VxWorks任务调度之上的两级调度系统,第一级为VxWorks实现的基于优先级的抢占式任务调度,第二级为调度管理实现的基于消息驱动的先进先出的进程调度。进程是由调度管理实现的,承载在任务之下的调度单位,可以看成子任务。本论文在核心数据区的设计和组织中,提出了在逻辑上保证对核心数据区的互斥访问方法,从而在不使用互斥信号量的情况下保证了核心数据区的一致性。省去了设置大量的信号量及相应的获取及释放信号量的代码,从而实现了简单性和高效率。在进程通信子模块中,提出并实现了一种零拷贝的消息传递机制,大大地提高了进程之间消息传递的效率。在进程调度子模块,提出了一种基于消息驱动的先进先出的进程调度策略,这种调度策略一方面具有先进先出调度的简单性,又能很好的保证对系统中所有进程的公平和快速响应。