CN102662771A - 基于消息机制的实时进程与非实时进程间的数据交互方法 - Google Patents

基于消息机制的实时进程与非实时进程间的数据交互方法 Download PDF

Info

Publication number
CN102662771A
CN102662771A CN2012100538797A CN201210053879A CN102662771A CN 102662771 A CN102662771 A CN 102662771A CN 2012100538797 A CN2012100538797 A CN 2012100538797A CN 201210053879 A CN201210053879 A CN 201210053879A CN 102662771 A CN102662771 A CN 102662771A
Authority
CN
China
Prior art keywords
real
time process
message
stack
time
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.)
Granted
Application number
CN2012100538797A
Other languages
English (en)
Other versions
CN102662771B (zh
Inventor
许志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN 201210053879 priority Critical patent/CN102662771B/zh
Publication of CN102662771A publication Critical patent/CN102662771A/zh
Application granted granted Critical
Publication of CN102662771B publication Critical patent/CN102662771B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于消息机制的实时进程与非实时进程间的数据交互方法,可以在不影响实时进程实时性和计算数据不丢失条件下,实现在非实时进程中对的实时进程产生的计算和仿真数据进行显示和分析。本发明所有的方法具有较强的通用性,因此可以方便对实时仿真产生的数据进行保存、显示分析和处理。

Description

基于消息机制的实时进程与非实时进程间的数据交互方法
技术领域
本发明涉及一种基于消息机制的实时进程与非实时进程间的数据交互方法,用于计算机操作系统实时进程与非实时进程间的数据交互方法,用于计算机实时计算和实时仿真。
背景技术
实时操作系统由于具有确定的中断响应和线程优先级,因此主要用于在计算机实时计算和实时仿真,但由于其结构简单,人机交互能力较差,因此目前普遍将其作为实时调度内核,而采用Windows系统完成人机交互。
现有的实时进程与非实时进程的数据交互,通常采用在计算机内存开辟一块存储空间,能够被双方进程读写的共享内存机制,实时进程每计算一次,将计算结果保存在内存中,而非实时进程在进行界面显示与处理时,设置一个定时器,定时在共享内存中取数据,完成人机交互。这种方法虽然易于实现,但是需要两个进程对一块内存区频繁进行读写操作,同时计算和仿真数据可能丢失,对结果分析产生影响,此外,这种方式不能够灵活实现数据交互,开发者必须知道双方的数据约定,因此不能灵活应用。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于消息机制的实时进程与非实时进程间的数据交互方法,已达到能够实时进程和非实时进程间灵活进行数据交互,并且不丢失交互数据。
技术方案
一种基于消息机制的实时进程与非实时进程间的数据交互方法,其特征在于步骤如下:
步骤1:针对进行数据交互的实时进程和非实时进程,设定两个相互独立共享内存消息栈,分别是实时进程发-非实时进程收消息栈和实时进程收-非实时进程发消息栈,所述两个消息栈的数据管理采用数据缓冲和先进后出机制;
步骤2:设置实时进程和非实时进程数据交互的消息类型,实时进程发出-非实时进程接收消息包括仿真计算消息、错误消息、通知显示消息、计算结束消息;非实时进程发出-实时进程接收消息包括仿真计算管理消息,初始参数设置消息;
步骤3:设置共享内存消息栈机制的缓冲区
Figure BDA0000140438480000021
Fpr为实时进程计算频率,Fpc为非实时进程读取频率;
步骤4:实时进程将每步计算数据和触发的错误以消息模式压栈进入实时进程发-非实时进程收共享内存消息栈,同时非实时进程查询实时进程发-非实时进程收共享内存消息栈,当有消息时压栈取出消息进出消息响应,直到消息栈清空为止;
步骤5:非实时进程将控制指令信息以消息模式压栈进入实时进程收-非实时进程发消息栈;同时实时进程查询实时进程收-非实时进程发消息栈,当有消息时压栈取出消息进出消息响应,直到消息栈清空为止。
有益效果
本发明提出的一种基于消息机制的实时进程与非实时进程间的数据交互方法,可以在不影响实时进程实时性和计算数据不丢失条件下,实现在非实时进程中对的实时进程产生的计算和仿真数据进行显示和分析。本发明所有的方法具有较强的通用性,因此可以方便对实时仿真产生的数据进行保存、显示分析和处理。
附图说明
图1:本发明方法流程图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
现需要在Windows计算机上安装RTX(Window嵌入式操作系统)完成实时仿真计算,同时应用Windows友好的人机交互界面实现仿真数据的显示和分析、仿真流程的控制。RTX实时仿真进程周期为10毫秒,每步仿真计算产生的最大数据量为512个字节,而Windows非实时进程界面刷新周期为50毫秒,主要进行仿真流程控制和数据结果的显示和保存。
根据本发明,具体实施过程如下:
1)对任务功能按照运行特性进行正确有效的划分成两部分:非实时部分(Windows进程)和实时部分(RTX进程)。两者数据交互的类型主要包括实时进程的仿真计算结果消息、错误消息、仿真过程通知消息;非实时进程消息主要包括仿真流程控制消息、参数设置消息等;
2)分别建立RTX进程收(Windows进程发)和Windows进程收(RTX进程发)两个共享内存消息堆栈,为保证系统运行的高效性,尽量减少在两种进程之间的同步信号和数据流。将堆栈消息缓冲数设置为128,将消息最大允许数据量设置为512字节;
3)仿真数据记录与显示。在RTX进程对硬盘进行读写记录仿真数据严重影响了仿真性能,而RTX系统是Windows的嵌入实时系统,其任何一个优先级都要高于Windows,在Windows环境下对硬盘操作不会对RTX实时性能产生影响,因此用过共享内存消息机制将RTX每仿真一步,将仿真数据存储到Windows进程收(RTX进程发)共享内存消息堆中,而Windows程序则不断对缓存区进行检测,发现有数据立即取出将其写到硬盘上存储成数据文件,或者添加到示波器实时显示,同时将缓存区中的原有数据清除。
4)仿真流程控制。RTX进程不具有人机交互界面,当Windows进程进行人机交互,将仿真过程通知消息(包括启动、停止等消息)添加到RTX进程收(Windows进程发)共享内存消息堆栈中,而RTX程序则不断对缓存区进行检测,发现有消息立即取出进行相应。
为了验证本发明的效果,将本基于消息的进程交互方法与传统进程间查询模式进行对比,两者实时仿真周期为0.1毫秒,交互数据量为512字节,比较结果如图1所示。
表1两种方法进程交互性能对比表
  性能指标   本发明方法   传统方法
  单步最小计算时间   0.080ms   0.083ms
  单步最大计算时间   0.12ms   0.13ms
  单步平均计算时间   0.088ms   0.089ms
  实时时钟抖动   0.006ms   0.008ms
  最多丢失数据帧   0   30
