千家信息网

Linux操作系统实时性学习示例分析

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇文章为大家展示了Linux操作系统实时性学习示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、实时系统基本概念什么是实时系统,POSIX作了这样的
千家信息网最后更新 2025年01月31日Linux操作系统实时性学习示例分析

本篇文章为大家展示了Linux操作系统实时性学习示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一、实时系统基本概念

什么是实时系统,POSIX作了这样的定义:指能够在限定的响应时间内提供所需水平服务的系统。另个一被Donald Gillies提出定义为:一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。实时系统对响应时间有严格要求。

实时操作系统(RTOS,RealTime Operation System)是指能够在给定的截止时间前对内部或者外部的异常事件做出正确响应的操作系统。在实时操作系统中,进程的执行结果的正确与否不仅与逻辑运算或数学计算结果的正确性相关,还与进程运行结束得出结果的时间有关,也就是说,如果一个进程的运算结果是正确的,但是由于它完成时间已经超出了系统给定的***期限,在实时系统中,这个结果就是毫无意义的。

根据系统对响应时间约束条件的强弱可将实时操作系统分为两大类:硬实时系统(HRT,HardReal-Time System)和软实时系统(SRT,SoftReal-Time System)。

  • 软实时操作系统:软实时操作系统对时间的限制不是十分苛刻,响应的时间可以相对延迟,即未超过***规定时间太多的范围内,其结果都是可以接受的,不会产生严重的后果。

  • 硬实时操作系统:对于硬实时操作系统而言,不仅要求各个任务能够运行得到正确的结果,同时还必须在限定的时间内完成,这个时间是由系统本身确定的,这比软实时操作系统的时间约束条件严格了许多。例如,在航天领域的嵌入式实时操作系统中,如果在规定的时间内未能得出所希望的运算结果,其产生的后果将是十分严重的。

二、Linux操作系统实时性

1、Linux系统框架
宏观上,Linux的框架如图1:

图1 Linux框架图

为了更加直观,更加便于理解,Linux框架图1,可以抽象成下图2。

图2


2、标准Linux内核制约实时性的因素

  • Linux中有大量不可抢占的区域

在Linux2.6中,内核己经可以抢占,因而实时性得到了加强"但是内核中仍有大量的不可抢占区域,如由自旋锁(SPinlock)保护的临界区。

  • 时钟粒度粗糙

Linux2.6内核虽然把时钟频率提高到1000 赫兹,定时精度达到了1ms,但远不能满足实时系统要求的微秒级定时精度,如数控系统要求50us 的定时精度。

  • 关闭中断

系统调用和中断服务程序中,为了保护临界区资源,Linux会长时间关闭中断"有些系统调用和中断服务程序的时间还很长,这样会加大中断延迟时间。

  • 缺乏有效的实时任务调度机制和调度算法

Linux系统是按照分时系统的目标设计的,以达到系统较好的平均性能,强调平衡各进程之间的响应时间来保证公平的CPU时间占用。通常采用固定时间片的分时调度算法,内核不能抢占,而实时系统的行为更多的取决于复杂的不可预知的情况。这些原则不能满足实时系统短的响应时间和确定的执行行为的要求。

  • 优先级反转的问题

当一个低优先级的进程占用了某种资源,导致同样需要这个资源的高级进程无法运行,并且此时有一个优先级在他们之间的就绪进程获得了CPU 的控制权,这样就使得高级别的任务需要等待比他优先级别低的任务,这种现象就叫做优先级反转。在Linux中,由于资源是不可抢占的,并且不支持优先级继承等策略,所以优先级反转现象可能会发生,这影响了系统的实时性能。

3、改进Linux实时性的方案

从前文可以看出,标准Linux内核有许多制约实时性的因素,要将Linux系统用于实时环境,必须对其进行改进。目前改进Linux实时性的方案有两种:直接修改内核法、双内核法。

直接修改内核法,通过对Linux 原理与源代码的分析,通过对内核的进程调度、中断服务程序等代码进行修改与优化,提高系统的实时性能,并且为了保证系统的通用性,需要按照POSIX
的相关标准来进行改动。利用这种方法可以获得较好的性能提升,并且因为与标准的Linux 内核使用相同的应用程序接口,所以有良好的兼容性。目前,采用修改内核方法改进Linux 实时性的产品很多,如 Kurt-Linux、TimesysLinux 和 Ingo's RT patch 等。

双内核法,通过在Linux 内核与硬件中断之间增加一个可抢先的实时内核,把标准的Linux 内核作为该实时内核的一个优先级***的进程来调度,它可以被实时进程抢断,正常的
Linux 进程仍可以在 Linux 内核上运行,这样既可以使用标准分时操作系统即Linux 的各种服务,又能提供低延时的实时环境。RT-Linux 是采用双内核法改造Linux 实时性的典型代表。

上述内容就是Linux操作系统实时性学习示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

系统 实时 时间 内核 操作系统 进程 实时性 结果 优先级 标准 程序 服务 调度 任务 性能 框架 资源 运行 分析 之间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 性价比 塔式服务器 字体软件开发 怎么进入云服务器远程桌面 世界服务器登录不了怎么办 服务器安全卫士满足等级保护 打开应用服务器未响应是什么情况 为什么会有多个数据库 数据库取证技术 浪潮高密度服务器价格查询 还原sql数据库 计算机网络技术自考真题 著名的网络安全公司是 阿里云服务器按量付费 ps4登陆原神无法连接服务器 表在数据库中是一个字段 现代网络技术在教学中运用 Ns暗黑2连不上服务器怎么加速 关于成立网络安全小组 syql数据库 安徽录播服务器安装虚拟主机 人类享受了网络技术带来的方便 北京web前端软件开发要多少钱 云计算和服务器应用慕课测试答案 网络安全技能职业大赛黑龙江 无锡crm软件开发工程师 小学生网络安全宣传童谣 绍兴高防服务器 财政支付服务器 电信网络技术工程师面试题 初中生可以学软件开发吗
0