欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>浅析组件机制和操作系统的实现

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

2022-12-24 08:15:50 收藏本文 下载本文

“猫魔法月亮”通过精心收集,向本站投稿了8篇浅析组件机制和操作系统的实现,以下是小编帮大家整理后的浅析组件机制和操作系统的实现,欢迎大家收藏分享。

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

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

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

1、引言

当前,操作系统的功能不断扩展,操作系统的类型呈现出多样化的趋向。一个小规模的开发小组已经不可能完全从头开始实现一个实用的操作系统,而一般情况下,探究人员只对操作系统的一些特定领域感喜好,而对于另外一些元素,如启动加载代码、核心启动代码、设备驱动程序和内存分配代码等往往不感喜好,但是一个可运行的原型系统又必须包含这些内容。编写这些基础结构延缓了操作系统探究项目的进度,同时也增加了进行操作系统探究的代价。为了解决这一新问题,犹他大学的FLUX探究小组开发了OSKit,它提供了一个框架和一组模块化的、具有简单接口的库以及一组清楚的、可重用的OS组件。OSKit可以用来构建操作系统内核、外层服务和其他核心OS功能模块。OSKit提供了各种功能模块,诸如简单自举,一个可用于内核的最小化POSIX环境、和物理内存和其约束一致的内存管理、广泛的调试支持,以及高层子系统如协议栈和文件系统。开发者可以根据自己的探究喜好或所要考虑的性能来使用这些模块,或用他们自己的模块来替代标准的OSKit模块。

OSKit公开了它内部的实现细节,答应用户从成熟的操作系统中不加修改地提取代码,然后通过一小部分经过仔细设计的粘接代码将它们合并到一起,隔离它们的依靠性,并输出良好定义的接口。OSKit使用这一技术整合了许多稳定而成熟的源代码,包括设备驱动、文件系统、网络协议等等。实践表明,使用组件软件架构和重用技术会给操作系统实现领域带来大的影响。

2、组件技术简介

组件技术是一种较新的软件开发技术。到目前为止,还难以确定组件技术的明确定义。比如,对组件技术的常见说法有以下这些摘要:“二进制软件单元”、“任意场合可部署的软件”、“非凡适合第三方开发”和“规范定义的接口”等等。大致上可以这样理解摘要:所谓组件,其实就是一种可部署软件的代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型的组件乃至直接建立整个系统。组件的实现必须支持一种或者多种其用户所希望获得的接口。实现组件并不一定需要采用面向对象语言。为了构造新应用程序,软件开发人员找出适当的组件,将这些组件加入到正在开发中的应用程序,同时对应用程序进行测试并保证应用程序的组装工作按照预定的规划正常进行。采用组件技术能降低开发、测试和维护成本,提高可靠性和稳定性。

3.Oskit组件综述

OSKIT的组件库提供了一般情况下更高层的功能,它通常只对外开放一些相关的公用调用接口。目标系统通过OSKit的面向对象的COM接口来和这些组件进行交互。以下几节概述了OSKit所提供的组件。

3.1引导程序

