欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    开发Linux兼容内核的策略与路线Word文档下载推荐.docx

    • 资源ID:5823160       资源大小:31.15KB        全文页数:15页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    开发Linux兼容内核的策略与路线Word文档下载推荐.docx

    1、 Said to have been reached, because we already have in the user space Wine, but it has been resolved NdisWrapper Windows device driver to load Linux kernel problem. 另一个极端呢,则是说兼容内核的难度太大,根本就不可能成功,所以只是一个“梦”。 The other extreme it is compatible with the kernel is that too difficult, simply can not succee

    2、d, so only a dream. 显然,在谈论开发路线图之前首先应该回答这两种意见。 Obviously, talking about the roadmap should be answered before the first of these two views. 幸好它们正好互相构成回答。 Fortunately, they are just another form answer.首先,正如笔者在另几篇文章中所说, Wine只是在逻辑上、功能上基本解决了用Linux内核来模拟/仿真Windows内核的问题,但是性能上是无法令人满意的,而且说基本上解决其实也很勉强。 First,

    3、 as I have said in other articles, Wine is only logical, function basically solved with the Linux kernel to simulate / Simulation Windows kernel problem, but performance is not satisfactory, and that basically solution is actually very reluctant. 至于NdisWrapper ,它所解决的是一些网络设备(网卡)的驱动,而不是普遍意义上的设备驱动。 As

    4、NdisWrapper, it solved some network device (NIC) driver, not the general sense of the device driver. 更何况NdisWrapper设备驱动的上层只能是Linux的Socket ,而不能与诸多文件操作的系统调用挂上钩。 Moreover, the upper NdisWrapper device driver can only be Linux, Socket, and not with a lot of file manipulation system calls process is link

    5、ed. 实际上,退一步说,即使NdisWrapper和Wine真的已经分别解决了Windows设备驱动和应用软件在Linux内核上的跨平台运行,也还需要有人把这二者整合起来。 In fact, to say the least, even if NdisWrapper and Wine really has solved the Windows device drivers, respectively, and application software in the Linux kernel to run cross-platform, they still need someone to i

    6、ntegrate these two. 有许多公司只是把一些开源软件收集(而不是整合)拢来,做成发行版,不是就号称成了“高科技公司”吗? There are many companies just to collect some open source software (not integrated) Long Lai, make distributions, not to become known as high-tech companies do? 所以,要使Windows的应用软件和设备驱动能在Linux上高效地运行,从而真正为广大用户所接受,兼容内核的开发应该说是很有必要,而且也不是

    7、那么轻而易举。 So, to make Windows applications and device drivers can run efficiently on Linux,and truly accepted by the majority of users, the development should be compatible with the kernel is necessary, but not so easy.至于说难度太大,那么Wine和NdisWrapper的存在和发展恰恰为兼容内核技术上的可行性提供了参考。 As too difficult, then the Win

    8、e and NdisWrapper precisely the existence and development of the technical feasibility of a compatible kernel to provide a reference. 诚然, Wine在某些方面很不理想,但那正是因为要避开内核而导致的后果,许多在用户空间很难解决的问题一到了内核里面就可以豁然开朗。 Indeed, Wineis very good in some respects, but it is precisely because the kernel to avoid the resul

    9、ting consequences, many of the problems difficult to solve the user space to kernel inside one can suddenly see the light. 或者可以反过来说, Wine在用户空间都可以基本解决的问题,到了内核里面就更好解决了。 Or it can conversely, Wine in the user space can be basically solved the problem, to the kernel which would be better solved. 当然,涉及内核

    10、的设计和编程比之用户空间在难度(复杂度)上要高得多,但是“难”是个相对的概念,谁能说清到底难到什么程度就根本不能做了呢? Of course, the kernel of the design and programming involved in the user space than in the difficulty (complexity)is much higher on, but difficult is a relative concept, who shall tell to what degree of difficulty in the end simply can not

    11、 do it? 再说这也毕竟不是登月、不是哥德巴赫猜想。 This is not to say, after all, the moon, not the Goldbach conjecture. 另一方面, Wine所提供的许多高层DLL为兼容内核的实际使用提供了条件,或者可以说是解决了后顾之忧。 On the other hand, Wine provided by the DLL is compatible with many high-level kernel provides the conditions for practical use, or can be said to so

    12、lve the worries. 如果说Wine毕竟不涉及内核,因此还不足为凭,那么NdisWrapper可确实为我们在内核中构建设备驱动框架和支撑界面提供了参考,实质上也是一个可行性证明。 After all, if Wine does not involve the kernel, it is also Buzuweiping, then NdisWrappercan do for us in building the kernel device driver interface provides a framework and supporting reference, in essen

    13、ce, is a feasibility proof.认为难度太大的人还有一个顾虑,就是Windows的代码是不公开的,藏在黑盒子中,光凭几本书能得到多少信息、如何就能开发出跟Windows兼容的内核? Too difficult for the people that there is a concern, that is, Windowsthe code is not public, hidden in the black box, even with the few books to get much information, how can develop compatible wit

    14、h the Windows kernel? 这种顾虑当然也有一些道理,但是ReactOS又在这方面给我们提供了参考。 This concern of course, there is some truth, but in this context ReactOS has provided us with information. ReactOS以零为起点从头开发, Wine只在内核外面做文章,尚且都能在一定程度上达到设计目标,而我们站在它们的肩膀上,又有Linux内核作为原材料,至少条件比他们好多了。 ReactOS to zero as a starting point from scrat

    15、ch, Wineonly make an issue out of the kernel, yet it can be to some extent to meet the design goals, and we stand on their shoulders, another Linux kernel as a raw material, at least much better conditions than they are.当然,把Wine 、 NdisWrapper和ReactOS作为参考意味着我们需要吃透、或者至少基本上理解它们的代码。 Of course, the Wine,

    16、 NdisWrapper and ReactOS as a reference means that we need to understand well, or at least basically understand their code. 为此笔者将陆续写一些分析文章在本网站上推出,起个抛转引玉的作用。 To do this I will gradually write analytical articles on this site launch, since the role of a parabolic quoted Yu.总之,兼容内核的开发既不是唾手可得,也不是难于上青天,既

    17、不能一蹴而就,也不至于遥遥无期。 In short, neither compatible with the development of the kernel is an easy, nor is it impossible for the county, we can not be done overnight, you will not be put off indefinitely. 说起来还是那句老话:战略上藐视困难,战术上重视困难。 That it is an old saying goes: strategic defiance of difficulties and tacti

    18、cally difficult. 后发跟进、逐步逼近 Follow-up after the hair, gradually approaching我们开发兼容内核不能采取一步到位、而应采取逐步逼近的策略。 We have developed compatible with the kernel can not take one step, but should adopt a gradual approach of the strategy. 以系统调用界面为例,我们完全可以先搁置那些用于GUI 、即win32k.sys的扩充系统调用,即便是对于248个常规系统调用也可以分期分批地实现。 T

    19、he system call interface, for example, we can set aside those used for the first GUI, the win32k.sys expansion of system calls, even calls for the conventional system 248 can also be achieved in stages. 实际上,我们甚至并无必要追求一个完整的实现。 In fact, we even do not need to pursue a complete implementation. 工程上有一个所谓

    20、20/80原理,说是20%的工作量往往可以实现80%的功能,而剩下的20%功能却往往需要80%的工作量才能实现。 Works on a so-called 20/80 principle, that is 20% of the workload can often achieve 80% of the function, while the remaining 20% of the features are often required to achieve 80% of the workload. 如果我们的兼容内核可以支持80%的Windows应用,剩下的20%慢慢从长计议也无不可。 If

    21、 we can support the compatibility of kernel 80% of Windows applications, and the remaining 20% have no long-term perspective is not slow. 再说, Windows本身也在发展,今天还是“完整”的实现,明天就可能是不完整的了。 Besides, Windows is also developing its own today, or complete the realization of tomorrow may not be complete by. 所以,我

    22、们可以采取在一定距离后面跟进的策略。 Therefore, we can take in a certain distance behind the follow-up strategy. 只要Windows还存在、还在发展,这样的跟进就永远不会完。 As long as there is Windows, is still developing, so that follow-up will never end. 这种后发跟进、逐步逼近的策略决定了我们的开发必定是一个螺旋式的渐进开发过程。 The follow-up after the hair, gradually approaching

    23、 the strategic decisions of our development must be a progressive spiral development process. 就是说:从不同成分之间的关系看,是螺旋式的发展;从同一成分内部看,则是渐进的发展。 That is: the relationship between different components from view, is a spiral development; from the same components inside, is the gradual development.那么,这个螺旋式渐进开发过

    24、程的起点是什么呢? Well, this progressive spiral development process is the starting point for what? 起点就是Linux+Wine 。 Starting point is the Linux + Wine. 随着开发的进行, Linux的内核逐渐变成兼容内核,我们姑且以Linux+表示;而Wine则逐渐演变成一个按Windows系统调用界面定制并且优化了的Wine ,我们姑且称之为Wine 。 With the development, Linux kernel becoming compatible kerne

    25、l, we have tentatively said to Linux +; and Wine is gradually evolving into a Windows system call interface by customized and optimized for Wine, lets call them Wine . 所以整个开发过程就是: So the whole development process is:(Linux + Wine) = = (Linux+ + Wine) (Linux + Wine) = . = (Linux + + Wine ) 起点Linux+Wi

    26、ne显然是可以运行的,开发过程中的每一步都实现一组有限的目标,每一步的结果都应该是一个可以运行的、更逼近Windows的、可以发行的版本。 Linux + Wineis obviously starting to run, the development process at every step to achieve a limited set of objectives, the results of each step should be a run, and closer to Windows, you can version.对Linux内核的修改原则上以动态安装模块的形式实现,尽可

    27、能不改变Linux内核原有的代码,必要时当然也可以打一下补丁。 Changes to the Linux kernel in principle to install the module, implemented as dynamic as possible without changing the original Linux kernel code, if necessary, of course, can beat the patch.兼容内核开发的主体是一个框架、两个界面。 Compatible with the main kernel is a framework, the two

    28、 interfaces. 如果按它们在内核中的位置从上到下排序,那就是:系统调用界面,设备驱动框架,以及设备驱动支撑界面。 If you press them in order from top to bottom the position of the kernel, that is: The system call interface, the device driver framework, and device driver support interface. 下面分别加以讨论。 Be discussed separately below. 系统调用界面的开发 System call

    29、 interface development 系统调用界面的实现有个“门槛”,那就是内核的进入/退出机制,即系统调用时的空间切换机制,不跨过这道门槛就谈不上系统调用界面。 Implementation of the system call interface has a threshold, that is the kernel entry /exit mechanism, that space when the system call switching mechanism, do not cross this threshold would be no system call interf

    30、ace. 不过这个机制的实现并不复杂,因为我们要实现的本质上是Linux内核上的系统调用,从而这实际上就是Linux系统调用的空间切换机制,所不同的只是: However, the realization of this mechanism is not complicated, because we want to achieve is the essence of system calls on Linux kernel, so this is actually a Linux system calls the space switching mechanism, the only difference: Linux


    注意事项

    本文(开发Linux兼容内核的策略与路线Word文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开