3.6设备驱动支持
在OS开发和维护中最艰巨的一个任务是支持多种多样的I/O硬件。这些复杂的设备常会含有潜在的错误,而新硬件的发布又常常伴随着不兼容的软件接口。由于这些原因,OSKit采用了为现有内核开发的稳定的、经过充分测试的驱动程序。OSKit使用了一种封装技术,将现有的驱动程序代码基本上未加修改地合并到OSKit中。这些现有的驱动程序被一个OSKit粘结代码层所包装,从而使得这些驱动程序可以在与开发它们的环境完全不同的环境中工作。目前,来自Linux的大多数以太网卡、SCSI和IDE磁盘的设备驱动程序被包括进来,总数超过了五十种。用同样的方式,来自FreeBSD的八个字符设备驱动程序也被包含了进来,它们支持标准PC控制台和串口及不同的多串口板。由于OSKit把这些驱动仔细地进行了包装,FreeBSD驱动程序可以与Linux驱动程序一起工作。
3.7协议栈
OSKit提供了一个完整的TCP/IP网络协议栈。如同驱动程序一样,有关网络的代码也可以通过封装机制被合并进来。OSKit当前可以从Linux中获取网络设备驱动程序,它们是PC平台可获得的最大的免费资源。OSKit的网络组件继承于FreeBSD4.4,它通常被认为具有更多成熟的网络协议。这显示了使用封装机制将现有软件包装成灵活的组件的第二个优点:即从不同的资源中获取最好的组件,并让它们一起被使用。
3.8文件系统
通过使用封装技术,OSKit吸收了NetBSD的基于磁盘的文件系统代码。NetBSD之所以被选择为首要资源库,是因为在可用的系统中,它的文件系统代码被最清晰地分离了出来,而FreeBSD和Linux的文件系统与它们的虚拟内存系统结合的更紧密。当前,OSKit也把Linux文件系统合并了进来,以便能够支持多种类型的文件系统格式,如Windows95、OS/2和SystemV的文件系统格式等等。
OSKit文件系统输出的COM接口类似于许多Unix文件系统所使用的内部VFS接口。这些接口具有很好的粒度,使我们可以不必接触OSKit文件系统的内部。例如,OSKit接口只接受简单的路径名组件,允许安全封装的代码执行适当的访问许可检查。
4OSKit的现状
自从在1996年6月发布了OSKit的第一个公开发行版以来,OSKit已经更新了多次,每次更新都增加了一些算法,并修正了一些错误。最新的发行版是2002年3月的版本。由此可见,OSKit一直处于操作系统开发平台的前沿,其自身也在不断完善和发展。
5结论
作为一个操作系统研究与开发的平台,OSKit大大减轻了操作系统研究与开发者的负担。它可以让开发人员避开复杂的底层,而把兴趣集中与他们所感兴趣的领域。开发者可以用自己编写的组件来取代OSKit中的部分组件,以满足自己特定的需要,从而丰富了操作系统的应用层。总之,OSKit满足了实际客户系统的需求,有助于操作系统的研究与开发。
竞职演讲稿.(责任编辑:一枝笔写作编辑)