大多数操作系统多有自身的启动加载机制,彼此互不兼容。这种加载机制的多样性并不是由于每个OS所要求的自举服务不同而引起,而是由于构建启动加载器的`特定方式造成的。因为从操作系统探究的立场来看,启动加载器是一个令人不敢喜好的领域,因此OS开发者通常进行一个最小化、快捷的设计。由于设计理念和要求的稍微差别,每个启动加载器都不适用于下一个OS。为了解决这个新问题,OSKit直接支持多启动标准,这一标准是由几个OS项目的成员共同设计的,它的目的是提供一个简单而通用的启动加载器和OS内核间的接口,从而答应一个启动加载器加载任何兼容的OS。

在进行操作系统探究时,多启动标准非常有用,这其中的主要原因是启动加载器在加载内核自身的同时还具有加载附加文件或者启动模块的能力。这里的一个启动模块只是一个普通文件,启动加载器不以任何方式解释它,而仅仅把它随同内核映像一起加载到保留物理内存块中。在启动内核时,启动加载器提供给内核以下内容摘要:物理地址的列表、所有已加载的启动模块的大小,以及和每个模块相联系的由用户定义的字符串。这些启动模块和和它们相联系的用户定义的字符串由内核解释。这样做的目的是为了通过提供内核启动时需要的数据,诸如初始化程序、设备驱动和文件系统服务器,来减轻内核启动的负担。

篇2:浅析组件机制和操作系统的实现的论文

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

1 引言

当前,操作系统的功能不断扩展,操作系统的类型呈现出多样化的趋向。一个小规模的开发小组已经不可能完全从头开始实现一个实用的操作系统,而一般情况下,探究人员只对操作系统的一些特定领域感喜好,而对于另外一些元素,如启动加载代码、核心启动代码、设备驱动程序和内存分配代码等往往不感喜好,但是一个可运行的原型系统又必须包含这些内容。编写这些基础结构延缓了操作系统探究项目的进度,同时也增加了进行操作系统探究的代价。为了解决这一新问题,犹他大学的flux探究小组开发了oskit,它提供了一个框架和一组模块化的、具有简单接口的库以及一组清楚的、可重用的os组件。oskit可以用来构建操作系统内核、外层服务和其他核心os功能模块。oskit提供了各种功能模块,诸如简单自举,一个可用于内核的最小化posix环境、和物理内存和其约束一致的内存管理、广泛的调试支持,以及高层子系统如协议栈和文件系统。开发者可以根据自己的探究喜好或所要考虑的性能来使用这些模块,或用他们自己的模块来替代标准的oskit模块。

oskit公开了它内部的实现细节,答应用户从成熟的操作系统中不加修改地提取代码,然后通过一小部分经过仔细设计的粘接代码将它们合并到一起,隔离它们的依靠性,并输出良好定义的接口。oskit使用这一技术整合了许多稳定而成熟的源代码,包括设备驱动、文件系统、网络协议等等。实践表明,使用组件软件架构和重用技术会给操作系统实现领域带来大的影响。

2 组件技术简介

组件技术是一种较新的软件开发技术。到目前为止,还难以确定组件技术的明确定义。比如,对组件技术的常见说法有以下这些摘要:“二进制软件单元”、“任意场合可部署的软件”、“非凡适合第三方开发”和“规范定义的接口”等等。大致上可以这样理解摘要:所谓组件,其实就是一种可部署软件的代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型的组件乃至直接建立整个系统。组件的实现必须支持一种或者多种其用户所希望获得的接口。实现组件并不一定需要采用面向对象语言。为了构造新应用程序,软件开发人员找出适当的组件,将这些组件加入到正在开发中的应用程序,同时对应用程序进行测试并保证应用程序的组装工作按照预定的规划正常进行。采用组件技术能降低开发、测试和维护成本,提高可靠性和稳定性。

3 oskit组件综述

oskit的组件库提供了一般情况下更高层的功能,它通常只对外开放一些相关的公用调用接口。目标系统通过oskit的面向对象的com接口来和这些组件进行交互。以下几节概述了oskit所提供的组件。

3. 1 引导程序

大多数操作系统多有自身的启动加载机制,彼此互不兼容。这种加载机制的.多样性并不是由于每个os所要求的自举服务不同而引起,而是由于构建启动加载器的特定方式造成的。因为从操作系统探究的立场来看,启动加载器是一个令人不敢喜好的领域,因此os开发者通常进行一个最小化、快捷的设计。由于设计理念和要求的稍微差别,每个启动加载器都不适用于下一个os。为了解决这个新问题,oskit直接支持多启动标准,这一标准是由几个os项目的成员共同设计的,它的目的是提供一个简单而通用的启动加载器和os内核间的接口,从而答应一个启动加载器加载任何兼容的os。

在进行操作系统探究时,多启动标准非常有用,这其中的主要原因是启动加载器在加载内核自身的同时还具有加载附加文件或者启动模块的能力。这里的一个启动模块只是一个普通文件,启动加载器不以任何方式解释它,而仅仅把它随同内核映像一起加载到保留物理内存块中。在启动内核时,启动加载器提供给内核以下内容摘要:物理地址的列表、所有已加载的启动模块的大小,以及和每个模块相联系的由用户定义的字符串。这些启动模块和和它们相联系的用户定义的字符串由内核解释。这样做的目的是为了通过提供内核启动时需要的数据,诸如初始化程序、设备驱动和文件系统服务器,来减轻内核启动的负担。

3.2核心支持库

oskit核心支持库的主要用途是让客户os更轻易访问硬件设施。它包含了一个较大的实用函数和符号定义的集合,该集合对于管理模式代码是非常具体的。和此相对应,oskit的大多数其他库在用户模式代码中通常很有用。和oskit的其余部分所不同的是,多数核心支持代码必须是针对特定系统结构的,而这些特定机器的细节对客户os也是有用的。例如,在x86机器上,核心支持库包含一些函数,用来创建和操纵x86页表和段寄存器。其他oskit组件通常提供建立在这些低层机制上的和体系结构无关的设施,但是为了提供最大的灵活性,和特定结构相关的接口始终可以被访问。

oskit核心支持库在x86体系结构上尤为重要,因为该体系结构的os级编程环境非凡复杂和模糊。核心支持库仔细地设置了一个基本的32位执行环境(为了和ms-dos兼容,x86处理器通常以16位模式开始),初始化段和页转换表,安装一个中断向量表,并提供缺省的陷阱和中断处理程序。当然,客户os能够修改或重载这些行为。然而,在缺省情况下,核心支持库自动地做所有必要的工作,以便使处理器进入一个方便的执行环境,此时中断、陷阱、调试以及其他标准设施已经如预期的那样开始工作。该库在缺省情况下自动地定位所有随内核加载的启动模块,并保留它们所在的物理内存。接下来,应用程序可以很轻易使用它们。客户os只需以标准c语言风格提供一个main函数。一切都设置好以后,内核支持库将用所有参数和由启动加载器传递过来的环境变量来调用它。

3.3内存管理库

如同在一个标准c语言库中实现的malloc()一样,内存管理代码典型地用于用户空间。通常并不适用于内核。设备驱动经常需要分配特定类型的内存,并伴随具体的调整属性。例如,对于内建的dma控制器只能访问最初的16m物理内存。为解决这些内存管理新问题,oskit包含了两个简单而灵活的内存管理库摘要:(1)基于队列的内存管理器(或称lmm),它提供了功能强大且高效的原语来进行分配管理,并支持在一个池中管理多种类型的内存。(2)地址映射管理器(或称amm)被设计用来管理不必直接映射到物理内存或虚拟内存的地址空间,它对os的其他方面提供了类似的支持,诸如进程地址空间、分页、空闲块或ipc名字空间的管理。尽管这些库可以很轻易地应用在用户空间,但实际上它们是被非凡设计用来满足os内核的需求。

3.4 最小c语言库

成熟的os内核一般都包含着相当数量的仅仅用来重新实现基本的c语言库函数如printf()和malloc()的代码。和此形成对比的是,oskit提供了一个最小化c语言函数库,它围绕着最小化依靠性而不是最大化函数性和性能的原则来设计。

3.5调试支持

oskit的一个最实用的好处是摘要:给定一个适当的硬件设置,它马上就能提供给os开发者一个完全源代码级的内核调试环境。oskit内核支持库包括一个可用于gnu调试器(gdb)的串行存根模块,它在客户os环境中处理陷阱,并使用gdb的标准远程调试协议通过一个串行程序和运行在另一台机器上的gdb通信。甚至当客户机os执行自己的陷阱处理时,oskit的gdb存根模块也是可用的。假如客户os提供适当的钩子,它甚至支持多线程调试。除了基本的调试器支持,oskit也提供了一个内存分配调试库,它可以跟踪内存分配并检测一般的错误,如缓冲区溢出和释放已释放的内存。这个库提供了和许多普通应用程序调试器相似的功能性,所不同的是它运行在由oskit提供的最小内核环境中

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和system v的文件系统格式等等。

oskit文件系统输出的com接口类似于许多unix文件系统所使用的内部vfs接口。这些接口具有很好的粒度,使我们可以不必接触oskit文件系统的内部。例如,oskit接口只接受简单的路径名组件,答应平安封装的代码执行适当的访问许可检查。

4 oskit的目前状况

自从在6月发布了oskit的第一个公开发行版以来,oskit已经更新了多次,每次更新都增加了一些算法,并修正了一些错误。最新的发行版是3月的版本。由此可见,oskit一直处于操作系统开发平台的前沿,其自身也在不断完善和发展。

5 结论

作为一个操作系统探究和开发的平台,oskit大大减轻了操作系统探究和开发者的负担。它可以让开发人员避开复杂的底层,而把喜好集中和他们所感喜好的领域。开发者可以用自己编写的组件来取代oskit中的部分组件,以满足自己特定的需要,从而丰富了操作系统的应用层。总之,oskit满足了实际客户系统的需求,有助于操作系统的探究和开发。

参考文献

(1) 汤海京 基于面向对象操作系统开发平台(oskit)的分析和程序设计 http摘要://www-900.ibm.com/developerworks/linux/kernel/oskit/part1/

(2) michael hohmuth using the oskit as a base for l4 applications

(3) bryan ford kevin van maren jay lepreau stephen clawson bart robinson jeff turner

_ the flux os toolkit摘要: reusable components for os implementation

篇3:win7操作系统怎么删除组件

由于windows默认地把系统文件隐藏起来,从而在“Windows资源管理器”窗口中看不到它们,所以我们要让这些系统文件现出“原形”,操作步骤如下:打开资源管理器窗曰,在“工具”菜单中,单击“文件夹选项”命令,ghost win7系统下载系统弹出“文件夹选项”对话框,单击“查看”选项卡,选空“隐藏受保护的操作系统文件(推荐)”复选框,选中“显示所有文和文件件夹”复选钮,单击“确定”按钮,

在删除了“Sysoc·inf”文件中所有的“hide,”字符串后,再到“Windows组件向导”对话框去看看,一定会发现比原来多出了一些组件。现在你就可以删除那些不需要的组件了。

dnzg.cn

对于Win7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等,

删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Win7系统中那些用不到的系统组件。

先双击“控制面板”中的“程序和功能”选项,以打开与之对应的窗口;然后单击ghost win7系统下载图右边的“打开或关闭Windows功能”选项,此时就会弹出一个名为“Windows 功能”的窗口,大家可以发现许多系统组件右边的复选框处于选中状态。

这表示在当前系统中已经安装了相关的系统组件,接着根据自己的需求,取消勾选那些用不到的系统组件(如“XPS服务”、“媒体功能”、“游戏”、“远程差分压缩”等等);完成上述操作后,最后单击“确定”按钮并按照提示重启系统就可以了。

小贴士:对于“Windows Search”复选框,大家千万不要取消勾选;否则,就不能利用Win7系统自带的搜索功能来搜索硬盘中的文件资源。

经过以上步骤的操作,刚刚取消勾选的那些用不到的系统组件就已经被成功删除了。当然,以后如果再用到已删除的某个系统组件时,可在窗口中再勾选与之对应的复选框并重启系统,以完成该系统组件的重新安装操作即可。

篇4:坚持机制创新实现可持续发展

坚持机制创新实现可持续发展

凌源钢铁集团公司(以下简称凌钢)是集采矿、冶炼、轧材于一体的'钢铁联合企业,是国家重点支持的520户和辽宁省44户重点企业之一.,凌钢通过坚持机制创新、管理创新、技术创新和大力创建有凌钢特色的企业文化,生产经营和经济效益大幅攀升,企业可持续发展势头十分强劲.全年产钢131万吨、铁122万吨、钢材133万吨,分别同比增长了35.6%、34.3%和38.5%,创出凌钢历史最好水平;实现销售收入26.4亿元、利税3.67亿元和利润1.3亿元,分别同比增长了29.3%、40%和22%.

作 者:柳祖林  作者单位: 刊 名:辽宁经济 英文刊名:LIAONING ECONOMY 年,卷(期): “”(7) 分类号: 关键词: 

篇5:浅析安全电子商务的实现机制

浅析安全电子商务的实现机制

文章主要介绍了安全电子商务中使用的一些核心技术.如:数据加密、数字签名、数字信封、身份认证等.并通过一安全电子支持协议SET的.安全解决方案,详细而又清晰地阐明它们之间的关系及各自的优、缺点.同时对越权访问及私密遗忘问题提出了自己的解决方法.

作 者:蒋丽 沈勇  作者单位:南京经济学院,华东船舶工业学院 刊 名:经济师 英文刊名:CHINA ECONOMIST 年,卷(期):2003 “”(2) 分类号:F224.33 关键词:数字签名 双重签名 数字信封 DES RSA CA证书  

篇6:基于VRTX操作系统实现V5接口协议

基于VRTX操作系统实现V5接口协议

摘要:V5接口是接入网(AN)和本地交换机(LE)之间标准化的开放接口。本文首先简要介绍V5接口协议结构,然后给出IDS综合数字通信系统中V5接口的实现方法;着重介绍第三层协议的软件实现方法,并对嵌入式系统编程进行一些探讨。

关键词:接入网V5接口实时操作系统本地交换机

引言

接入网的概念是由传统的用户线发展起来的。近年来,由于电话业务的发展、新业务种类的增多、对线路带宽要求的提高以及各种新兴技术(特别是光纤通信技术)的发展,使得传统的用户线的概念逐渐发展成为接入网的概念。前几年,国际电信联盟(ITU)正式定义了用户接入网。引入接入网后,现有的电信网将减少端局数量,简化中继网的复杂程度,有利于中继网的管理。

接入网所覆盖的范围可以由三类接口来界定,如图1所示。接口的标准化、综合性直接影响到接入网的建设成本及接入网能承载的业务能力,为此,ITU-T综合考虑各种需要,终于通过了关于接入网和本地交换机之间标准化的V5.1和V5.2接口的建议[1,2]。

V5接口是一种在接入网中适用范围广、标准化程度高的新型开放的数字接口,对于设备的开发应用、多种业务的发展和网络的更新起着重要的作用。V5接口的标准化代表了重要的网络演进方向,影响深远。其意义在于交换机通过此接口可以支持多种类型的用户接入,而且V5接口的开放性意味着交换机和接入网的技术和业务演进完全独立开来。接入网的发展可以不受交换机的限制,使得接入网市场完全开放。

一、V5接口协议结构

窄带V5接口包括V5.1和V5.2接口。V5.1接口由1条2048Kb/s链路构成,通过时隙传递公共控制信号,支持模拟电话接入,基于64Kb/s的综合业务数字网基本接入(2B+D)和用于半永久连接的、不加带外信令信息的其他模拟接入和数字接入。这些接入类型都具有指配的承载通路分配,即用户端口与V5.1接口内承载通路有固定的对应关系。V5.2接口按需要可以由1~16个2048Kb/s链路构成,除支持V5.1接口的业务外,还支持ISDNPRI(30B+D)接入,其基于呼叫的时隙分配使得V5.2接口具有集中功能。V5.1接口是V5.2接口的子集,V5.1接口应当能够升级到V5.2接口。

V5接口协议由3层组成,接入网侧和本地交换机侧呈不对称布置,层与层之间的信息传递采用原语实现,而同层子层间的信息传递则采用映射。

V5接口物理层由1~16条2048Kb/s的链路构成,电气和物理特性符合G.703建议,帧结构符合G.704/G.706建议。每帧由32个时隙组成,其中:时隙TS0用作帧定位和CRC-4规程;时隙TS15、TS16和TS31可以用作通信通路(C通路),运载信令信息和控制信息,通过指配来分配;其余时隙可用作承载通路。

V5接口的数据链路层仅对于C通路而言。第二层协议(LAPV5)规范以建议Q.921中规定的LAPD协议和规程为基础,允许将不同的信息流灵活地复用到C通路上去。第二层协议分为两个子层:封装功能子层(LAPV5-EF)和数据链路子层(LAPV5-DL)。此外,第二层功能中还应包括帧中继功能(AN-FR)。

V5接口的第三层协议簇包括PSTN协议、控制协议、链路控制协议、BCC协议和保护协议(后三种协议为V5.2接口特有)。PSTN协议负责处理与PSTN业务有关的信令;控制协议负责用户端口状态指示与控制,协调两侧在网管控制下的数据指配;链路控制协议负责协调和控制AN、LE两侧的链路阻塞、链路解除阻塞和链路标识功能;BCC协议用来把一特定2048Kb/s链路上的承载通路基于呼叫分配给用户端口;保护协议提供V5.2接口在出现故障时通信路径切换的保护功能。

如图2所示,当第三层协议有信令信息需要发送时,通过数据链路子层(LAPV5-DL),请求封装功能子层(LAPV5-EF),用给定的封装功能地址传送数据链路子层端到端数据。

二、V5接口的实现

笔者曾参与IDS2000综合数字通信系统(接入网侧)V5.2接口的开放研制工作。IDS2000综合数字通信系统是电力自动化研究院为了满足电力通信网发展的需要而开发的一种综合接入设备。该设备具备V5接口,使得IDS2000系统可以很方便地通过开放接口和大型交换设备互连,取代了原先接入大型交换设备时所用的音频Z接口或专用接口。

V5接口协议分3层结构。物理层和数据链路层部分功能由硬件实现,这在超大规模集成电路飞速发展的今天,难度已不是太大。Mitel公司生产的大规模E1接口芯片MT9075就是一种很合适的芯片[3]。MT9075是一种单E1接口,综合了成帧器和LIU。重要特性包括数据链路接入、告警、中断、环回和诊断,并内嵌了两个HDLC控制器(MT8952),特别适用在V5接口(封装功能子层功能和HDLC协议类似)。

V5接口的第三层协议包含内容较多,由软件实现。本文主要结合嵌入式系统编程来介绍V5接口的第三层软件结构,对于协议细节的实现不多赘述。

1.实时多任务操作系统[4]

目前,嵌入式应用领域的一个发展倾向是采用实时多任务操作系统RTOS(RealTimeOperatingSystem)。RTOS的广泛使用与应用的复杂化有关。过去1个单片机应用程序所控制的外设和履行的任务不多,采取1个主循环和几个顺序调用的子程序模块即可满足要求;但现在1个嵌入式控制系统可能要同时

控制/监视很多外设,要求实时响应,有很多处理任务,各个任务之间有很多信息传递,如果仍采用原来的方法,存在两个问题:一是中断可能得不到及时响应,处理时间过长;二是系统任务多,要考虑的各种可能也多,各种资源若调度不当就会造成死锁,降低软件可靠性,程序编写任务量成指数增加。正是这种情况的出现,推动着RTOS的应用迅速发展。

对于V5接口,系统软件工作量相当大,包括5个核心协议功能的处理,须管理很多定时器,有很多用户端口需要监视,并且要求实时处理,若采用传统的软件编程方法,很难实现。在IDS2000系统中,笔者采用VRTX实时多任务操作系统[5]作为开发平台,大大减轻了软件的工作量,而采用面向对象的编程方法和事件驱动的消息机制,使得协议程序具有高可靠性、可控、可观测、易于维护和管理。

2.V5接口软件框图

如图3所示,V5接口软件主要包括:

(1)数据链路层模块(仅包括数据链路子层功能,封装功能子层由硬件板完成);

(2)PSTN协议处理模块;

(3)控制协议处理模块(包括用户端口状态机、指配控制状态机、公共控制状态机);

(4)链路控制协议处理模块(包括链路控制状态机、链路控制L3状态机);

(5)BCC协议处理模块;

(6)保护协议模块;

(7)V5接口AN侧系统管理模块;

(8)V5接口AN侧资源管理模块;

(9)定时器管理模块;

(10)消息处理模块;

(11)用户端口模块;

(12)10ms定时中断。

上述模块中,模块1~7完成V5接口协议的核心功能。其中,数据链路层模块对模块2~7所产生的消息进行处理,交由V5硬件接口板完成封装功能,再发送给LE侧实体;PSTN协议处理模块主要功能是建立用户端口状态和LE侧国内协议实体之间的联系;控制协议模块用于表示用户端口状态指示与控制,还和系统启动、重新启动、指配有关;V5接口AN侧系统管理模块是协议功能正常实现的重要部分,在AN和LE中,不同的FSM之间或第二层协议实体之间没有直接的通信,而是通过系统管理来协调V5接口各个协议实体之间的操作。另外,系统管理负责从AN或LE的各种功能模块中接收和处理有关状态和故障的信息。系统管理还是维护台或网管系统与V5接口之间的桥梁,它负责接收维护命令,并对V5接口执行相应的操作,随时向上层网管报告系统的运行状况。

模块8~12完成V5接口协议的辅助功能。其中用户端口模块负责用户端口状态扫描与控制,直接与硬件端口联系;AN侧资源管理模块配合BCC协议处理模块完成V5接口中BCC协议功能;消息处理模块是为了减轻操作系统的负担设立的,它负责协同操作系统管理各模块的消息队列;定时器管理模块负责产生、管理系统中所需要的定时器,当定时器溢出时,发送消息至相应模块;10ms定时中断程序负责调度系统中需周期性运行的任务,采用“信号量”(semaphores)的通信机制完成。

3.有限状态机

在上述程序模块中,存在大量的有限状态机(FSM),如控制协议中的用户端口FSM、公共控制FSM、BCC协议中的承载通路连接FSM等。有限状态机是描述通信协议过程的一般方式,是一种面向对象的`描述方法,与具体实现程序无关。有限状态机具有有限状态集,在任意给定的时刻,必有惟一确定的状态,在某状态下必须依赖于外部输入的特定消息触发,才能引起状态转移或执行某种任务。

