[发明专利]操作系统的物理内存存取的方法无效
申请号: | 200710301849.2 | 申请日: | 2007-12-18 |
公开(公告)号: | CN101464835A | 公开(公告)日: | 2009-06-24 |
发明(设计)人: | 郑仰民 | 申请(专利权)人: | 英业达股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/445 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁 挥;祁建国 |
地址: | 台湾省台北*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 操作系统 物理 内存 存取 方法 | ||
技术领域
本发明涉及一种操作系统的物理内存存取的方法,特别是涉及一种应用于Linux操作系统的非易失性内存存取的方法。
背景技术
对于嵌入式系统(Embedded System)的操作系统(Operation System,OS),目前所使用的产品很多,诸如Palm OS、Windows CE、Linux等。其中由于Linux操作系统具有免费授权的特性,因此目前大量地应用于嵌入式系统中。
Linux执行程序时可以分作两个部份,第一个为核心区间(Kernel Space),另一个为使用者区间(User Space)。有关硬件相关的存取控制都是在核心区间执行,而一般使用者写的程序都是在使用者区间执行。使用者区间和核心区间是两个不同的区域,两个并无法直接使用对方的资源,需要通过一些系统的呼叫才能进行,系统呼叫会对呼叫者的权限和操作做检查,以保护核心程序(Kernel)的运行。当要存取硬件时,会通过系统呼叫(System Call)的方式从使用者模式(User Mode)跳到核心区间去执行,如通过驱动程序(driver)存取硬件信息。
而在嵌入式系统中静态储存数据的硬件,通常为闪存(Flash)、非易失性内存(Non-Volatile Random Access Memory,NVRAM)或电子擦除式只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)。一般都将写好的程序放入Flash,而相关的设定就放在NVRAM或EEPROM中。因在Linux的核心区间,可以方便的存取NVRAM,但在进入使用者区间时就无法直接存取NVRAM。如图1所示,在使用者区间200要存取有关核心区间100中的硬件信息,需要通过驱动程序(driver)来达成。因此当OS加载完成后已在使用者区间的情况下,若必须设定NVRAM的值,要将值写入到NVRAM需要通过驱动程序(driver)来完成。这样一来所花的时间要比较长,另外也需要较复杂的程序。
发明内容
本发明的目的在于提供一种操作系统的物理内存存取的方法,主要应用Linux操作系统在执行程序时,所分别使用的核心区间(Kernel Space)及使用者区间(User Space)的两个内存区块,通过两者之间内存地址的映像,使得在对使用者区间操作存取时,即对应于核心区间进行存取,而达到快速存取物理内存的目的。
为了实现上述目的,本发明提供了一种不需通过驱动程序(driver)的方式,即能快速存取操作系统的非易失性物理内存(NVRAM)的方法。如图2所示,为本发明的操作系统的存取核心区间(Kernel Space)的示意图。应用本发明的技术,使得在操作系统(OS)进入使用者区间200的情况下,若是需要存取核心区间100中的数据,不必通过驱动程序即能够存取到NVRAM的数据,节省系统的资源,加快存取的速度。
因为嵌入式系统硬件架构较为单纯,所以在一些硬件配置部份可以由开发者自行决定,故NVRAM装置可以对应到某一块内存中。因此将NVRAM所在的地址设定在0xXXXXXXXX的实体地址,而Linux就可以利用此地址存取。然后再设定此地址再对应到核心区间内存地址(如0xYYYYYYYY)。所以当存取到0xYYYYYYYY就如同存取到该NVRAM一样,因为是在核心区间中,所以到了使用者区间就没有办法再对0xYYYYYYYY做存取,可使NVRAM受到保护。因使用者区间和核心区间是两块不同的区域。
本发明所提出的操作系统的物理内存存取的方法,即利用特殊的内存映像函式(mmap),而将核心区间100的地址对应到使用者区间200。当对使用者区间200的这块内存进行存取时,事实上就是对核心区间100的那一块内存进行存取。因此,即可通过这样的方式存取嵌入式系统的非易失性内存(NVRAM)。
下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为公知技术通过驱动程序(driver)存取核心区间(Kernel Space)中硬件信息的示意图;
图2为本发明的操作系统的存取核心区间(Kernel Space)的示意图;
图3为本发明的操作系统存取物理内存的方法的步骤流程图;
图4为本发明的物理内存的实体地址及核心区间与使用者区间中的线性地址的映像示意图。
其中,附图标记:
100:核心区间(Kernel Space)
200:使用者区间(User Space)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英业达股份有限公司,未经英业达股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710301849.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:使用XML以组合码表示字符的方法
- 下一篇:一种显示模式管理方法