浅析组件机制和操作系统的实现

来源 :科学与财富 | 被引量 : 0次 | 上传用户:q496712523
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: OSKit可以用来构建操作系统内核、外层服务和其他核心OS功能模块,包括可用于内核的最小化POSIX环境、物理内存、内存管理、广泛的调试支持,以及高层子系统。开发者可以用自己编写的组件来取代OSKit中的部分组件,以满足特定的需要,也丰富了操作系统的应用层。
  关键词:OSKit;组件技术;操作系统;协议栈
  一、 应用OSKit的必要性
  一般情况下,探究人员只对操作系统的一些特定领域感喜好,而对于另外一些元素,如启动加载代码、核心启动代码、设备驱动程序和内存分配代码等往往不感喜好,但是一个可运行的原型系统又必须包含这些内容。编写这些基础结构延缓了操作系统探究项目的进度,同时也增加了进行操作系统探究的代价。为了解决这一新问题,美国犹他大学的FLUX探究小组开发了OSKit,它提供了一个框架和一组模块化的、具有简单接口的库以及一组清楚的、可重用的OS组件。开发者可以根据自己的探究喜好或所要考虑的性能来使用这些模块,或用他们自己的模块来替代标准的OSKit模块。
  二、 组件技术简介
  所謂组件,其实就是一种可部署软件的代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型的组件乃至直接建立整个系统。组件的实现必须支持一种或者多种其用户所希望获得的接口。为了构造新应用程序,软件开发人员找出适当的组件,将这些组件加入到正在开发中的应用程序,同时对应用程序进行测试并保证应用程序的组装工作按照预定的规划正常进行。
  三、 Oskit组件关键技术
  1、引导程序
  从操作系统探究的立场来看,启动加载器是一个令人不敢喜好的领域,因此OS开发者通常进行一个最小化、快捷的设计。由于设计理念和要求的稍微差别,每个启动加载器都不适用于下一个OS。为了解决这个新问题,OSKit直接支持多启动标准,这一标准是由几个OS项目的成员共同设计的,它的目的是提供一个简单而通用的启动加载器和OS内核间的接口,从而答应一个启动加载器加载任何兼容的OS。在进行操作系统探究时,多启动标准非常有用,这其中的主要原因是启动加载器在加载内核自身的同时还具有加载附加文件或者启动模块的能力。
  2、核心支持库
  OSKit核心支持库的主要用途是让客户OS更轻易访问硬件设施。它包含了一个较大的实用函数和符号定义的集合,该集合对于管理模式代码是非常具体的。和此相对应,OSKit的大多数其他库在用户模式代码中通常很有用。和OSKit的其余部分所不同的是,多数核心支持代码必须是针对特定系统结构的,而这些特定机器的细节对客户OS也是有用的。OSKit核心支持库仔细地设置了一个基本的32位执行环境,初始化段和页转换表,安装一个中断向量表,并提供缺省的陷阱和中断处理程序。该库在缺省情况下自动地定位所有随内核加载的启动模块,并保留它们所在的物理内存。
  3、内存管理库
  如同在一个标准C语言库中实现的malloc()一样,内存管理代码典型地用于用户空间。通常并不适用于内核。设备驱动经常需要分配特定类型的内存,并伴随具体的调整属性。为解决这些内存管理新问题,OSKit包含了两个简单而灵活的内存管理库摘要:(1)基于队列的内存管理器LMM,它提供了功能强大且高效的原语来进行分配管理,并支持在一个池中管理多种类型的内存。(2)地址映射管理器AMM,被设计用来管理不必直接映射到物理内存或虚拟内存的地址空间,它对OS的其他方面提供了类似的支持。
  4、调试支持
  OSKit的一个最实用的好处是摘要:给定一个适当的硬件设置,它马上就能提供给OS开发者一个完全源代码级的内核调试环境。OSKit内核支持库包括一个可用于GNU调试器(GDB)的串行存根模块,它在客户OS环境中处理陷阱,并使用GDB的标准远程调试协议通过一个串行程序和运行在另一台机器上的GDB通信。甚至当客户机OS执行自己的陷阱处理时,OSKit的GDB存根模块也是可用的。假如客户OS提供适当的钩子,它甚至支持多线程调试。除了基本的调试器支持,OSKit也提供了一个内存分配调试库,它可以跟踪内存分配并检测一般的错误,如缓冲区溢出和释放已释放的内存。这个库提供了和许多普通应用程序调试器相似的功能性,所不同的是它运行在由OSKit提供的最小内核环境中。
  5、 设备驱动支持
  在OS开发和维护中最艰巨的一个任务是支持多种多样的I/O硬件。这些复杂的设备常会含有潜在的错误,而新硬件的发布又经常伴随着不兼容的软件接口。由于这些原因,OSKit采用了为现有内核开发的稳定的、经过充分测试的驱动程序。OSKit使用了一种封装技术,将现有的驱动程序代码基本上未加修改地合并到OSKit中。这些现有的驱动程序被一个OSKit粘结代码层所包装,从而使得这些驱动程序可以在和开发它们的环境完全不同的环境中工作。目前,来自Linux的大多数以太网卡、SCSI和IDE磁盘的设备驱动程序被包括进来,总数超过了五十种。用同样的方式,来自FreeBSD的八个字符设备驱动程序也被包含了进来,它们支持标准PC控制台和串口及不同的多串口板。
  6、协议栈
  OSKit提供了一个完整的TCP/IP网络协议栈。如同驱动程序一样,有关网络的代码也可以通过封装机制被合并进来。OSKit当前可以从Linux中获取网络设备驱动程序,它们是PC平台可获得的最大的免费资源。OSKit的网络组件继续于FreeBSD4.4,它通常被认为具有更多成熟的网络协议。这显示了使用封装机制将现有软件包装成灵活的组件的第二个优点摘要:即从不同的资源中获取最好的组件,并让它们一起被使用。
  7、文件系统
  通过使用封装技术,OSKit吸收了NetBSD的基于磁盘的文件系统代码。NetBSD之所以被选择为首要资源库,是因为在可用的系统中,它的文件系统代码被最清楚地分离了出来,而FreeBSD和Linux的文件系统和它们的虚拟内存系统结合的更紧密。当前,OSKit也把Linux文件系统合并了进来,以便能够支持多种类型的文件系统格式,如Windows95、OS/2和System V的文件系统格式等等。
  总之,采用组件技术能降低开发、测试和维护成本,提高可靠性和稳定性。OSKit大大减轻了操作系统探究和开发者的负担,可以让开发人员避开复杂的底层,而把喜好集中和他们所感喜好的领域,这不仅满足了实际客户系统的需求,也有助于操作系统的探究和开发。
  参考文献
  [1]李永胜,汪红梅等.基于面向对象操作系统开发平台OSKit的分析和程序设计 [j].计算机科学,2015(3)
  [2]杜德海,刘小燕.嵌入式操作系统中的任务分析机制的设计与实现 [j].电子科技大学学报,2016(2)
