[发明专利]在Linux内核中实现仿Windows系统调用机制的方法无效

专利信息
申请号: 201010622299.6 申请日: 2010-12-29
公开(公告)号: CN102073532A 公开(公告)日: 2011-05-25
发明(设计)人: 周立炜;费海林;毛德操 申请(专利权)人: 浙大网新科技股份有限公司
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 杭州九洲专利事务所有限公司 33101 代理人: 陈继亮
地址: 310007 浙江*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: linux 内核 实现 windows 系统 调用 机制 方法
【说明书】:

技术领域

发明涉及计算机操作系统领域,尤其是一种在Linux内核中实现仿Windows系统调用机制的方法。

背景技术

操作系统相当于计算机的灵魂,任何计算机都离不开操作系统,同时也都受操作系统的限制,所有的应用软件都是基于某种特定操作系统的,都只能在这种特定的操作系统上运行,搬到别的操作系统上就不能运行。操作系统的核心称为“内核”,内核为应用软件提供特定的运行环境、并提供基本的操作能力,应用软件对这些基本操作能力的调用称为“系统调用”。尽管不同操作系统所提供的基本操作能力在总体上颇为相似,但每个操作系统内核所提供的系统调用及其集合却又都是独特的,不能混用。所以,凡是应用软件都是基于特定操作系统内核的,或者说都是与特定操作系统内核绑定的,Windows应用只能在Windows内核上运行,而Linux应用也只能在Linux内核上运行。

如果能让Windows应用软件直接在Linux操作系统即Linux内核上运行,那么用户就有可能摆脱对Windows操作系统的依赖、而改用Linux操作系统,这显然是很有意义的。然而要实现这个目标就必须解决让Linux内核支持Windows系统调用的问题。

解决这个问题的总的思路是:首先在Linux内核中实现Windows系统调用的机制;然后逐个将Windows的系统调用嫁接到与之对应的Linux系统调用上,再加以必要的修改,如果没有对应的Linux系统调用就在Linux内核中加以实现。所谓“系统调用的机制”,是指:

●应用软件在用户态怎样发起系统调用;

●程序流程怎样进入内核、即进入系统态;

●内核中与具体系统调用无关、为所有系统调用所共有的操作和活动;

●程序流程怎样进入具体的系统调用、即内核中用来实现具体系统调用的功能的函数;

●怎样返回到用户态。

可见,在Linux内核中实现Windows系统调用的机制,是要实现上述目标的第一个必要条件。而本发明所述的方法,其目的就在于解决系统调用机制的问题。

而本发明的内容和特点就是:提供一种在Linux内核中实现Windows系统调用机制的方法,使得让Linux内核支持Windows系统调用成为可能。

发明内容

在Linux中,系统调用是通过一条int指令启动的,这是一条“软件中断”指令,这是对中断机制的一种模拟,CPU执行这条指令时就好像发生了一次中断一样。为此,在int指令中必须带上一个“中断向量”、或者说“中断号”,在Linux中这个中断向量是0x80。在Windows中也是一样,但中断向量是0x2e。每当CPU执行int指令时,其运行状态就从“用户态”跳转到“系统态”,这就是所谓进入了内核。进入内核之后,CPU从用户态堆栈中读取“系统调用号”及有关参数,系统调用号用来表明具体的系统调用。但是,同样的系统调用号在不同操作系统中的意义是不同的,不能混淆。

要在Linux内核中增加一种系统调用机制,方法是很多的。例如,可以在Linux的中断机制中增添一种系统调用,比方说“windows_call”,再在那里展开成系统调用机制。又例如,在/proc下面可以增添一个特殊的文件系统节点“windows_call”,再在其驱动程序中展开成系统调用机制机制。当然,这样一来启动系统调用的方式就与Windows中不同了,但是按理说这样问题也不大,只是效率略为降低了一点,因为应用程序按理说都不会直接启动系统调用,而是按Windows API的规定转辗调用动态连接库Ntdll.dll,在这个DLL内部才发起系统调用。但是,有可能违反这个规定的恰恰是微软自己。据网上的讨论,微软有可能隐藏着几个系统调用不向第三方开放,而自己的某些应用软件却可以不经过Ntdll.dll,在应用软件的代码中直接通过“int 0x2e”指令加以调用。由于微软的软件都是不开源的“黑盒子”,此说既无法证实也无法否定。所以,为最大程度地维持兼容性,最好还是像Windows一样,实现基于“int 0x2e”指令的Windows系统调用机制。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙大网新科技股份有限公司,未经浙大网新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010622299.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top