有限状态机对于系统其他软件而言相当于一个“黑匣子”。它可以接收有限的消息组,也可以发送特定的消息组,但其内部结构不为系统其他部分所知。它的功能完全由它接收和发送消息顺序所决定。

有限状态机的这种描述方式很适合用面向对象的方法实现。在传统的实现方法中,状态变量和状态表可以在状态机模块外被访问,易于遭到破坏。面向对象的实现方法提供了一种更加结构化和更加直观的FSM实现方法,更利于“数据隐藏”,而且这些优点随着FSM规模的增大越发明显。我们只须要定义一个FSM基类,利用封装、继承和多态性的特点,就很容易从先前定义的基类中派生出所需要的FSM,大大减少了软件的工作量,软件也易于维护。

4.定时器的实现机制

定时器对于正确实现通信协议功能有着很重要的作用。V5接口协议中存在大量的定时器,当话务量较大时,可能有数百个定时器同时运行。定时器的设计是正确完成V5接口协议功能的一个重要部分。

本系统中由定时器管理进程负责管理V5接口中所有的定时器。由于各种定时器所要求的精度各不相同,所选择时间的长度对各定时器进行监视和计数累计是问题的关键:时间间隔太小,影响系统运行效率;时间间隔太长,影响定时器的精度。为了解决这个问题,系统中设定了三种不同分辨率的定时器:10ms、100ms和1s(分辨率指计数时间间隔)。

