[发明专利]使Linux内核支持WinCE/WM的kdata页面的方法有效
申请号: | 201010619544.8 | 申请日: | 2010-12-22 |
公开(公告)号: | CN102063303A | 公开(公告)日: | 2011-05-18 |
发明(设计)人: | 王承志;徐鼎鼎;毛德操 | 申请(专利权)人: | 浙大网新科技股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 杭州九洲专利事务所有限公司 33101 | 代理人: | 陈继亮 |
地址: | 310007 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | linux 内核 支持 wince wm kdata 页面 方法 | ||
技术领域
本发明涉及一种在计算机操作系统中实现跨系统兼容的方法,尤其是一种使Linux内核支持WinCE/WM的kdata页面的方法。
背景技术
以手机为代表的智能化移动终端设备是计算机技术的一个重要发展方向。无论是手机、上网本、还是平板电脑,本质上都是计算机。而操作系统,则相当于计算机的灵魂,任何计算机都离不开操作系统,同时也都受操作系统的限制,所有的应用软件都是基于某种特定操作系统的,都只能在这种特定的操作系统上运行,搬到别的操作系统上就不能运行。操作系统的核心称为“内核”,内核为应用软件提供特定的运行环境、并提供基本的操作能力,因此所谓“基于某种特定操作系统”实际上首先和主要是基于某种操作系统内核。应用软件的运行环境是由多种因素决定的,其中之一就是用户空间的内存格局。之所以说“用户空间”内存格局,是因为应用软件的运行只跟用户空间有关,而与“系统空间”无关。
目前,在手机和移动设备领域占统治地位的操作系统有这么几种:
●开源的Linux操作系统。由谷歌公司推出的Android,还有由多家公司联合推出的MeeGo,以及由中国移动推出的OPhone都是基于Linux的,都采用Linux内核。
●微软的WinCE和Windows Mobile(缩写为WM)操作系统。这是由微软在Windows的基础上针对手机和移动设备开发的两种操作系统,这二者很相似,大体上可以认为是同一种操作系统的不同版本。市场上有许多手机都采用WinCE/WM操作系统。
●苹果公司的Mac操作系统。Mac操作系统是由Unix操作系统演变而来的,与Linux有着相同的源头。
●诺基亚的Symbian操作系统。
如上所述,所有应用软件都是基于某种特定操作系统的。既然有四种操作系统,自然就有四大类不同的应用软件,例如基于Linux的应用软件就统称为Linux应用,拿到别的操作系统上就不能运行。如果某公司开发了一个Linux应用,又希望在WinCE/WM上也有同样的应用,就需要通过“移植”,反之亦然。
显然,如果能让基于一种操作系统的应用不经移植就能直接在另一种操作系统上运行,那将是很有意义的。举例言之,如果能让WinCE/WM应用直接在采用Linux的手机例如OPhone上运行,那就使Linux手机的用户平添了许多的选择。
但是这并非易事,困难来自很多方面,其中之一就是内存格局的问题。
内存格局是构成应用软件运行环境的一个重要因素,每一个操作系统都有对于用户空间内存格局的明确定义,应用软件无法在一个与预想不符的环境中运行。WinCE/WM与Linux在用户空间的格局安排上有着重要的不同,主要表现在两个方面。
一般而言,32位计算机整个逻辑内存空间、即地址空间的大小是4GB。WinCE/WM把这4GB的空间对分,把地址较高的2GB作为系统空间、即用于内核,另外2GB则用于用户空间、即用于应用软件。而Linux,则把地址较高的1GB作为系统空间,而把剩下的3GB用于用户空间。不过这并不成为问题,因为3GB大于2GB,WinCE/WM应用软件尽可只用其中的2GB,而1GB的内核空间也已经够Linux内核只用了。
可是,另一方面,WinCE/WM的内存格局还有个特殊性,就是在地址为0xffffc800、本属于系统空间的位置上放上了一个特殊的数据结构,称为Kdata,意为“来自内核(Kernel)的数据”。这个数据结构一方面可以用来在应用软件和内核之间交换一些特殊的数据,另一方面也用来存放一些专属于具体“线程”的数据。这些数据因不同线程而异,但是应用软件运行时的每一个线程都在相同的地址上读写这些数据,通常还根据这些数据决定下一步的操作和行程。也就是说,如果有属于同一个进程的两个不同线程,二者都以同样的地址从Kdata读出,那么二者所读出的数据必须是属于其自己的版本,因而可能是不同的。然而Linux却根本就没有这样的安排。这样,只要一个WinCE/WM应用软件在运行时需要按WinCE/WM的许诺用到这些数据,其运行就注定会失败。事实上,应用软件只要企图访问属于系统空间的任何地址,就会引起系统的内存访问“异常”而结束运行,这是操作系统的一个保护机制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙大网新科技股份有限公司,未经浙大网新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010619544.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分体液晶电视及其实现方法
- 下一篇:虚拟化查询中的对象