CN107479956A - 一种串口资源的调度方法及系统 - Google Patents
一种串口资源的调度方法及系统 Download PDFInfo
- Publication number
- CN107479956A CN107479956A CN201710661526.8A CN201710661526A CN107479956A CN 107479956 A CN107479956 A CN 107479956A CN 201710661526 A CN201710661526 A CN 201710661526A CN 107479956 A CN107479956 A CN 107479956A
- Authority
- CN
- China
- Prior art keywords
- core
- serial ports
- subordinate
- scheduling
- master control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/486—Scheduler internals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请公开了一种串口资源的调度方法,包括:当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,所述主控调度核是多核系统中的任一CPU核,其余CPU核均为所述从属调度核;所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核。该调度方法基于一定次序为同时对串口进行访问的多个核进行排序,方法更科学、更有秩序,能够解决因冲突而出现的乱码问题,显著提高了开发调试效率。本申请还同时公开了一种串口资源的调度系统,具有上述有益效果。
Description
技术领域
本申请涉及串口资源管理技术领域,特别涉及一种串口资源的调度方法及系统。
背景技术
随着互联网、云计算、物联网等技术的发展,固态硬盘作为新一代存储介质,被广泛应用于各领域。而在固态硬盘的软件系统开发阶段,串口打印作为嵌入式设备重要的调试手段之一,具有重要意义。
为了满足日益增长的数据存储需要,出现了多核架构的固态硬盘硬件系统,其中每个核都相当于一个独立的进程,但是所用的串口资源却不会随着核数的增多而增长,一直为一个。在现有的多核架构固态硬盘硬件系统中,当多核同时使用同一串口输出时,将导致输出内容杂糅在一起,进而导致出现乱码,数据均无法正常显示、使用。
所以,如何为多核架构的固态硬盘硬件系统提供一种更科学、多核基于一定的次序依次访问串口的串口资源调度机制是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种串口资源的调度方法及系统,其基于一定次序为同时对串口进行访问的多个核进行排序,方法更科学、更有秩序,能够解决因冲突而出现的乱码问题,显著提高了开发调试效率。
为解决上述技术问题,本申请提供一种串口资源的调度方法,该调度方法包括:
当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,所述主控调度核是多核系统中的任一CPU核,其余CPU核均为所述从属调度核所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核。
可选的,所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核,包括:
对所述中断请求进行来源分析,确定发送所述中断请求的从属调度核;
将发送所述中断请求的从属调度核的特征信息加入串口请求链表;
当所述主控调度核处于可移交所述访问权限的状态时,向记录在所述串口请求链表中的特征信息对应的从属调度核移交所述访问权限,直至所述串口请求链表中记录的所有特征信息对应的从属调度核均完成对所述串口的访问。
可选的,对所述中断请求进行来源分析,确定发送所述中断请求的从属调度核,包括:
根据所述中断请求将中断向量表中对应的bit位置1;
判断所述中断向量表中是否存在置1的所述bit位;
若存在,则根据置1的所述bit位在所述中断向量表中的位置确定对应的从属调度核。
可选的,在向记录在所述串口请求链表中的特征信息对应的从属调度核移交所述访问权限后,还包括:
判断拥有所述访问权限的从属调度核是否完成对所述串口的访问;
若完成访问,则向所述主控调度核发送访问完成信号;
将所述访问权限移交回所述主控调度核,以使所述主控调度核移交所述访问权限给其它从属调度核;其中,所述其它从属调度核为记录在所述串口请求链表中的其它特征信息对应的从属调度核。
可选的,该调度方法还包括:
为加入所述串口请求链表的特征信息做记录,生成串口使用日志。
本申请还提供了一种串口资源的调度系统,该调度系统包括:
中断请求发送单元,用于当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,所述主控调度核是多核系统中的任一CPU核,其余CPU核均为所述从属调度核;
移交单元,用于所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核。
可选的,所述移交单元包括:
来源分析子单元,用于对所述中断请求进行来源分析,确定发送所述中断请求的从属调度核;
特征信息加入子单元,用于将发送所述中断请求的从属调度核的特征信息加入串口请求链表;
权限移交子单元,用于向记录在所述串口请求链表中的特征信息对应的从属调度核移交所述访问权限,直至所述串口请求链表中记录的所有特征信息对应的从属调度核均完成对所述串口的访问。
可选的,所述来源分析子单元包括:
置1模块,用于根据所述中断请求将中断向量表中对应的bit位置1;
存在判断模块,用于判断所述中断向量表中是否存在置1的所述bit位;
确定模块,用于根据置1的所述bit位在所述中断向量表中的位置确定对应的从属调度核。
可选的,所述移交单元还包括:
访问完成判断子单元,用于判断拥有所述访问权限的从属调度核是否完成对所述串口的访问;
完成信息发送子单元,用于向所述主控调度核发送访问完成信号;
返回权限子单元,用于将所述访问权限移交回所述主控调度核,以使所述主控调度核移交所述访问权限给其它从属调度核。
可选的,该调度系统还包括:
记录单元,用于为加入所述串口请求链表的特征信息做记录,生成串口使用日志。
本申请所提供的一种串口资源的调度方法,通过当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,所述主控调度核是多核系统中的任一CPU核,其余CPU核均为所述从属调度核;所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核。
显然,本申请所提供的技术方案,通过将数量众多的CPU核分为一个主控调度核和剩下的从属调度核,当从属调度核需要对串口进行访问时,向主控调度核发送中断请求,而主控调度核根据接收到的中断请求向相应的从属调度核移交串口的访问权限。该调度方法基于一定次序为同时对串口进行访问的多个核进行排序,方法更科学、更有秩序,能够解决因冲突而出现的乱码问题,显著提高了开发调试效率。本申请同时还提供了一种串口资源的调度系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种串口资源的调度方法的流程图;
图2为本申请实施例所提供的另一种串口资源的调度方法的流程图;
图3为本申请实施例所提供的又一种串口资源的调度方法的流程图;
图4为本申请实施例所提供的再一种串口资源的调度方法的流程图;
图5为本申请实施例所提供的一种串口资源的调度系统的结构框图;
图6为本申请实施例所提供的一种串口资源的调度系统的结构流程示意图。
具体实施方式
本申请的核心是提供一种串口资源的调度方法及系统,其基于一定次序为同时对串口进行访问的多个核进行排序,方法更科学、更有秩序,能够解决因冲突而出现的乱码问题,显著提高了开发调试效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合图1,图1为本申请实施例所提供的一种串口资源的调度方法的流程图。
其具体包括以下步骤:
S101:当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,主控调度核是多核系统中的任一CPU核,其余CPU核均为从属调度核;
本步骤旨在当多核架构的固态硬盘硬件系统的从属调度核需要使用该串口进行访问时,向主控调度核发送中断请求。其中,在多核架构的固态硬盘硬件系统中拥有复数个CPU核,通常为8个或16个及以上,且这些CPU核从功能、型号上均无区别,即它们彼此之间是并列的关系,本身不存在主从关系,但考虑到现有技术中就是因为彼此之间权限相等,故出现了同时使用串口资源造成的乱码情况。本申请通过基于某种原则设置该拥有复数个CPU核的硬件系统中的一个CPU核为主控调度核,自然地,除被设置为主控调度核的CPU核外的其余CPU核均为从属调度核。
也就是说,赋予原本权限相同的CPU核以不同的权限,并彼此之间存在主从关系,让主控调度核负责管理从属调度核,也让从属调度核在需要使用串口时先向主控调度核发送相应的请求,以使主控调度核基于某种原则或要求向从属调度核移交串口的访问权限。
具体的,基于怎样的原则设置主控调度核的方式有很多,例如,就近原则、运行状态优先级排序或ID排序等等方式,此处并不做具体限定,应视实际情况中多核架构的固态硬盘硬件系统的具体表现形式、型号、各CPU核设置方式等各因素来综合进行选择。此处我们可以假设该硬件系统中存在16个CPU核,并根据第一次测试激活的顺序按ID数字0至15进行命名,并命名CPU核0为主控调度核,其余CPU核为从属调度核。
其次,如背景技术中所说的那样,在存在复数个CPU核时不可避免的存在多个CPU核同时请求访问同一串口,本申请中也同样,可以存在单一的某个从属调度核在某一时刻向主控调度核发送中断请求,也可以存在两个、三个甚至更多个从属调度核在同一时刻向主控调度核发送中断请求。
S102:主控调度核根据中断请求移交串口的访问权限给从属调度核。
在S101的基础上,本步骤旨在有主控调度核根据收到的中断请求向发起该中断请求的从属调度核移交该串口的访问权限。即CPU核0根据接收到的中断请求移交串口的访问权限给发送该中断请求的CPU核1-15中的某个。
其中,根据S101中,发起该中断请求可能是复数个从属调度核,当出现这种情况时,当然不能简单的同时将该访问权限同时赋予发起中断请求的复数个从属调度核,可以基于某些原则对同时发起中断请求的从属调度核进行一个排序,此次赋予其权限。例如,可以根据发起中断请求的时间顺序,也可以按照不同从属调度核发起中断请求所要执行的任务的优先级提升该从属调度核至优先排序等等,此处并不做具体限定,应视实际情况下是否对各CPU核分配不同优先级的任务、具体型号等各影响因素来综合制定移交顺序。
特别的,还可以经过某些适应性设置,例如,更改该串口请求链表的访问属性,之所以上面的例子只能由主控调度核依次赋予访问权限,可能是由于该串口请求链表只能由主控调度核来访问,其它从属调度核并无访问权限,也就是说其它从属调度核甚至可以不知道还存在其它从属调度核也发送的中断请求并等待权限赋予。另一种方式,将该串口请求链表设置在一个公有区域,以便各CPU核都能实现对其的访问和查找,即在某个从属调度核进行访问时得到还有下一个从属调度核等待使用串口资源的情况下,在访问权限使用完毕后直接将该访问权限在条件符合的情况下,直接移交给下一从属调度核,可以简化一些步骤。
具体的,怎样根据中断请求移交该串口的访问权限给从属调度核的方式有很多,结合不同的硬件系统,可能存在不同的特征信息、建立不同的排序机制以及是否存在特殊的管理要求等等,且以上提及的两种可能的权限移交方式可能会根据实际情况中访问速度、权限是否能够授予、总体访问流程结合具体硬件设备做出适应性调整和选择,此处并不做具体限定,同时会在本文后续的实施例中进行相关举例说明。
进一步的,在长时间的权限移交和交回过程中,可能会出现异常的情况,可以将哪个CPU核在什么时间对该串口进行记录,进而可以生成一个串口使用日志,以待将来可以据此进行问题的查找。具体的,可以该CPU被移交权限时就进行记录,也可以在CPU核移交回访问权限时进行记录,还可以在确定该CPU核在串口的使用过程中进行记录,方式多种多样。此外,记录的信息也可以包含很多数据,例如,CPU核ID号、使用时长、串口号等等,此处并不做具体限定,应视具体情况具体分析、具体制定,选择一个最适合的方式来实现本步骤的目的。
基于上述技术方案,本申请实施例提供的一种串口资源的调度方法,通过将数量众多的CPU核分为一个主控调度核和剩下的从属调度核,当从属调度核需要对串口进行访问时,向主控调度核发送中断请求,而主控调度核根据接收到的中断请求向相应的从属调度核移交串口的访问权限。该调度方法基于一定次序为同时对串口进行访问的多个核进行排序,方法更科学、更有秩序,能够解决因冲突而出现的乱码问题,显著提高了开发调试效率。
以下结合图2,图2为本申请实施例所提供的另一种串口资源的调度方法的流程图。
本实施例是针对上一实施例中S102中具体怎样根据中断请求移交串口访问权限所做出的一个具体限定,其它步骤与上一实施例大体相同,相同部分可参见上一实施例相关部分,在此不再赘述。
其具体包括以下步骤:
S201:对中断请求进行来源分析,确定发送中断请求的从属调度核;
本步骤旨在由主控调度核对接收到的中断请求进行来源分析,即根据收到的中断请求判断出是哪个从属调度核发送的这个中断请求。进一步的,还可以判断出是一个从属调度核还是复数个从属调度核。
S202:将发送中断请求的从属调度核的特征信息加入串口请求链表;
在S201的基础上,本步骤旨在将确定出的发起中断请求的从属调度核对应的特征信息加入串口请求链表。其中,该特征信息即唯一对应或唯一代表着一个从属调度核,其表现形式多样,例如,ID号、机器识别码或其它能够唯一代表某个从属调度核的信息,此处并不做具体限定。另外,该串口请求链表可以理解为一个串口待使用的请求排序表,即,使用这样一个信息表将哪些从属调度核需要使用该串口记录下来,以待在主控调度核可以将该串口的访问权限移交时,根据该表中记录的信息进行移交。
进一步的,将特征信息记录在该串口请求链表中,可以根据S102中提及的内容,基于某些原则对记录在该表中的特征信息进行排序,以结合实际情况合理安排串口使用情况。
S203:判断主控调度核是否处于可移交访问权限的状态;
在S202的基础上,本步骤旨在判断主控调度核是否处于可移交访问权限的状态。之所以要有本步骤的判断,是因为在S101中说明过,主控调度核与从属调度核并无性能、型号上的区别,它们都会执行很多操作,只不过是在串口使用调度这方面将其设置为主控调度核,除此之外主控调度核也要执行自己的任务,故需要判断此时主控调度核是否处于可移交该串口的访问权限的状态。
进一步,可以在主控调度核中设置一个轮询模块,每经过预设时间或每次触发预设条件都会进行一次本步骤的状态判断,以及时在状态符合要求时进行权限的移交。
S204:向记录在串口请求链表中的特征信息对应的从属调度核移交访问权限,直至串口请求链表中记录的所有特征信息对应的从属调度核均完成对串口的访问。
本步骤建立在S203的判断结果为主控调度核处于访问权限可移交的状态的基础上,旨在向记录在串口请求链表中的特征信息对应的从属调度核移交访问权限,直至串口请求链表中记录的所有特征信息对应的从属调度核均完成对串口的访问。换句话说,直至某次轮询判断该主控调度核再次处于权限可移交状态时,发现该串口请求链表中内容为空时。
以下结合图3,图3为本申请实施例所提供的又一种串口资源的调度方法的流程图。
本实施例是针对上一实施例中S201中具体怎样对中断请求进行的来源分析所做出的一个具体限定,其它步骤与上一实施例大体相同,相同部分可参见上一实施例相关部分,在此不再赘述。
其具体包括以下步骤:
S301:根据中断请求将中断向量表中对应的bit位置1;
S302:判断中断向量表中是否存在置1的bit位;
S303:根据置1的bit位在中断向量表中的位置确定对应的从属调度核态。
本实施例首先考虑到多核架构的硬件系统中,多核之间会存在如本申请的交流,故建立了一个多核之间的中断向量表,结合在实施例一中举的例子,当共存在16个CPU核时,该中断向量表的表象最少也要满足最极端的情况,即当所有CPU均发起中断请求时,也要能够在该中断向量表中能够真实的反馈出来,例如,为每个CPU核在该中断向量表的预设位置固定一个信息反馈位置,可以在接收到一个CPU核发起了中断请求后,将该CPU核的预设位置置1,通常情况下该预设位置置0。
以下结合图4,图4为本申请实施例所提供的再一种串口资源的调度方法的流程图。
本实施例是针对实施例一在移交权限后所做的增加部分的描述,其它步骤与上一实施例大体相同,相同部分可参见上一实施例相关部分,在此不再赘述。
其具体包括以下步骤:
S401:拥有访问权限的从属调度核是否完成对串口的访问;
S402:向主控调度核发送访问完成信号;
S403:将访问权限移交回主控调度核,以使主控调度核移交访问权限给其它从属调度核;
S404:为加入串口请求链表的特征信息做记录,生成串口使用日志。
本实施例建立在串口请求链表中存在复数个特征信息时的基础上,假设该串口请求链表中存放有两个特征信息,分别为CPU核1和CPU核2,其中,CPU核1排在第一,此时需要判断在串口请求链表中的第一优先特征信息对应的从属调度核,即CPU核1是否完成了对串口的访问,若完成了对串口的访问,可以由CPU核1向主控调度核发送对该串口的访问完成信号,并同时将该串口的使用权限移交回该主控调度核,以待该主控调度核在下次将访问权限移交给CPU核2。
基于上述技术方案,本申请实施例提供的一种串口资源的调度方法,通过将数量众多的CPU核分为一个主控调度核和剩下的从属调度核,当从属调度核需要对串口进行访问时,向主控调度核发送中断请求,而主控调度核根据接收到的中断请求将中断向量表中相应bit位置1,并根据置1的bit位识别得到相应的从属调度核,且将该从属调度核的特征信息加入串口请求链表,以使主控调度核经过轮询模块判断处于权限可移交状态时,向串口请求链表中记录的特征信息对应的从属调度核移交访问权限。该调度方法基于一定次序为同时对串口进行访问的多个核进行排序,方法更科学、更有秩序,能够解决因冲突而出现的乱码问题,显著提高了开发调试效率。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到更具本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图5,图5为本申请实施例所提供的一种串口资源的调度方法系统的结构框图。
该调度系统可以包括:
中断请求发送单元100,用于当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,主控调度核是多核系统中的任一CPU核,其余CPU核均为从属调度核;
移交单元200,用于主控调度核根据中断请求移交串口的访问权限给从属调度核。
其中,移交单元200包括:
来源分析子单元,用于对中断请求进行来源分析,确定发送中断请求的从属调度核;
特征信息加入子单元,用于将发送中断请求的从属调度核的特征信息加入串口请求链表;
权限移交子单元,用于向记录在串口请求链表中的特征信息对应的从属调度核移交访问权限,直至串口请求链表中记录的所有特征信息对应的从属调度核均完成对串口的访问。
其中,来源分析子单元包括:
置1模块,用于根据中断请求将中断向量表中对应的bit位置1;
存在判断模块,用于判断中断向量表中是否存在置1的bit位;
确定模块,用于根据置1的bit位在中断向量表中的位置确定对应的从属调度核。
进一步的,移交单元200还可以包括:
访问完成判断子单元,用于判断拥有访问权限的从属调度核是否完成对串口的访问;
完成信息发送子单元,用于向主控调度核发送访问完成信号;
返回权限子单元,用于将访问权限移交回主控调度核,以使主控调度核移交访问权限给其它从属调度核。
更进一步的,该调度系统还可以包括:
记录单元,用于为加入串口请求链表的特征信息做记录,生成串口使用日志。
以上各单元可以应用于以下的一个具体的实际例子中:
一个多核架构的固态硬盘硬件系统中共有16个CPU Core,ID分别为0-15,在Core0-15之中,设置Core 0为主控调度核,在Core 0设置轮询模块,中断响应模块,中断发送模块及串口请求链表pending list,其他Core 1-15在需要串口打印时,需要通过自己的中断发送模块向Core 0发送中断请求,等待资源释放,当Core 0释放串口资源时,获取串口打印,并向Core 0归还串口资源。可参见图6,图6为本申请实施例所提供的一种串口资源的调度系统的结构流程示意图。
具体步骤如下:
(1)建立多核之间中断向量表,表内有32个表项,代表32个中断通路,用一个u32变量的32位bit代表中断发生与否,如Core1,Core 2同时向Core 0发送中断请求,则Core 0接收中断,进入中断响应模块,判断u32变量的第一个和第二个bit为1,其他为0。Core 0可明确是Core 1和Core 2发送了中断信号。设置u32变量的bit 0-15位为,Core之间的中断响应通路,设置bit 16为中断释放通路。
(2)当Core 1,Core 2同时要访问串口资源时,会同时向Core 0发送中断请求。
(3)Core0获得中断,进入中断响应模块,遍历u32变量bit位,确认是Core 1和Core2发送的中断请求。将Core 1和Core 2的ID加入Core 0管理的串口请求pending list中。
(4)Core0进入正常轮询模块,判断自己手上的串口资源标志位,如果有资源则从pending list中取出Core 1,向Core 1发送中断回复,并更新串口资源标志位状态。如果没有资源,则继续轮询。
(5)Core1和Core 2发送请求后自动等待获取资源。Core1获得Core 0中断回复,则使用串口资源,使用完成后通过bit 16的中断释放通路向Core 0释放资源。
(6)Core 0获得中断,判断为bit 16资源释放。则在轮询模块中,再次从pendinglist中取出Core 2的请求,向Core 2发送串口资源回复。
(7)Core2获取串口资源,如(5)中core1处理。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种串口资源的调度方法,其特征在于,包括:
当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,所述主控调度核是多核系统中的任一CPU核,其余CPU核均为所述从属调度核;
所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核。
2.根据权利要求1所述的调度方法,其特征在于,所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核,包括:
对所述中断请求进行来源分析,确定发送所述中断请求的从属调度核;
将发送所述中断请求的从属调度核的特征信息加入串口请求链表;
当所述主控调度核处于可移交所述访问权限的状态时,向记录在所述串口请求链表中的特征信息对应的从属调度核移交所述访问权限,直至所述串口请求链表中记录的所有特征信息对应的从属调度核均完成对所述串口的访问。
3.根据权利要求1或2所述的调度方法,其特征在于,对所述中断请求进行来源分析,确定发送所述中断请求的从属调度核,包括:
根据所述中断请求将中断向量表中对应的bit位置1;
判断所述中断向量表中是否存在置1的所述bit位;
若存在,则根据置1的所述bit位在所述中断向量表中的位置确定对应的从属调度核。
4.根据权利要求3所述的控制方法,其特征在于,在向记录在所述串口请求链表中的特征信息对应的从属调度核移交所述访问权限后,还包括:
判断拥有所述访问权限的从属调度核是否完成对所述串口的访问;
若完成访问,则向所述主控调度核发送访问完成信号;
将所述访问权限移交回所述主控调度核,以使所述主控调度核移交所述访问权限给其它从属调度核;其中,所述其它从属调度核为记录在所述串口请求链表中的其它特征信息对应的从属调度核。
5.根据权利要求4所述的控制方法,其特征在于,还包括:
为加入所述串口请求链表的特征信息做记录,生成串口使用日志。
6.一种串口资源的调度系统,其特征在于,包括:
中断请求发送单元,用于当从属调度核需要对串口进行访问时,向主控调度核发送中断请求;其中,所述主控调度核是多核系统中的任一CPU核,其余CPU核均为所述从属调度核;
移交单元,用于所述主控调度核根据所述中断请求移交所述串口的访问权限给所述从属调度核。
7.根据权利要求6所述的调度系统,其特征在于,所述移交单元包括:
来源分析子单元,用于对所述中断请求进行来源分析,确定发送所述中断请求的从属调度核;
特征信息加入子单元,用于将发送所述中断请求的从属调度核的特征信息加入串口请求链表;
权限移交子单元,用于向记录在所述串口请求链表中的特征信息对应的从属调度核移交所述访问权限,直至所述串口请求链表中记录的所有特征信息对应的从属调度核均完成对所述串口的访问。
8.根据权利要求6或7所述的调度系统,其特征在于,所述来源分析子单元包括:
置1模块,用于根据所述中断请求将中断向量表中对应的bit位置1;
存在判断模块,用于判断所述中断向量表中是否存在置1的所述bit位;
确定模块,用于根据置1的所述bit位在所述中断向量表中的位置确定对应的从属调度核。
9.根据权利要求8所述的调度系统,其特征在于,所述移交单元还包括:
访问完成判断子单元,用于判断拥有所述访问权限的从属调度核是否完成对所述串口的访问;
完成信息发送子单元,用于向所述主控调度核发送访问完成信号;
返回权限子单元,用于将所述访问权限移交回所述主控调度核,以使所述主控调度核移交所述访问权限给其它从属调度核。
10.根据权利要求9所述的调度系统,其特征在于,还包括:
记录单元,用于为加入所述串口请求链表的特征信息做记录,生成串口使用日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710661526.8A CN107479956A (zh) | 2017-08-04 | 2017-08-04 | 一种串口资源的调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710661526.8A CN107479956A (zh) | 2017-08-04 | 2017-08-04 | 一种串口资源的调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107479956A true CN107479956A (zh) | 2017-12-15 |
Family
ID=60597579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710661526.8A Pending CN107479956A (zh) | 2017-08-04 | 2017-08-04 | 一种串口资源的调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107479956A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813718A (zh) * | 2020-06-30 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种日志输出方法、装置、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758229A (zh) * | 2005-10-28 | 2006-04-12 | 中国人民解放军国防科学技术大学 | 异构多核微处理器局部空间共享存储方法 |
CN101051281A (zh) * | 2007-05-16 | 2007-10-10 | 杭州华三通信技术有限公司 | 多cpu对临界资源进行互斥访问的方法和装置 |
CN102446144A (zh) * | 2010-09-30 | 2012-05-09 | 北大方正集团有限公司 | 一种串口资源调度方法及装置、系统 |
US9367349B2 (en) * | 2010-06-25 | 2016-06-14 | Fujitsu Limited | Multi-core system and scheduling method |
CN106445855A (zh) * | 2016-09-05 | 2017-02-22 | 深圳震有科技股份有限公司 | 一种非对称处理系统下多核共用串口的方法及系统 |
-
2017
- 2017-08-04 CN CN201710661526.8A patent/CN107479956A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758229A (zh) * | 2005-10-28 | 2006-04-12 | 中国人民解放军国防科学技术大学 | 异构多核微处理器局部空间共享存储方法 |
CN101051281A (zh) * | 2007-05-16 | 2007-10-10 | 杭州华三通信技术有限公司 | 多cpu对临界资源进行互斥访问的方法和装置 |
US9367349B2 (en) * | 2010-06-25 | 2016-06-14 | Fujitsu Limited | Multi-core system and scheduling method |
CN102446144A (zh) * | 2010-09-30 | 2012-05-09 | 北大方正集团有限公司 | 一种串口资源调度方法及装置、系统 |
CN106445855A (zh) * | 2016-09-05 | 2017-02-22 | 深圳震有科技股份有限公司 | 一种非对称处理系统下多核共用串口的方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813718A (zh) * | 2020-06-30 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种日志输出方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10541870B2 (en) | Unified work backlog | |
CN108762687B (zh) | Io服务质量控制方法、装置、设备及存储介质 | |
CN108090731A (zh) | 一种信息处理方法及设备 | |
CN110377520B (zh) | 交易场景的测试方法及装置、电子设备和可读存储介质 | |
CN103501308A (zh) | 分布式云应用部署系统和/或相关的方法 | |
CN108399101A (zh) | 资源调度的方法、装置和系统 | |
US11025563B2 (en) | Space-aware network switch | |
CN101131652A (zh) | 多核多中央处理器的执行线程分配方法 | |
CN101090295A (zh) | 一种ason网络的测试系统及方法 | |
CN106648845A (zh) | 一种分布式任务调度系统及方法 | |
US20190102524A1 (en) | Reconciling Entitlements in a Digital Rights Management (DRM) Environment | |
CN104331333B (zh) | 计算机实现方法和计算系统 | |
US10904081B2 (en) | Systems for configuring and managing classroom devices | |
EP3629160A1 (en) | Method and device for managing vnf instantiation | |
WO2016085239A1 (ko) | 방사성 의약품 통합 관리 시스템 및 그 시스템에서의 방사성 의약품 통합 관리를 위한 장치 및 방법 | |
CN107479956A (zh) | 一种串口资源的调度方法及系统 | |
US7543303B2 (en) | Use of multiple queues in coupling facility to provide zoning capability in a parallel sysplex environment | |
CN115668192A (zh) | 用于对程序指令的受控分发的自动规则 | |
CN112231210A (zh) | 网络功能虚拟化环境下的测试方法、设备及存储介质 | |
CN117076216A (zh) | 通道分配方法及设备 | |
CN101261570A (zh) | 成像设备的驱动器系统及其控制方法 | |
KR101837041B1 (ko) | 컨테이너 터미널의 시뮬레이션 프로세스 자동화 방법 | |
CN101472081A (zh) | 一种收录设备自动分配系统 | |
CN113347046A (zh) | 网络接入方法及装置 | |
CN101472080B (zh) | 一种收录设备自动分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171215 |