若某应用进程须要使用定时器,首先要向定时器管理进程发送一消息,消息中应包含申请定时器的分辨率、预置计数值、溢出后应发送的消息等信息。定时器管理进程收到该消息后,根据定时器的分辨率将其放到合适的定时队列中,启动定时。若定时器计数为零,则表示该定时器溢出,定时器管理进程应向相应的应用进程发送溢出消息,同时应释放该定时器。应用进程若主动要求放弃一定时器,则应向定时器管理进程发送一释放定时器消息。消息中应包含所申请定时器的标号、分辨率以及溢出目标进程、目标对象等。定时器管理进程接收到此消息后,在合适的定时器队列中寻找到该定时器后,将其释放。定时器管理进程管理其他各应用进程所申请的定时器。在定时器管理进程中,有三个链表分别用于存放这3种不同分辨率的定时器。

定时器管理进程完成以下一些基本功能:

(1)管理10ms、100ms和1s三种定时器链表。

(2)当10ms定时间隔到,应遍历10ms定时器链表,完成对链表中各定时器的计数处理。若有定时器溢出,则向相应的进程发送溢出消息,并从定时器链表中释放该定时器。同样,当100ms或1s的定时间隔到时,也应对100ms或1s定时器链表作相同处理。

(3)处理从其他进程接收到的消息。当收到从其他进程发送的申请定时器的消息时,应在相应分辨率的定时器链表中插入所申请的定时器;在接收到从其他进程来的释放定时器的消息后,应寻找到该定时器,并将其释放。

