[发明专利]一种多系统下对实时操作系统所占用内存的保护方法有效
申请号: | 201310063262.8 | 申请日: | 2013-02-28 |
公开(公告)号: | CN103164348A | 公开(公告)日: | 2013-06-19 |
发明(设计)人: | 杨国青;李红;吴朝晖;刘健全 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 实时 操作系统 占用 内存 保护 方法 | ||
技术领域
本发明属于计算机内存管理领域,尤其涉及一种多系统下对实时操作系统所占用内存的保护方法。
背景技术
在嵌入式领域,多个操作系统同时在一个硬件平台上运行是一个趋势,在这些操作系统中实时操作系统是很重要的一类。实时操作系统具有响应及时和可靠性高的特点,这是普通操作系统不能提供的。把实时操作系统和普通操作系统结合起来可以进行操作系统的优势互补,提供更多的功能,获得更高的硬件利用率。但多系统运行在同一个硬件平台上也带来了一些系统安全性的问题,特别是内存安全问题。内存保护是实时操作系统的重要研究内容,内存保护方法的优劣直接关系到实时操作系统的安全性、稳定性和可靠性。
美国WindRiver公司开发的VxWorks嵌入式实时操作系统,支持多任务,所有任务共享一个内存地址空间,彼此之间没有任何保护。这种设计实现简单、执行效率高,能够很好地满足嵌入式实时性需求。但是任务的正确执行完全依赖于程序员编写正确无误的程序。一个任务的错误可能会导致另外的任务无法执行,甚至整个系统的瘫痪,因此程序的可靠性和系统的健壮性都不高。
加拿大QNX软件系统有限公司开发的QNX实时操作系统是一个基于消息传递的微内核实时操作系统,支持进程/线程任务模型,进程管理功能属于一个动态可加载的模块。在没有配置进程管理器的QNX实时系统中,所有的应用线程和核心连接在一起,都处在一个地址空间中,这时的系统是无保护模式系统。当进程管理器启动以后,一个应用创建为一个进程,进程内部可能有若干线程,每个进程有自己的虚拟地址空间,支持完全基于内存管理单元的内存保护机制。这时系统在安全稳定性提高的同时,其对嵌入式实时性的支持就会降低。
现有的多个操作系统间的内存保护方法,大部分是使用一个独立的软件层来完成。这个独立的软件层,通常称作虚拟机,运行在硬件层和操作系统层之间。虽然这种方式可以实现内存保护,但是增加了系统的复杂度。
授权公告号为CN 1269047C的中国专利公布了一种具有内存保护功能的内存管理方法,在具有MMU功能的CPU上进行内存管理;在需要保护的内存两端添加保护页;当有操作访问到所述保护页所在的区域时,实时操作系统确认所述操作为非法修改所述内存的操作,并报告内存访问异常。所述保护页的属性为不可访问。在内存中增加保护页会占用内存空间,也使内存的功能变得复杂,非法操作的报告会影响程序执行的流畅性,不利于实际使用。
发明内容
本发明针对现有技术中增加内存保护的功能会影响程序的可靠性、系统的健壮性、嵌入式的实时性,会增加系统的复杂性,导致程序执行不流畅和产生内存中可用空间等问题,提供了一种多系统下对实时操作系统所占用内存的保护方法,将实时操作系统和普通操作系统各自使用的虚拟地址空间进行隔离,在不增加系统复杂性的前提下提供对实时操作系统占用内存的保护。
一种多系统下对实时操作系统所占用内存的保护方法,包括如下步骤:
第一步:在具有内存管理单元的中央处理器上初始化进行地址映射操作所必需的数据;
第二步:实时操作系统根据其占用的内存大小将其代码段和数据段确定在虚拟地址空间中的一个连续的虚拟地址区间上;
第三步:普通操作系统将所述的虚拟地址区间按内存管理单元提供的机制映射到同一个未使用的物理页框上。
作为本发明技术方案的进一步改进:
所述实时操作系统的内存分配方式为静态分配,在编译阶段就可以把实时操作系统使用的代码段和数据段确定在虚拟地址空间中的一个连续的虚拟地址区间上。
所述初始化的工作为根据中央处理器的硬件寻址方式,建立一套访问已经存在的物理地址的机制。比较通用的技术是采用分页机制。采用多级页表的分页,可以优化查询效率,节约存储页表所需的内存空间,如果系统的寻址需要n级,系统就需要建立n级页表进行寻址,第n-1级页表提供第n级页表的基地址,相应的虚拟地址也要分为n段,其中n为正整数,各个段对应各级表的偏移,最后一项对应页框内的物理地址偏移。中央处理器把第一级表的基址,存放在一个特定的地址或寄存器里。
所述内存管理单元提供的机制是地址映射机制,将虚拟地址映射到物理地址。
所述普通操作系统将所述虚拟地址区间按内存管理单元提供的机制映射到同一个未使用的物理页框上的过程中,若所述虚拟地址区间包含多个虚拟页,所述的映射是普通操作系统循环地把实时操作系统占用的每一个虚拟页都映射到同一个选定的物理页框上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310063262.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:地质信息的处理方法及装置
- 下一篇:数据缓存的方法和装置