由表1可知采用本发明有效解决了实时进程数据丢失的问题,避免了同一内存区两个进程同时读写,提高了计算效率,同时实时进程的时钟精度收到的影响也比较小。

Claims (1)

1.一种基于消息机制的实时进程与非实时进程间的数据交互方法,其特征在于步骤如下:
步骤1:针对进行数据交互的实时进程和非实时进程,设定两个相互独立共享内存消息栈,分别是实时进程发-非实时进程收消息栈和实时进程收-非实时进程发消息栈,所述两个消息栈的数据管理采用数据缓冲和先进后出机制;
步骤2:设置实时进程和非实时进程数据交互的消息类型,实时进程发出-非实时进程接收消息包括仿真计算消息、错误消息、通知显示消息、计算结束消息;非实时进程发出-实时进程接收消息包括仿真计算管理消息,初始参数设置消息;
步骤3:设置共享内存消息栈机制的缓冲区
Figure FDA0000140438470000011
Fpr为实时进程计算频率,Fpc为非实时进程读取频率;
步骤4:实时进程将每步计算数据和触发的错误以消息模式压栈进入实时进程发-非实时进程收共享内存消息栈,同时非实时进程查询实时进程发-非实时进程收共享内存消息栈,当有消息时压栈取出消息进出消息响应,直到消息栈清空为止;
步骤5:非实时进程将控制指令信息以消息模式压栈进入实时进程收-非实时进程发消息栈;同时实时进程查询实时进程收-非实时进程发消息栈,当有消息时压栈取出消息进出消息响应,直到消息栈清空为止。
CN 201210053879 2012-03-03 2012-03-03 基于消息机制的实时进程与非实时进程间的数据交互方法 Expired - Fee Related CN102662771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201210053879 CN102662771B (zh) 2012-03-03 2012-03-03 基于消息机制的实时进程与非实时进程间的数据交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201210053879 CN102662771B (zh) 2012-03-03 2012-03-03 基于消息机制的实时进程与非实时进程间的数据交互方法