5.编写可重入函数

V5接口中有大量的函数需要编写。和传统的编程环境不同,本系统中,V5接口软件运行在多任务环境上,函数的可重入性(reentrancy)显得很重要。

所谓可重入函数是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会出错。在编写函数时应尽量只使用局部变量,对于要使用的全局变量需要加以保护(如采用关中断、信号量等措施),这样构成的函数一定是可重入的;而编译器是否具有可重入的库,与它所服务的操作系统有关,如DOS下的BorlandC和MicrosoftC/C++等就没有可重入函数库,这是因为DOS是一个单用户、单任务的操作系统。

为了确保每一个调用函数的任务控制自己私有变量,在一个可重入的C函数中,将这样的变量申明为局部变量,C编译器将这样的变量存放在调用栈上或寄存器里。在VRTX操作系统下编写可重入的函数,须要遵循以下原则:

(1)将所有局部变量申明为auto或寄存器(register)类型;

(2)尽量不要使用static或extern变量,不可避免使用全局变量时,需加以保护;

(3)用VRTX库函数sc_gblock分配大的数据结构。

三、V5接口发展的趋势

从长远看,为了克服现有一系列SNI(业务节点接口)功能的限制,须要开发附加的SNI,特别是模块型和B-ISDN接入型SNI。目前,以ATM为基础的VB5接口的标准化工作正在进行。VB5参考点可分为VB5.1和VB5.2两种形式。

