论文天下|会计论文|管理论文|计算机论文|医药学论文|经济学论文|法学论文|社会学论文|文学论文|教育论文|理科论文|工科论文|艺术论文|哲学论文|文化论文|外语论文|格式论文
论文天下
计算机应用论文  计算机理论论文  计算机网络论文  电子商务论文  软件工程论文  操作系统论文  通信技术论文   
组件机制与操作系统的实现(1)

摘要 本文介绍了一个操作系统开发平台-SKit,它提供了一套用于架构操作系统内核的库函数和一些组件。它的设计目标是降低进入操作系统研究与开发领域的门槛。SKit在设计时借用了的思想,把操作系统的各个部分设计成尽量独立的组件,使开发者可以很方便地使用或替换这些组件来构造自己的操作系统。

关键字 组件 重用 操作系统 SKit

1 引言
当前,操作系统的功能不断扩展,操作系统的类型呈现出多样化的趋势。一个小规模的开发小组已经不可能完全从头开始实现一个实用的操作系统,而一般情况下,研究人员只对操作系统的一些特定领域感兴趣,而对于另外一些元素,如启动加载代码、核心启动代码、设备驱动程序和内存分配代码等往往不感兴趣,但是一个可运行的原型系统又必须包含这些内容。编写这些基础结构延缓了操作系统研究项目的进度,同时也增加了进行操作系统研究的代价。为了解决这一问题,犹他大学的FLUX研究小组开发了SKit,它提供了一个框架和一组模块化的、具有简单接口的库以及一组清晰的、可重用的S组件。SKit可以用来构建操作系统内核、外层服务和其他核心S功能模块。SKit提供了各种功能模块,诸如简单自举,一个可用于内核的最小化PSIX环境、与物理内存和其约束一致的内存管理、广泛的调试支持,以及高层子系统如协议栈和文件系统。开发者可以根据自己的研究兴趣或所要考虑的性能来使用这些模块,或用他们自己的模块来替代标准的SKit模块。
SKit公开了它内部的实现细节,允许用户从成熟的操作系统中不加修改地提取代码,然后通过一小部分经过仔细设计的粘接代码将它们合并到一起,隔离它们的依赖性,并输出良好定义的接口。SKit使用这一技术整合了许多稳定而成熟的源代码,包括设备驱动、文件系统、网络协议等等。实践表明,使用组件软件架构和重用技术会给操作系统实现领域带来大的影响。
2 组件技术简介
组件技术是一种较新的软件开发技术。到目前为止,还难以确定组件技术的明确定义。比如,对组件技术的常见说法有以下这些:“二进制软件单元”、“任意场合可部署的软件”、“特别适合第三方开发”和“规范定义的接口”等等。大致上可以这样理解:所谓组件,其实就是一种可部署软件的代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型的组件乃至直接建立整个系统。组件的实现必须支持一种或者多种其用户所希望获得的接口。实现组件并不一定需要采用面向对象语言。为了构造新应用程序,软件开发人员找出适当的组件,将这些组件加入到正在开发中的应用程序,同时对应用程序进行测试并保证应用程序的组装工作按照预定的规划正常进行。采用组件技术能降低开发、测试和维护成本,提高可靠性和稳定性。
3 skit组件综述
SKIT的组件库提供了一般情况下更高层的功能,它通常只对外开放一些相关的公用调用接口。目标系统通过SKit的面向对象的接口来与这些组件进行交互。以下几节概述了SKit所提供的组件。
3. 1 引导程序
大多数操作系统多有自身的启动加载机制,彼此互不兼容。这种加载机制的多样性并不是由于每个S所要求的自举服务不同而引起,而是由于构建启动加载器的特定方式造成的。因为从操作系统研究的立场来看,启动加载器是一个令人不敢兴趣的领域,因此S开发者通常进行一个最小化、快捷的设计。由于设计理念和要求的轻微差别,每个启动加载器都不适用于下一个S。为了解决这个问题,SKit直接支持多启动标准,这一标准是由几个S项目的成员共同设计的,它的目的是提供一个简单而通用的启动加载器与S内核间的接口,从而允许一个启动加载器加载任何兼容的S。
在进行操作系统研究时,多启动标准非常有用,这其中的主要原因是启动加载器在加载内核自身的同时还具有加载附加文件或者启动模块的能力。这里的一个启动模块只是一个普通文件,启动加载器不以任何方式解释它,而仅仅把它随同内核映像一起加载到保留物理内存块中。在启动内核时,启动加载器提供给内核以下内容:物理地址的列表、所有已加载的启动模块的大小,以及与每个模块相联系的由用户定义的字符串。这些启动模块和与它们相联系的用户定义的字符串由内核解释。这样做的目的是为了通过提供内核启动时需要的数据,诸如初始化程序、设备驱动和文件系统服务器,来减轻内核启动的负担。

未完...点击下方链接下载完整文档

组件机制与操作系统的实现(1)

摘要 本文介绍了一个操作系统开发平台-SKit,它提供了一套用于架构操作系统内核的库函数和一些组件。它的设计目标是降低进入操作系统研究与开发领域的门槛。SKit在设计时借用了的思想,把操作系统的各个部分设计成尽量独立的组件,使开发者可以很方便地使用或
  • 上一篇:VBA、Word和数据库的联合编程(1)
  • 下一篇:基于嵌入空间变形的物体变形方法研究(1)
  • 大芯数OPGW在浙江电网的应用
    基于GP算法的知识发现系统
    刍议防火墙的合理使用(1)
    面向对象数据库理论设想
    浅谈对程序开发中异常的理解和认
    电子政务人员培训的问题与建议(1
    青年教师在医学微生物学留学生教
    浅谈Intranet在现代企业中的应用
    基于人工智能的银行信贷风险决策
    研究生阶段计算机网络理论课程教
    有关计算机软件数据接口的应用研
    企业电子商务系统的规划与设计研
    光纤光缆和通信电缆技术发展与思
    浅谈行为引导教学方法在《计算机
    渐开线圆柱齿轮几何参数计算的计
    机制主义方法与人工智能统一理
    Windows NT中的登记项及其完整
    深入Windows通信编程(1)
    MFC中消息映射机制分析(1)
    uC/OS-II内核超时等待机制的分
    基于LINUX操作系统的防火墙技
    “新型主机操作系统”课程教学
    嵌入式实时操作系统研究与分析
    计算机技术在微课理论及实践中
    “计算机操作系统原理”中加锁
    | 设为首页 | 加入收藏 | 联系我们 | 论文发表

    Copyright 2006-2020 © 论文天下 All rights reserved 本站所有内容均由SPider自动索引,如有侵权请联系QQ:2486851删除