KVM系统通信和同步机制的设计与实现
发布时间:2021-02-15 23:17
KVM切换器(其中KVM是Keyboard键盘、Video显示器、Mouse鼠标的缩写)是一种计算机中心机房管理设备,利用该设备,用户可以通过一套键盘、鼠标、显示器等组成的终端设备来实现对机房中多台计算机及相关设备的集中管理。本课题组研发的KVM OS(OS即operating system的简称)即是从KVM切换器的实际需求出发,专用于KVM切换器的嵌入式实时操作系统。通信和同步机制是KVM OS的基本模块之一,它在多任务的KVM切换器系统中为任务之间互相协调、互相配合以及交换信息进行通信提供了必要的方法和手段。课题研究了通信和同步机制的互斥变量、计数信号量、事件标志组、消息队列等各模块的基本原理和功能。在对通信和同步机制进行了慎密的功能分析和特性分析的基础上,设计了上述各模块的数据结构和内部机制。核心思想是采用资源计数的方法,资源数量有限,每当被任务占用,则资源数量减1,每当任务释放资源,则资源数量增加1。当任务申请的资源可用时,任务将获得资源继续运行,否则将被挂起,直到其他任务释放了该任务等待的资源。课题详尽地阐述了通信和同步机制的各个子模块的实现细节。实现过程中,广泛采用了指针...
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:57 页
【学位级别】:硕士
【部分图文】:
互斥变量使用示意图
如果这把钥匙已被别的任务占用,该任务就只好被挂起来,直到钥匙被占用者释放。如图3.2所示,若任务需要使用共享资源之一,则必须得到一个信号量,否则只能等待。任务用完共享资源以后,需将信号量释放以便其他任务申请使用。图 3.2 互斥变量使用示意图3.2.3 互斥变量和计数信号量的异同互斥变量和计数信号量中的二值信号量(只有0和1两种值)用途和用法非常接近,两者甚至没有本质的不同。二值信号量可用于互斥和同步,它有两种状态:可用、不可用[42]。二值信号量可用时,申请它的任务将获得信号量。而当该信号量处于不可用状态时,申请该信号量的任务将挂起。互斥变量实质上是一种特殊的二值信号量,只不过它是专门用于解决互斥问题的[38]。互斥变量与二值信号量相比,其特殊性在于两点:首先它仅用于互斥,其次它只能由申请到该互斥变量的任务来释放。3.2.4 互斥变量的设计互斥变量的设计较为简单
其中receive_semaphore_handle中的信号量,若得不到信号量,说明此时消息队列为空,任务将被挂起。图3.4描述了消息队列的内部机制。图 3.4 消息队列示意图消息队列的操作主要有:创建消息队列,发送消息,接收消息。创建消息队列的操作,主要是设置消息队列的存储区,设置消息和队列的大小。当然,根据上面的设计,设置两个计数信号量来实现同步各个任务对消息队列的访问。任务发送消息时,则将首先申请得到信号量send_semaphore_handle,然后将消息
【参考文献】:
期刊论文
[1]“和欣”软件平台的创新点及重要性[J]. 陈榕. 现代传输. 2006(03)
[2]微内核操作系统消息机制分析与评测[J]. 王智,李腊元,黄河. 交通与计算机. 2005(02)
[3]实时操作系统中任务间通信的一种方法[J]. 郭鹏,罗浩,廖明宏. 哈尔滨商业大学学报(自然科学版). 2003(05)
[4]嵌入式实时操作系统的现状和未来[J]. 何小庆. 单片机与嵌入式系统应用. 2001(03)
[5]嵌入式软件技术的现状与发展动向[J]. 熊光泽,罗蕾. 计算机应用. 2000(07)
硕士论文
[1]嵌入式操作系统μClinux剖析与研究[D]. 陈传生.武汉理工大学 2007
[2]嵌入式实时操作系统RT-Thread的设计与实现[D]. 邱祎.电子科技大学 2007
[3]嵌入式实时操作系统设计方法研究[D]. 李跃.西南交通大学 2006
[4]嵌入式实时操作系统关键技术的研究[D]. 罗炜.湘潭大学 2006
[5]面向嵌入式实时应用的内存管理技术研究[D]. 楼永红.浙江大学 2006
[6]基于ARM处理器和μC/OS-Ⅱ的嵌入式系统研究和实现[D]. 王春雷.中南大学 2005
[7]嵌入式操作系统通信和同步机制的研究[D]. 谭琦.长沙理工大学 2005
[8]高可信赖嵌入式操作系统内核的研究与实现[D]. 张智超.电子科技大学 2004
[9]一种实时嵌入式操作系统内核DeltaCORE的设计与实现[D]. 程红蓉.电子科技大学 2001
本文编号:3035710
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:57 页
【学位级别】:硕士
【部分图文】:
互斥变量使用示意图
如果这把钥匙已被别的任务占用,该任务就只好被挂起来,直到钥匙被占用者释放。如图3.2所示,若任务需要使用共享资源之一,则必须得到一个信号量,否则只能等待。任务用完共享资源以后,需将信号量释放以便其他任务申请使用。图 3.2 互斥变量使用示意图3.2.3 互斥变量和计数信号量的异同互斥变量和计数信号量中的二值信号量(只有0和1两种值)用途和用法非常接近,两者甚至没有本质的不同。二值信号量可用于互斥和同步,它有两种状态:可用、不可用[42]。二值信号量可用时,申请它的任务将获得信号量。而当该信号量处于不可用状态时,申请该信号量的任务将挂起。互斥变量实质上是一种特殊的二值信号量,只不过它是专门用于解决互斥问题的[38]。互斥变量与二值信号量相比,其特殊性在于两点:首先它仅用于互斥,其次它只能由申请到该互斥变量的任务来释放。3.2.4 互斥变量的设计互斥变量的设计较为简单
其中receive_semaphore_handle中的信号量,若得不到信号量,说明此时消息队列为空,任务将被挂起。图3.4描述了消息队列的内部机制。图 3.4 消息队列示意图消息队列的操作主要有:创建消息队列,发送消息,接收消息。创建消息队列的操作,主要是设置消息队列的存储区,设置消息和队列的大小。当然,根据上面的设计,设置两个计数信号量来实现同步各个任务对消息队列的访问。任务发送消息时,则将首先申请得到信号量send_semaphore_handle,然后将消息
【参考文献】:
期刊论文
[1]“和欣”软件平台的创新点及重要性[J]. 陈榕. 现代传输. 2006(03)
[2]微内核操作系统消息机制分析与评测[J]. 王智,李腊元,黄河. 交通与计算机. 2005(02)
[3]实时操作系统中任务间通信的一种方法[J]. 郭鹏,罗浩,廖明宏. 哈尔滨商业大学学报(自然科学版). 2003(05)
[4]嵌入式实时操作系统的现状和未来[J]. 何小庆. 单片机与嵌入式系统应用. 2001(03)
[5]嵌入式软件技术的现状与发展动向[J]. 熊光泽,罗蕾. 计算机应用. 2000(07)
硕士论文
[1]嵌入式操作系统μClinux剖析与研究[D]. 陈传生.武汉理工大学 2007
[2]嵌入式实时操作系统RT-Thread的设计与实现[D]. 邱祎.电子科技大学 2007
[3]嵌入式实时操作系统设计方法研究[D]. 李跃.西南交通大学 2006
[4]嵌入式实时操作系统关键技术的研究[D]. 罗炜.湘潭大学 2006
[5]面向嵌入式实时应用的内存管理技术研究[D]. 楼永红.浙江大学 2006
[6]基于ARM处理器和μC/OS-Ⅱ的嵌入式系统研究和实现[D]. 王春雷.中南大学 2005
[7]嵌入式操作系统通信和同步机制的研究[D]. 谭琦.长沙理工大学 2005
[8]高可信赖嵌入式操作系统内核的研究与实现[D]. 张智超.电子科技大学 2004
[9]一种实时嵌入式操作系统内核DeltaCORE的设计与实现[D]. 程红蓉.电子科技大学 2001
本文编号:3035710
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3035710.html