一:什么是RTOS

RTOS(Real-Time Operating System),实时操作系统。实时性是其最大特征,实时操作系统中都要包含一个实时任务调度器,这个任务调度器与其它操作系统的最大不同是强调:严格按照优先级来分配CPU时间,并且时间片轮转不是实时调度器的一个必选项。

也可以这样理解:

实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。

实时系统的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。

换句话说,系统设计时所有的事件都可以在指定的时间内得到响应(时间确定性)。

如果系统关键任务响应时间都满足这条标准,则这样的实时系统可称为硬实时系统。

提供及时响应和高可靠性是RTOS的主要特点。

二:RTOS与普通操作系统的区别

与通用的分时操作系统不同(Linux、Windows、Unix等),实时操作系统在航空航天、军事与工业自动化领域更具优势,首先实时操作系统有着分时操作系统无法比拟的响应时间确定性,实时操作系统从调度器算法,到中断响应系统,到消息传递机制等所有的核心算法时间复杂度都是O(1),它表示系统的响应速度不依赖于系统任务的多少,负载的轻重,而只依赖于优先级的设计,就算当前系统满负荷运行,优先级高的事件发生后,系统还将会在指定的时间内立即响应事件。由于这种设计理念和算法上的优势,根据相关数学理论,分时系统在负载严重的情况下是不能通过提升处理器性能来获得确定的响应时间。

这种算法上的优势是通用分时系统所难以比拟的,而通用分时系统则更多考虑的是系统易用性、平衡性和数据吞吐率。

实时系统与分时系统设计思想和应用领域完全不同,不存在替代关系,而是一种互补关系。

我们常用的Windows XP windows 7/8/10,等都是分时系统,它打开文件,程序,不存在时间的确定性,而且快2秒,慢5秒不会对我们的生活和工作造成影响;

实时操作系统大部分是运行在芯片的底层,比如美国的Vx Works,RT-linux,我们国产的SylixOS,这些大型的实时操作系统实时的控制着最底层的应用,时间确定的执行着设定任务,例如火箭发射中定是分离,调整轨道等;

三:什么是硬实时?什么是软实时?

硬实时与软实时之间最关键的差别在于,软实时只能提供统计意义上的实时。例如,有的应用要求系统在95%的情况下都会确保在规定的时间内完成某个动作,而不一定要求100%。

在许多情况下,这样的“软性”正确率已经可以达到用户期望的水平。比如,用户在操作DVD播放机时,只要98%的情况都能正常播放,用户可能就满意了;

而发射卫星、控制核反应堆的应用系统,这些系统的实时性必须达到100%,是绝对不允许出现意外。

硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。

软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。

实时操作系统就是在规定的时间内必须正确地完成操作,完成操作的时间有操作系统的因素,也有用户软件的因素。
非实时操作系统指操作系统无法保证哪怕是最高优先级任务开始执行的最后时限。

只有“非屏蔽中断+执行时间确定的ISR”才可以称为硬实时系统,因为这个系统明确告诉我什么时候完成操作。

著名的硬实时系统包括:

VxWorks,SylixOS,RTlinux, ThreadX, QNX,Nucleus等.

