首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

硬实时和软实时

运行到这个指令的时候有些其他的中断产生,到执行这个命令的时候就产生了一些延迟,有的程序延迟10ms,有的延迟1ms,有的10us。...如果需求是最多2ms内必须执行,那10ms的是软实时,1ms和10us的是硬实时。如果需求是最多20us内必须执行,那10ms和1ms的是软实时,10us的是硬实时。...是互相相对着说的,linux很多定义为软实时,freertos和RTX之类的rtos被定义为硬实时。因为这俩相比一般linux的实时延迟要大一点。...rt-linux的实时延迟可以到几百us,如果需求是不超过毫秒级的话,那rt-linux对这个需求也是硬实时。 延迟是由于系统内核的一些处理,包括优先级抢占,中断屏蔽之类的引起的。...linux的内核相对比较复杂,因此执行的操作较多,延迟自然就大了。

24730
您找到你想要的搜索结果了吗?
是的
没有找到

DRV_05_GPIO按键驱动分析与使用

资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git...视频观看 百问网驱动大全 GPIO按键驱动分析与使用 参考资料: Linux 5.x内核 Documentation\devicetree\bindings\input\gpio-keys.txt....dts STM32MP157:Linux-5.4/arch/arm/boot/dts/stm32mp15xx-100ask.dtsi QEMU:linux-4.9.88/arch/arm/boot/dts...看下图: 核心在于:在GPIO中断中并不立刻记录按键值,而是修改定时器超时时间,10ms后再处理。 如果10ms内又发生了GPIO中断,那就认为是抖动,这时再次修改超时时间为10ms。...只有10ms之内再无GPIO中断发生,那么定时器的函数才会被调用。 在定时器函数中上报按键值。

1.8K20

kvm timer虚拟化

惠伟:linux time和kvm time虚拟化综述​zhuanlan.zhihu.com 在这篇中遗留了几个问题,先尝试回答一下,不一定准确,代码太多,看不过来,全靠猜测,代码的历史很长,都是智慧的结晶...NO_HZ_FULL都会动态调整下次tick的时间,One-shot和TSC-Deadline有点像,One-shot 通过MMIO给 initial-count register写一个相对时间,比如10ms...那就是10ms后来个中断,TSC-Deadline通过给IA32_TSC_DEADLINE MSR写一个tsc的绝对时间,cpu的tsc值到了这个绝对值就来个中断,感觉比One-shot好控制,cpu...HZ高点,10ms干的活多,cpu HZ低点10ms干的活少,TSC-Deadline设置一个值 ,HZ高点,那么tsc涨得快,HZ低点tsc涨得慢,两次中断之间cpu干的活是固定的,所以最终linux...linux要正常运转,不能没有timer中断,就像人不能没有心跳,NO_HZ_IDLE和NO_HZ_FULL也只是把timer中断的周期拉长了一点。

2.3K00

ping还有高级用法你知道吗?

TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time...<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Ping statistics for 192.168.1.21:..., Maximum = 10ms, Average = 10ms   从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214...ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的...TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现: [HKEY_LOCAL_MACHINE

49250

kvm timer虚拟化

NO_HZ_FULL都会动态调整下次tick的时间,One-shot和TSC-Deadline有点像,One-shot 通过MMIO给 initial-count register写一个相对时间,比如10ms...那就是10ms后来个中断,TSC-Deadline通过给IA32_TSC_DEADLINE MSR写一个tsc的绝对时间,cpu的tsc值到了这个绝对值就来个中断,感觉比One-shot好控制,cpu...HZ高点,10ms干的活多,cpu HZ低点10ms干的活少,TSC-Deadline设置一个值 ,HZ高点,那么tsc涨得快,HZ低点tsc涨得慢,两次中断之间cpu干的活是固定的,所以最终linux...linux要正常运转,不能没有timer中断,就像人不能没有心跳,NO_HZ_IDLE和NO_HZ_FULL也只是把timer中断的周期拉长了一点。...https://github.com/torvalds/linux/commit/4d151bf3b89e71490e69defc811579b2bde617e2 https://github.com/

1.6K10

ping还有高级用法你知道吗?

TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time...<10ms TTL=254 Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 Ping statistics for 192.168.1.21:..., Maximum = 10ms, Average = 10ms   从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214...ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的...TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现: [HKEY_LOCAL_MACHINE

50550
领券