ITU-T已经通过了关于VB5参考点的建议,规定了VB5既支持AN与SN的直接连接,又支持两者的远程连接;既支持基于ATM的B-ISDN接入,又支持各种非ATM的接入。此外,VB5还应支持接入各种SN的接入功能,并能同时连接到多个不同的SN。有关VB5的技术框架还有待进一步研究和开发。

篇7:基于VRTX操作系统实现V5接口协议

基于VRTX操作系统实现V5接口协议

摘要:V5接口是接入网(AN)和本地交换机(LE)之间标准化的开放接口。本文首先简要介绍V5接口协议结构,然后给出IDS2000综合数字通信系统中V5接口的实现方法;着重介绍第三层协议的软件实现方法,并对嵌入式系统编程进行一些探讨。

关键词:接入网 V5接口 实时操作系统 本地交换机

引言

接入网的概念是由传统的用户线发展起来的。近年来,由于电话业务的发展、新业务种类的增多、对线路带宽要求的提高以及各种新兴技术(特别是光纤通信技术)的发展,使得传统的用户线的概念逐渐发展成为接入网的概念。前几年,国际电信联盟(ITU)正式定义了用户接入网。引入接入网后,现有的电信网将减少端局数量,简化中继网的复杂程度,有利于中继网的管理。

