一、实时操作系统

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

  • 案例:uCOS/VxWorks/RTLinux

二、非实时操作系统

通常的通用操作系统Windows和Linux都叫分时操作系统,一般采用公平调度算法,线程/进程一多就得分享CPU时间,Linux下有针对“实时进程”的调度,调度算法和普通进程不一样,但也只是相对的响应时间降低而已,类似的Windows下的“实时”优先级,也只不过是最高优先级,而不是真正的实时

  • 案例:Linux/Windows/OSX

三、区别

1. 实时:


在上面的图中右边的任务优先级高于左边的任务,先看实时操作系统的,当优先级更高的任务2就绪的时候,即便任务1正在运行中,也必须立刻交出CPU的使用权,就跟中断一样,先执行任务2,等任务2执行完或者主动挂起(sleep)让出CPU的时候,任务1才能接着运行。

uCOS就是这样的实时操作系统,它是可抢占性的内核。我曾跟很多同事争辩过uCOS高优先级任务就绪而低优先级任务正在执行没有sleep的时候,高优先级任务能否打断低优先级任务而立即得到执行,遗憾的是很多人仍然坚持必须要sleep才能切换任务,每次我都只能无奈的用实验来证明这个本来不应该争辩的东西。

2. 非实时


再看看我们的Linux/Windows/OSX这些基于时间片轮转的操作系统遇到这种问题的时候会怎么样呢,毫无疑问它们都是非实时的操作系统,CPU是不可抢占的,从上图可以看到,即便高优先级的任务就绪了,也不能马上中断低优先级任务而得到执行,必须要等到低优先级任务主动挂起(sleep)或者时间片结束才能得到执行。所以我们在使用PC的时候经常会遇到应用程序无响应的问题。即硬件资源被其他任务占用,本任务得不到立即执行。

我们平常娱乐办公用的都是非实时的操作系统,那么什么时候该使用实时操作系统呢?试想一下,一个射出的导弹如果要执行一个调整姿态的任务,这个时候刚好有其他无关紧要的任务在执行,如果是非实时操作系统,那么可能会等一会儿然后弹个窗告诉你应用程序无响应(如果它有窗可弹的话),那完了等弹窗出来导弹都射到外太空去了!毫无疑问这种高优先级任务片刻都不能等的设备就必须上实时操作系统,如果你不想你的导弹射到外太空去的话。

【计算机架构】什么是实时操作系统、什么是非实时操作系统;实时操作系统和非实时操作系统的区别相关推荐

  1. 【实时操作系统】实时操作系统和非实时操作系统

    实时操作系统的特征: 当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应. 实时操作系统是抢占式操作系统,如果你的进程优先 ...

  2. 图解实时操作系统和非实时操作系统的区别

    对于实时操作系统(RTOS)和非实时操作系统,你能分别列举出来多少? 实时操作系统:uCOS/VxWorks/RTLinux 非实时操作系统:Linux/Windows/OSX 我也只能列举出来这么多 ...

  3. 实时操作系统和非实时操作系统的区别

    实时操作系统:uCOS/VxWorks/RTLinux 非实时操作系统:Linux/Windows/OSX 他们之间的区别,详见下图: 在上面的图中右边的任务优先级高于左边的任务,先看实时操作系统的, ...

  4. 计算机基础----32位操作系统和64位操作系统的区别

    众所周知,我们通常说操作系统是32位还是64位说的是32位处理器或64位处理器,windows系统有32位和64位,但是最近被问到32位操作系统和64位操作系统有什么区别?一时间只能想到64位操作系统 ...

  5. 实时操作系统与分时操作系统(或称非实时操作系统)的区别

    1. 什么是实时操作系统? 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时 ...

  6. 实时操作系统与通用计算机操作系统的区别,实时操作系统(RTOS)和通用操作系统(OS)之间的区别...

    RTOS vs OS 大多数人都熟悉电脑上使用的操作系统. 用于个人电脑的最常见的操作系统包括:微软的Windows,苹果的OS X以及各种版本的Linux. 但是多数人都不知道实时操作系统(缩写RT ...

  7. 两大图灵奖得主力作:计算机架构的新黄金时代

    来源|Communications of ACM 撰文|John L. Hennessy, David A. Patterson 编译|机器之心 原文|https://cacm.acm.org/mag ...

  8. 【研究生】计算机架构的新黄金时代,两位图灵奖得主最新力作

    选自Communications of ACM 作者: John L. Hennessy, David A. Patterson  转载于 机器之心 John Hennessy 和 David Pat ...

  9. 嵌入式操作系统和RTOS(实时操作系统)介绍。

    目录 嵌入式操作系统 RTOS(实时操作系统) 实时操作系统: 什么是嵌入式操作系统 一μClinux 二μC/OS-II 三eCos 四 FreeRTOS 五 mbed OS 六 RTX 七 VxW ...

最新文章

  1. 总以为自己走的很快,才发现自己是走的最慢的那个
  2. 重庆邮电大学计算机科学与技术培养方案,重庆邮电大学计算机科学与技术学院.doc...
  3. Flink的ProcessFunction API
  4. Python on the Way, Day1 - Python基础1
  5. 开发中遇到的Cause: java.sql.SQLException: connection holder is null的异常
  6. 高精度练习(hdoj1042)
  7. java 导出文件上传模板,上传Excel文件批量导入数据
  8. 【码云周刊第 3 期】来自国内开发者的实战项目,开源让通讯从未如此简单!...
  9. java 删除目录下所有文件_Java删除文件、目录及目录下所有文件的方法实例
  10. 51单片机实现电子时钟代码
  11. 篮球记分牌c语言程序和报告,基于单片机的篮球比赛电子记分牌最终版(备份存档)...
  12. 制作Android程序的应用图标并应用
  13. IDEA修改创建多级package包结构样式
  14. 一、线性表的顺序存储和基本运算
  15. MFC设置窗体背景图片的办法
  16. Python在cmd上打印彩色文字
  17. 六成受访美国人认为教育系统正在令这一代人失望
  18. 【冬察冬见】FFmpeg系列学习笔记
  19. 数据结构基础之迭代法归并排序
  20. Html表格实现行上下移动

热门文章

  1. 基于haar特征的adaboost算法_目标检测算法介绍
  2. 专业程序设计part2
  3. 病毒、蠕虫、木马区别
  4. 微信小程序商城:解决用户拉新与留存问题
  5. 阿德莱德大学语言班成绩为C,阿德莱德大学语言要求(包括雅思、托福、GRE、GMAT)...
  6. 学习shell,这一篇就够了(shell基础)
  7. cocos creater 鸿蒙 音频卡死 播放失败 不回调
  8. html5 3d翻页,HTML5 3D书本翻页动画
  9. typescript基础学习
  10. qa 芯片测试_芯片测试的几个术语及解释