论文部分内容阅读
作为我国自主研发的嵌入式实时操作系统Hopen,随着其应用领域的不断扩展,应用程序的开发速度已经不能满足日益增长的客户需求。因此本文提出Hopen-RT和Linux双内核架构,既能保持Hopen内核的实时性,又能利用Linux内核支持的丰富应用资源。从而避免了对原有内核的大规模改造,以较小的代价使两个操作系统结合起来,配合工作,发挥各自的优越性,解决了Hopen应用不足的问题。本论文提出的Hopen双内核操作系统由Hopen-RT和Linux两个内核构成,Hopen-RT负责执行实时任务,Linux负责执行其他应用。在传统的双内核系统中,实时应用以模块的形式插入内核中运行,而本论文提出的用户态实时进程模型将实时任务从核心态分离出来,在Hopen-RT用户态运行。这避免了实时任务出错时对内核和其他任务产生不良影响,不仅提高了系统的稳定性,还方便了调试,缩短了实时应用程序开发周期。本文主要完成了以下三部分的工作:(1)提出了用户态实时进程模型并改造了Linux进程模型本文将Linux进程的用户空间由3G改为2G,系统空间扩展1G,把这个区域保留出来供实时进程使用;利用i386 CPU段式存储管理机制,为每个实时进程提供了32M私有用户空间,并将其映射到与Linux进程一致的线性空间中。这为Hopen-RT的实时性提供了多方面的重要保障。(2)设计并实现了独特的Hopen-RT内存管理机制本文设计了一个内存页面缓冲池为Hopen-RT核心提供高效的内存页面操作,并采用了一种具有确定执行时间的核心内存分配与回收算法,保障了Hopen-RT的实时性。本文还设计实现了一套虚拟内存管理接口,为实时进程提供虚拟存储器管理操作。(3)设计并实现了实时进程加载方案本文在Linux端设置了文件服务器为Hopen-RT提供文件操作,双方通过虚拟管道来传递加载请求和服务结果,并利用共享内存完成实时进程的动态加载。本文的Hopen双内核操作系统以虚拟中断系统为基础进行设计,并在i386硬件平台上予以实现。实验表明Hopen双内核操作系统运行稳定,实时性强,支持现有各种Linux应用。