接入网所覆盖的范围可以由三类接口来界定,如图1所示。接口的标准化、综合性直接影响到接入网的建设成本及接入网能承载的业务能力,为此,ITU-T综合考虑各种需要,终于通过了关于接入网和本地交换机之间标准化的V5.1和V5.2接口的建议[1,2]。

V5接口是一种在接入网中适用范围广、标准化程度高的新型开放的数字接口,对于设备的开发应用、多种业务的发展和网络的更新起着重要的作用。V5接口的标准化代表了重要的'网络演进方向,影响深远。其意义在于交换机通过此接口可以支持多种类型的用户接入,而且V5接口的开放性意味着交换机和接入网的技术和业务演进完全独立开来。接入网的发展可以不受交换机的限制,使得接入网市场完全开放。

一、V5接口协议结构

窄带V5接口包括V5.1和V5.2接口。V5.1接口由1条2048Kb/s链路构成,通过时隙传递公共控制信号,支持模拟电话接入,基于64Kb/s的综合业务数字网基本接入(2B+D)和用于半永久连接的、不加带外信令信息的其他模拟接入和数字接入。这些接入类型都具有指配的承载通路分配,即用户端口与V5.1接口内承载通路有固定的对应关系。V5.2接口按需要可以由1~16个2048Kb/s链路构成,除支持V5.1接口的业务外,还支持ISDN PRI(30B+D)接入,其基于呼叫的时隙分配使得V5.2接口具有集中功能。V5.1接口是V5.2接口的子集,V5.1接口应当能够升级到V5.2接口。