其他文献
摘要:文章从调查中获取有关大学生"双十一"网购的第一手材料,分析大学生"双十一"网购的群体特征及消费特点,得出大学生在面对"双十一"网购时缺乏理性消费意识,物质消费金额远超过精神消费,当天消费额占生活费支出的  比重大等问题亟待解决。最后提出大学生"双十一"理性购物的建议。  关键词:大学生 双十一 网购行为  一、调查情况及分析  文章采取抽样调查的方法,在玉溪师范学院随机发放问卷500份,回收
期刊
【摘要】园林绿化综合了文化学、生态学、美学等学科应用知识,能维护校园自然生态平衡、装饰校园景观,提供具有艺术性、归属感、审美感与生态性特点的科研教学、学习交流、生活游憩与工作娱乐环境,使校园环境优美、生活舒适、人景互融、生态健全,可传播文化、启迪智慧、净化心灵、督造健康品格、促进创新,还能体现校园文化个性特征与影响文化建设。本文刍议了园林绿化对高校校园文化建设的影响,旨在同步进行、协调一致、适当规
期刊
摘要:新时期背景下,在催化剂行业发展过程中,固体酸催化剂占据重要地位,而离子交换树脂催化剂则是其中应用最为广泛的一种类型。离子交换树脂本身特性较为特殊,强酸强碱、属于大孔结构,为此,将其应用在酸性与碱性催化反应当中具有较为明显的效果。文章将交换树脂催化剂作为重点研究对象,并阐述了在精细化工合成中的实践运用价值,以期有所帮助。  关键词:交换树脂催化剂;精细化工合成;价值;分析  离子交换数值本身属
期刊
摘要:在新教改的背景影响下,我国的教學方式逐步发生转变,体验式教学在教学过程中能够有效完善学生职业生涯规划教学。通过不断普及体验式教方法,能够为我国职业生涯规划教育课程指引方向。文章通过对体验式教学进行分析,详细阐述了体验式教学对于职业生涯规划教育的重要性,提出体验式教学的实施方法,为培养高素质人才而不断努力。  关键词:体验式教学;职业生涯规划教育  随着我国社会经济不断发展,人们对于教育的重视
期刊
[摘要]随着网络技术的发展以及我国电算化的普及,会计核算受到大数据的影响将越来越大,可以说是一次跳跃式的进步。对于企业发展,特别是电子商务企业的发展来说,承担重要引导作用。但我国对会计电算化的应用仍处于初级阶段,伴随其中出现的很多问题难以忽略,本文主要通过对大数据对会计电算化发展的影响中出现的问题进行分析,探讨相应对策。  [关键词]会计电算化;大数据  互联网的发展以及对大数据的利用,在一定的程
期刊
摘要:停车场管理系统是能够实现对内部车辆和外来车辆的出入进行现代化管理的一套出入口系统。本文主要讨论了现有国家标准中针对停车场管理系统所涉及到的相关标准和规定,为停车场管理系统的设计与实现,特别是规范的设计与实现打下坚实的基础。  关键词: 停车场;管理系统;标准  1. 停车场管理系统概述  1.1停车场管理系统的概念  停车场管理系统是能够实现对内部车辆和外来车辆的出入进行现代化管理的一套出入
期刊
[摘要] 听、说、读、写、译是英语专业学生应该掌握的五项基本技能。在高职英语教学中,听和读是知识的摄入,说是知识的反馈,写和译是知识的积累、运用与巩固。其中"写"是较高层次的信息系统,它要求学生具有较为扎实的知识基础和较高的书面语言表达能力。培养学生的写作能力是英语教学的一个重要目标,作为一名英语教师,必须认真钻研教材内容,结合教学内容和学生的知识实际,力求渗透写作目标。  [关键词] 目标 教学
期刊
摘要:本文在介绍了全球价值链给全球经济和产业布局带来的新调整的基础上 ,指出了其对高校的专业课程设置存在的影响,并据此给出优化高校的专业课程设置的具体建议,希望通过优化课程体系以培养更多的适应社会分工需要的毕业生。  关键词:全球价值链分工;专业课程设置;影响  一、引言  全球价值链分工的出现和发展,给国际经济领域带来了广泛而深远的影响,引起了新一轮的世界范围内的产业布局和经济结构调整。全球价值
期刊
【摘 要】本文主要分析了海岩小说的创作中情节结构的复杂性,这种复杂性使他的小说具有让读者爱不释手,废寝忘食的巨大"杀伤力"。  【关键词】海岩;复杂性;创作特点  海岩小说之所以受到广大读者喜爱,还有一个很重要的秘密武器就是错综复杂,引人入胜的情节结构。他在结构上的智慧是其他作家不能比的。很多人总结说海岩小说的"通病"是进入剧情慢。但是我认为这并不是什么毛病,因为前面看似漫不经心、游离于整个故事之
期刊
【摘要】计算机应用知识是信息时代必备的基础知识,课程知识涉及的技术、理论、方法可不断更新,实践性强,知识点繁琐抽象。应避免计算机教育中发生用非所学、学非所用、被动接受、实践经验与动手能力不足等通病,尽量使学生学有所成、学有所用。对此,可在基础课中应用PBL模式,PBL模式强调合作互动型学习、反思性教学、目标指引与主动性学习,能让学生系统性联系理论、实践,在学中做、在做中学,获得具体的应用实践体会。
期刊