Publications (2)

Publication Number Publication Date
CN102662771A true CN102662771A (zh) 2012-09-12
CN102662771B CN102662771B (zh) 2013-12-25

Family

ID=46772270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201210053879 Expired - Fee Related CN102662771B (zh) 2012-03-03 2012-03-03 基于消息机制的实时进程与非实时进程间的数据交互方法

Country Status (1)

Country Link
CN (1) CN102662771B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310048A (zh) * 2012-12-24 2013-09-18 国家电网公司 电力协同实时仿真平台系统及其数据协同方法
CN114741338A (zh) * 2022-06-06 2022-07-12 飞腾信息技术有限公司 旁路转换缓存器、数据更新方法、内存管理单元及芯片

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127685A (zh) * 2007-09-20 2008-02-20 中兴通讯股份有限公司 一种进程间通讯装置及其进程间通讯方法
CN102129396A (zh) * 2011-03-04 2011-07-20 中国科学院软件研究所 一种实时快速的线程间数据交换方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127685A (zh) * 2007-09-20 2008-02-20 中兴通讯股份有限公司 一种进程间通讯装置及其进程间通讯方法
CN102129396A (zh) * 2011-03-04 2011-07-20 中国科学院软件研究所 一种实时快速的线程间数据交换方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310048A (zh) * 2012-12-24 2013-09-18 国家电网公司 电力协同实时仿真平台系统及其数据协同方法
CN114741338A (zh) * 2022-06-06 2022-07-12 飞腾信息技术有限公司 旁路转换缓存器、数据更新方法、内存管理单元及芯片

Also Published As

Publication number Publication date
CN102662771B (zh) 2013-12-25

Similar Documents

Publication Publication Date Title
US9965014B2 (en) Techniques for tracing wakelock usage
US9507688B2 (en) Execution history tracing method
US9329958B2 (en) Efficient incremental checkpointing of virtual devices
US9003375B2 (en) Optional logging of debug activities in a real time instruction tracing log
EP3748470A1 (en) Resource scheduling method and terminal device
CN111611125A (zh) 用于改善高性能计算应用的性能数据收集的方法与设备
US10216517B2 (en) Clearing specified blocks of main storage
US20170300362A1 (en) Performance optimization of hardware accelerators
CN111506581A (zh) 一种数据聚合方法和服务器
CN102662771B (zh) 基于消息机制的实时进程与非实时进程间的数据交互方法
CN114691448A (zh) 应用程序卡顿监测方法、装置、设备及存储介质
CN104239121A (zh) 显卡重定向系统和利用该系统实现图形显示的方法
CN107003828B (zh) 图形指令的仪器化
US11507413B2 (en) Tracking method, apparatus, device, and machine-readable medium
US9329883B2 (en) Post-execution instruction tracing of virtualized instructions
CN102193843B (zh) 虚拟机系统崩溃现场保存的加速方法
KR101735590B1 (ko) 트랜잭션 추출 장치 및 방법
CN102147786B (zh) 一种双端口虚拟fifo数据交换的方法
CN111625328A (zh) 适用于risc-v架构的中断装置、系统及方法
CN113806250B (zh) 通用处理器核心与向量部件的协同方法、接口及处理器
CN110765045B (zh) 一种基于fpga的中断延时计数系统及方法
CN102098214A (zh) 一种采用轮询机制的高速报文接收方法
CN204462976U (zh) 一种高负载量的多功能计算机主机装置
WO2018228524A1 (zh) 一种ssd控制芯片的中断控制方法、装置及ssd设备
CN110018789A (zh) 动态适配NAND的Tr和Tprom时间的方法、装置及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131225

Termination date: 20150303

EXPY Termination of patent right or utility model