当前位置:首页 > 发言稿 > 【关于服务体模型与操作系统内核设计技术的研究】 深入理解linux内核
 

【关于服务体模型与操作系统内核设计技术的研究】 深入理解linux内核

发布时间:2019-02-21 04:44:12 影响了:

  摘要:操作系统内核通常可分为宏内核、微内核2类,前者可维护性、可扩展性比较差,而后者缺乏实用性、效率低下。本文所讨论的服务体模型属于新型的操作系统构造模型,该模型的存储抽象、运行抽象相分离,采用一种基于消息推动的通信机制,既保持了微内核可扩展性、模型灵活的优点,又具有很高的运行效率,而MiniCore正是一种基于服务体模型的原型操作系统,并且成功地在路由器硬件实验平台上应用了该系统,通过实例说明了该操作系统构造模型的优越性。
  关键词:操作系统 微内核 服务体 执行流
  中图分类号:TP316 文献标识码:A 文章编号:1007-9416(2012)01-0067-02
  
  操作系统通常分为微内核和宏内核,现代操作系统的研究非常热烈,综合利用宏内核和微内核优势,根据不同的应用和设计目标,采用相应的设计技术,本文介绍了一种新的操作系统构造模型:服务体模型。
  1、服务体模型基本涵义
  服务体模型将系统抽象为服务体和执行流两个概念,其基本结构如下图1所示,操作系统的功能部件包括内存管理、文件系统等。其中,核心服务体提供服务和执行流程管理和沟通机制等基本服务,所以是核心部分。
  执行流代表CPU对机器码执行的抽象,系统中的CPU提供一个执行,若系统采用超线程技则每个CPU可以提供多个执行流,由于执行流不与固定的存储空间绑定,从而可直接跨越系统组件推动服务体完成服务而不必使用其他的线程,因此执行流是比线程更加基本的概念。
  服务器通过小通信端口,包括消息处理例程的入口以及优先级运行栈使用的地址空间,设置好处理器的特权级和其他信息执行流程,只有根据记录的信息资源并从接口进入服务器,核心服务器管理设备,每个服务有1-3个插座:链接异常命令广播,用户应首先与服务器建立连接,核心服务器提供一个连接的命令来完成这个功能,如果核心服务器发生错误,错误源服务器通过订阅服务的按需加载。
  服务体主要依靠执行流的推动来处理消息,这种推动有2个来源:1.来自核心服务体。服务体可把自己的小端口注册到核心服务体中以申请执行流,也可根据系统的配置情况,同时申请向服务体中心申请多个执行流以便利用多处理器技术实现加速处理,2.来自其他服务体。当服务体A向B通信时,将消息从A的地址空间中推入B的地址空间中,就是把执行流推入服务体B以完成消息处理。
  2、服务体模型实现内核模型的统一
  服务体模型蕴含了微内核、宏内核模型的优点,从而使操作系统在可扩展性、处理效率等方面更为灵活,本文通过论述怎样将服务体模型演变为单纯的宏微内核、内核模型模型,以说明服务体模型的本源性。
  系统的所有组件服务只使用基本的空间,其数据、代码、均存在于基本空间,基本空间对应的宏内核在内核空间,由于基本空间是共享的,执行流程和宏内核模式不需要空间开关,如果系统的所有服务都使用信息内存管理机制,服务模型及退化为宏内核模式。但由于模型的运用新闻促进交流,所以是一个模块化,可扩展的分布式计算支持等方面均优于宏内核系统。延迟型的消息处理方法不使用客户服务体的执行流处理,它只是把消息挂在等待队列上,然后使客户服务体的执行流进入休眠状态,在这个过程中等待其他执行流处理,当消息处理完毕后唤醒休眠中的消息请求执行流,其过程如图:
  从逻辑上看,核心服务体对应的是微内核模型的核心,服务数据可以通过内存映射和共享,从而避免内存拷贝。在这种模式下,进入微内核模式,执行流程地址空间交换核心服务。执行流程的核心层,进入用户服务机构等级的用户,当执行从用户模式的服务时再次回到了核心状态。
  3、实例研究:MiniCore V3
  我们依据上述的服务体模型设计实现了一个操作系统原型MiniCoreV3,在可扩展、计算能力、可剪裁可配置和可靠性等方面结合了宏内核、微内核模型的优点,主要设计技术如下:(1)从整体结构上考虑,将不同的功能模块组织成各服务体,对于那些使用频繁、传输大量数据并且对系统效率影响大的组件(如图形管理器等)都采用以上所述的技术,目的是减少内存拷贝和上下文切换的开销,而非关键硬件驱动程序、安全策略等需要灵活定制的部分则使用隔离的地址空间以提高系统可靠性。(2)使用用户态、内核态混合的服务体,实现胖微内核模型、瘦微内核模型的融合,以兼顾系统的运行效率、灵活性、健壮性。(3)对于那些数据交换量大并且要求开销小的系统组件(例如cache管理器)则根据需要交替地使用立即型或延迟型消息处理模式。
  当前PC操作系统体系内核设计的研究方向之一是融合宏内核模型、微内核模型两者的优点而力求避免其缺点,本文中描述了我们所提出的一种新的内核设计方法:服务体模型,并重点介绍了如何利用它来融合微内核模型和宏内核模型,最终使操作系统体系结构能匀滑地介于这两种内核模式之间。
  参考文献
  [1]D・Engler.The exokemel operating system architecture:[Ph.D.dissertation].Cambridge,2008.
  [2]长新,马克等.改进的Eclat数据挖掘算法的研究[J].微机信息,2007.
  [3]耿晓斐.规则的ECLAT算法的研究与应用[D].重庆大学学报,2009.
  [4]跃进.操作系统设备驱动可靠性研究综述[J].计算机工程与科学,2009.
  作者简介
  朱岩(1982-),男(汉族),陕西咸阳,研究生,主要研究方向:软件工程。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3