rt-linux

Linux操作系统实时性分析

十年热恋 提交于 2020-12-01 01:48:33
1. 概述   选择一个合适的嵌入式操作系统,可以考虑以下几个因素:   第一是应用。如果你想开发的嵌入式设备是一个和网络应用密切相关或者就是一个网络设备,那么你应该选择用嵌入式Linux或者uCLinux,而不是uC/OS-II。   第二是实时性。没有一个绝对的数字可以告诉你什么是硬实时,什么是软实时,他们之间的界限也是十分模糊的,这与你选择什么样的CPU,它的主频、内存等参数有一定关系。如果你使用加入实时补丁等技术的嵌入式Linux,如Monta Vista Linux(2.4.17版本),最坏的情况只有436微秒,而99.9%的情况是195微秒以内。考虑到最新的Linux在实时性方面的改进,它可以适合于90~95%的各种嵌入式系统应用。当然,你如果希望更快的实时响应,如高速A/D转换需要几个微秒以内的中断延时,可能采用uC/OS-II是合适的。当然,采用像Vxworks这样传统的嵌入式操作系统也可以满足这样的强实时性要求。    2. 为什么选择Linux操作系统   Linux系统作为一个GPOS(通用操作系统)发展至今已经非常成熟可靠了,并且由于遵循GPL协议,开放所有系统源代码,非常易于裁剪。更重要的是,与其他开源的GPOS或RTOS相比,Linux系统支持多种处理器、开发板,提供多种软件开发工具,同时Linux系统对网络和图形界面的支持非常出色。显然

交易系统开发(七)——交易延迟分析

♀尐吖头ヾ 提交于 2020-10-02 14:40:22
交易系统开发(七)——交易延迟分析 一、交易延迟简介 1、交易延迟简介 交易延迟高最常用的指标是往返延时(Round Trip Time),即交易订单从客户策略服务器发至经纪公司交易柜台,交易柜台内部处理后发往交易所,交易所确认报单后发送回报给交易柜台,再从柜台发送至客户策略机的一来一回整体链路的耗时。 2、交易策略服务器至交易柜台延迟 客户策略服务器至经纪公司交易柜台的延时指订单从客户策略服务器网卡发出,至经纪公司柜台服务器网卡收到之间的延时。 本阶段延时主要耗时在硬件上,受服务器、网卡及交换机的性能优劣影响较大。 策略服务器一般由客户自行采购或由客户指定配置由券商采购,柜台服务器一般由经纪公司提供,高频交易服务器一般托管在机房,布线一般由经纪公司网络工程师完成,本段延迟主要由经纪公司和客户共同决定。 3、交易柜台内部延迟 交易柜台内部延迟指交易柜台网卡收到策略客户端发出的委托订单,经过前置、风控、订单、报盘等模块管理后,再调用交易所API从网卡发出所需要的耗时。 本段延时由经纪公司柜台系统,系统服务器、网卡及交易所API三部分决定。 第一部分即经纪公司柜台系统,高频交易柜台系统由专业柜台厂商提供。交易柜台系统一般有交易前置模块(提供监听及客户链接管理功能)、风控模块(对客户订单的风控管理)、订单管理模块(管理客户订单)、报盘模块(管理与交易所交易前置的链接)。

如何给嵌入式Linux打实时补丁?

人走茶凉 提交于 2020-04-30 10:21:22
相关推荐: https://www.forlinx.com/article_view_261.html 一、实时系统分类 实时系统可以分为硬实时(Safety-Critical,低延时,比如几十个us内)和软实时(几百个us~几个/几十个ms),硬实时通常跟高确定性、可靠性要求同时出现,如果达不到,可能会造成重大生命或者财产损失,比如说航天飞控、汽车制动系统、精密仪器等都有较高的硬实时要求。对于软实时,可靠性要求没那么高,即使出现了延迟,造成的损失可控,比如说音频失真,视频不顺畅。 二、已有方案 Linux 本身已经有硬实时的方案,比如来自风河的 RT Linux,或者西班牙一家研究所的 XtratuM + PartiKle,还有其他的比如 Xenomai,RTAI 等。另外,内核官方还有完全抢占内核(Preempt-RT Linux)的支持,这个在某些情况下也达到了硬实时要求,改补丁现在有OSADL维护。 然后就是各种优化,包括驱动(irq, preempt disable), spin lock 等使用,中断函数线程化,mdelay 替换为 usleep_range() 等。优化时需要用到很多工具,比如 Ftrace, Perf, Cyclictest, Oscilloscope 等。 硬件本身的低延迟设计、可靠性设计等也会严重影响系统的实时性,比如说 ARM Cortex A