Sunshine游戏串流:3步搭建你的专属云游戏服务器
2026/4/15 13:10:11
实时系统旨在及时且恰当地处理内外部事件,这对内核提出了一系列严格要求。
实时内核需能尽快从低优先级任务切换到高优先级任务,此切换时间即抢占粒度,最长等待重新调度时间为最坏情况调度延迟。早期Linux 2.4系列通过补丁引入任务调度机会,此前新任务仅在退出内核上下文时才可调度。Robert Love提出的可抢占内核支持在Linux 2.5开发阶段并入主线内核,成为Linux 2.6标准特性,平均抢占性显著提升。然而,只要系统中任何任务持有独占资源,内核抢占全局禁用,导致任务并发欠佳,仅平均延迟有改善,最坏情况延迟仍不满足硬实时要求。可通过使每个独占资源的获取和释放相互独立来解决此问题,这也是PREEMPT_RT努力的关键方面。
用交通类比来说,就像整个城市只有一个交通信号灯(抢占禁用锁),每当有车通过城市任何一个十字路口(独占资源)时,所有车辆(任务)都会被阻挡。
即便有细粒度可抢占内核,被抢占的低优先级任务可能长时间持有独占资源,导致请求同一资源的高优先级任务严重延迟,即优先级反转。由于Linux内核中独占资源广泛分布,遇到优先级反转的概率较高。可通过优先级继承或优先级上限等操作系统技术解决,确保反转时间短且有界,甚至不发生。
实时应用常对设备中断做出反应,以处理正常输入或获取物理世界状态信息。内核将待处理中断分派到合适软件处理程序的最长时间为最坏情况中断延迟。标准Linux内核进入关键部分时可能屏蔽外部中断,