什么是RTOS?RTOS与普通操作系统的区别相关推荐

  1. 阿里云服务器如何初始化云盘(跟换系统)?初始化云盘和跟换操作系统的区别?

    若在Linux系统(服务器)上,环境安装出错,可通过云服务器上初始化云盘,回归硬盘初始化状态,进行重新安装. 一.前言 作为小白的我们,第一次在服务器中下载安装软件,并部署环境,难免万般出错,然而想要 ...

  2. 【转】Windows Linux MacOS操作系统的区别

    首先,不管是Windows操作系统.Linux操作系统还是MacOS操作系统,甚至包括操作系统的鼻祖UNIX操作系统,最早都是用C语言编写的. 实际上UNIX操作系统和C语言都是由贝尔实验室的汤普森( ...

  3. 嵌入式系统与通用计算机操作系统的区别

    嵌入式系统与通用计算机操作系统的区别 以前仅学习并接触过嵌入式系统,通过对比,可以把以前学过的知识对应到计算机操作系统上来. 本文转自个人印象笔记,如有问题欢迎评论指正. 1. 嵌入式系统的要点 嵌入 ...

  4. 32位操作系统和64位操作系统的区别

    文章目录 一.32位和64位的关系 二.32位和64位的"位"是什么 三.32位和64位操作系统的区别 1.支持的系统不同 2.运行数据的速度不同 3.支持内存大小不同 4.软件 ...

  5. 32位和64位操作系统的区别

    简单的说x86代表32位操作系统 x64代表64位操作系统.如果你的CPU是双核以上,那肯定支持64位操作系统了.如果你的电脑内存大于4G,那就要用64位的系统了,因为32位的Windows 7也好, ...

  6. Linux和其他操作系统的区别

    前言 这是我听老师讲课做的笔记,考试要看的. 这是视频地址 作者:RodmaChen 关注我的csdn博客,更多Linux笔记知识还在更新 为什么用Liunx系统 Linux和windows的区别 L ...

  7. linux与各操作系统的区别

    Linux和Windows的区别  和Linux一样,Windows系列是完全的多任务操作系统.它们支持同样的用户接口.网络和安全性.但是,Linux和Windows的真正区别在于,Linux事实上是 ...

  8. 操作系统内核和操作系统的区别

    操作系统内核和操作系统的区别 内核指的是一个提供硬件抽象层.磁盘及文件系统控制.多任务等功能的系统软件.内核是一个操作系统的核心,是操作系统最基本的部分.它负责管理系统的进程.内存.设备驱动程序.文件 ...

  9. Unix、Linux、Windows操作系统的区别

    1.操作区别 linux区分大小写,windows在dos界面命令下不区分大小写: linux所有内容均以文件形式保存包括硬件,用户,而windows文件和硬件没什么关系,两个之间没有关联: wind ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二十三) - 控制(其一)- PID控制及其python实现
  2. 交换机使用QoS来对端口限速
  3. bos 获取数据库连接_java解析数据接口获取json对象
  4. SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
  5. Linux安装宝塔面板
  6. 搜狐创始人张朝阳操起“老本行”:居然开物理课了
  7. 一把“万能钥匙”就能开所有共享单车,撬走3亿元,开发者已被抓捕...
  8. (转)android UI进阶之自定义组合控件
  9. python 内存优化_Python 黑魔法之内存优化
  10. [转]整理关于java的String 类,equals函数和比较操作符的区别
  11. python 使用 .qrc文件
  12. 阿里云文字转语音接口
  13. 软件工程师应该如何吵架?
  14. HTML图片上传服务器
  15. 学生社团管理系统c语言代码,毕业设计—校园社团活动助手小程序
  16. C语言版家谱管理系统
  17. 不妨借一步说话,你想知道的关于设计模式的种种,android物联网开发配套代码
  18. 当“AI”对上“AI”,骚扰电话能否被扼杀在“苗芽”
  19. LM324LM358放大器的设计问题
  20. 程序员必看!2021最新京东Java面试题目附详细答案解析

热门文章

  1. vSphere 6.7 U3部署win11
  2. 小米10S MIUI13.0.3线刷12.5.14
  3. 《满庭芳·国色》色号记录
  4. matlab dim是什么意思,哪位大神给我解释下这两句程序是什么意思
  5. Java仿QQ聊天系统Eclipse+MySql实现
  6. 六年级下计算机课ppt课件ppt课件,人教版六年级数学下册
  7. ffmpeg 添加视频加文字水印--drawtext 滤镜详解
  8. 微服务化有3个阶段,但大部分金融企业仍处在0.5
  9. 清洗后的Kaist数据集
  10. 服务器补丁卸载之后显示未副本,打印机无法删除,添加打印机一直变成副本,怎样删除?急需答案?...