读书频道 > 网站 > 网页设计 > 深入解析Mac OS X & iOS操作系统
2.11.4 I/O Kit
14-03-28    奋斗的小年轻
收藏    我要投稿   
Apple的操作系统被认为是在不断地演进。本书最早是针对iOS 5和Lion编写的,但是这两个操作系统都在持续进化。在本书英文版即将付印的时候,iOS的版本已经是5 1 1了,而且已经出现了iOS 6即将发布的迹象。而OS立即去当当网订购

苹果对XNU最重要的修改是引入了I/O Kit设备驱动程序框架。这是一个在内核中的完整的、自包含的执行环境,让开发者可以快速创建优雅稳定的设备驱动程序。能实现这一点的原因是I/O Kit形成了一个受限的C++环境(通过libkern),其中带有语言提供的最重要功能——继承和重载。

那么,编写I/O Kit驱动程序这件事情就被极大地简化了,只需要找到一个已有的驱动程序作为超类,并且在运行时中继承其所有功能。这样可以避免样板化代码的复制,这种代码复制很可能会引入稳定性的bug,此外还能使得代码规模非常小——在内存紧张的内核空间中总是好事情。在驱动程序中添加新的方法或重载/隐藏已有的方法可以进行功能的修改。

使用C++环境的另一个好处是驱动程序可以工作在一个面向对象的环境中。因此OS X的驱动程序和其他操作系统上的设备驱动程序大有不同,其他操作系统上的设备驱动程序只能使用C语言编写,而且就算是最简单的功能也需要大量的代码才能实现。I/O Kit在XNU中组成了一个几乎自包含的系统,带有一个由很多驱动程序组成的丰富环境。单是I/O Kit的内容就可以用一本书来描述(事实上最近就有这么一本书),不过本书的整个第18章都在讲解I/O Kit的架构。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站