V5接口协议由3层组成,接入网侧和本地交换机侧呈不对称布置,层与层之间的信息传递采用原语实现,而同层子层间的信息传递则采用映射。

V5接口物理层由1~16条2048Kb/s的链路构成,电气和物理特性符合G.703建议,帧结构符合G.704/G.706建议。每帧由32个时隙组成,其中:时隙TS0用作帧定位和CRC-4规程;时隙TS15、TS16和TS31可以用作通信通路(C通路),运载信令信息和控制信息,通过指配来分配;其余时隙可用作承载通路。

V5接口的数据链路层仅对于C通路而言。第二层协议(LAPV5)规范以建议Q.921中规定的LAPD协议和规程为基础,允许将不同的信息流灵活地复用到C通路上去。第二层协议分为两个子层:封装功能子层(LAPV5-EF)和数据链路子层(LAPV5-DL)。此外,第二层功能中还应包括帧中继功能(AN-FR)。

V5接口的第三层协议簇包括

[1] [2] [3] [4] [5]

篇8:linux复制文件夹实现方法linux操作系统

下面我们来介绍linux中两个命令来复制文件夹,有需要的朋友可参考参考,

Linux复制整个文件夹的文件要使用 -Rf

CP命令格式: CP [选项] 源文件或目录  目的文件或目录选项说明:

-b 同名,备分原来的文件

-f 强制覆盖同名文件

-r 按递归方式保留原目录结构复制文件cp

-r   /tmp/a

/root/a记得有空格

我们还可以使用Rf命令来实例

代码如下复制代码

sudo cp -Rf 下载/Discuz/discuz /var/www/discuz

注意在复制后文件的属性:

使用:

代码如下复制代码

chmod 777 -Rf /var/www/discuz

【浅析组件机制和操作系统的实现】相关文章:

1.linux复制文件夹实现方法linux操作系统

2.linux下使用rsync实现文件目录同步linux操作系统

3.高校管理制度建设原则及实现机制研究论文

4.操作系统基本概念笔试题

5.Linux系统定时备份数据库和网站例子linux操作系统

6.UI规范&UI指南&UI组件交互设计

7.如何实现大学的目标和计划

8.实现超我

9.企业沟通机制:(二)常见渠道和形式

10.合作机制范文

下载word文档
《浅析组件机制和操作系统的实现.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部