当前位置: 首页 > news >正文

操作系统(二):实时系统介绍与实例分析

目录

一.概念

1.1 分类

1.2 主要指标 

二.实现原理

三.主流实时系统对比


一.概念

        实时系统(Real-Time System, RTS)是一类以时间确定性为核心目标的计算机系统,其设计需确保在严格的时间约束内完成任务响应。

1.1 分类

        根据时间约束的严格程度,实时系统可分为以下两类,见下表。

实时系统分类
序号类别定义示例
1

硬实时系统

(Hard Real-Time)

要求任务必须在绝对截止时间前完成,超时将导致系统失效或严重后果。

1.汽车安全气囊控制系统

        传感器触发后,系统需在毫秒级时间内完成气囊展开操作。
2.飞行器导航系统

        姿态控制指令的延迟可能导致坠机风险。

2

软实时系统

(Soft Real-Time)

允许偶发性延迟,但需保证整体性能达标

1.视频流处理

        单帧丢失可能引起画面卡顿,但不影响整体功能。
2.在线交易系统

        短暂延迟可能导致用户体验下降,但不会引发系统性崩溃。

1.2 关键指标 

关键指标
序号指标描述
1中断响应时间从接收中断信号到执行中断服务程序的时间(硬实时系统通常要求<10μs)
2任务切换时间不同优先级任务间CPU控制权转移的耗时(如VxWorks为3.8μs,RT-Linux为25μs)

二.实现原理

        实时系统的设计围绕确定性调度资源控制展开,其实现原理包含以下关键技术。

关键技术
序号关键技术描述
1任务调度机制

1.优先级抢占式调度

        高优先级任务可立即抢占低优先级任务资源。例如VxWorks采用256级优先级,支持动态优先级调整。
2.时间片轮转(Round-Robin)

        在相同优先级任务间分配固定时间片,避免单一任务长时间占用CPU。

2内核架构优化

1.可抢占内核

        允许中断内核代码执行以响应高优先级任务,减少不可抢占区域(如Linux的PREEMPT-RT补丁通过优化自旋锁实现微秒级延迟)。
2.中断管理

        采用中断嵌套和快速中断服务程序(Fast ISR),避免长时间关闭中断。例如QNX的中断处理层仅关闭部分中断。

3同步与通信机制

1.优先级继承协议

        防止低优先级任务持有高优先级任务所需资源时引发的优先级反转问题(如FreeRTOS的互斥量设计)。
2.实时信号量与邮箱

        提供任务间高效通信方式,确保数据传递的时效性。

4资源预留与隔离

1.CPU核隔离

        通过isolcpus参数将特定CPU核心专用于实时任务,避免非实时任务干扰。
2.内存管理优化

        采用静态内存分配或实时内存池(如VxWorks的memPartLib库),减少动态内存分配的不确定性。

注:isolcpus 是 Linux 内核提供的一种 CPU 核心隔离机制,用于将指定的 CPU 核心从系统默认调度中排除,确保这些核心仅运行用户显式指定的进程或线程。其核心目标是为关键任务提供独占的 CPU 资源,减少干扰(如上下文切换、中断),提升性能稳定性。

三.主流实时系统对比

主流实时系统对比
序号实时系统类型特点应用领域
1VxWorks硬实时高可靠性、支持动态加载模块、NASA火星探测器采用航空航天、国防
2QNX硬实时微内核架构、容错性强、符合ISO 26262汽车安全标准汽车电子、医疗设备
3FreeRTOS软/硬实时开源轻量、支持多种处理器架构、Amazon FreeRTOS集成AWS物联网服务嵌入式设备、IoT
4RT-Linux软实时基于Linux内核改造(如PREEMPT-RT补丁)、保留生态兼容性工业自动化、音视频处理
5uC/OS-II硬实时代码精简(<10KB)、可移植性强、适合资源受限场景智能家居、小型控制器


http://www.mrgr.cn/news/96999.html

相关文章:

  • python match case语法
  • Vue3 Pinia Store 新建store示例、使用store示例
  • 【大模型】SpringBoot整合LangChain4j实现RAG检索实战详解
  • ros2--gazebo--launch
  • 【gdutthesis模板】章节标题有英文解决方案
  • Tmux 核心操作速查指南
  • 【c++深入系列】:类与对象详解(中)
  • STM32单片机入门学习——第12节: [5-2]对射式红外传感器计次旋转编码器计次
  • 基于yolo11的BGA图像目标检测
  • 动、静态创建任务
  • MySQL - 事务隔离级别和锁的机制
  • WPF设计学习记录滴滴滴4
  • 基础科学中的人工智能︱如何用机器学习方法求解排列型组合优化问题?
  • 【11408学习记录】[特殊字符] 三步攻克英语长难句:嵌套结构×平行结构全解析
  • frp 让服务器远程调用本地的服务(比如你的java 8080项目)
  • CExercise04_2数组_1 利率在投资年份内每年的资产总价值
  • 【备忘】在Docker中安装宝塔面板,实现环境隔离,又能快速迁移服务器环境
  • CExercise04_1位运算符_1 用位运算符判断某个整数是否为奇数
  • 二极管正负极区分
  • 七种继电器综合对比——《器件手册--继电器》