精华内容
下载资源
问答
  • 实时操作系统

    2019-10-06 14:31:42
    1. 首先说一下实时的定义及要求: 参见 Donal Gillies 在 ...一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。请注意,必须要满足确定性,而不是要求速度足够快!例如,如果...

    1. 首先说一下实时的定义及要求:

    参见 Donal Gillies 在 Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。

    一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用足够强大的CPU,Windows在CPU空闲时可以提供非常短的典型中断响应,但是,当某些后台任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务会长时间无响应,甚至直接挂死。这是一个基本的问题:并不是Windows不够快或效率不够高,而是因为它不能提供确定性,所以,Windows不是一个实时操作系统。
     

    根据实际应用,可以选择采用硬实时操作系统或软实时操作系统,硬实时系统指系统要能确保的最坏情况下的服务时间,即对于事件的响应时间的截止期限是无论如何都必须得到满足;软实时系统就是那些从统计的角度来说,一个任务能够得到有确保的处理时间,到达系统的事件也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误。

    硬实时 - 代表产品 VxWorks

    举一个经常使用的实例,中高档汽车中使用的气囊。当报告车辆碰撞的传感器中断CPU后,操作系统应快速地分配展开气囊的任务,并且不允许任何其他非实时处理进行干扰,晚一秒钟展开气囊比没有气囊的情况更糟糕,这就是一个典型的必须使用硬实时的系统。

    软实时 - 代表产品 软实时Linux

    再举一个实例,IPTV数字电视机顶盒,需要实时的处理(解码)视频流,如果丢失了一个或几个视频帧,显然会造成视频的品质更差,但是只要做过简单的抖动处理的系统,丢失几个视频帧就不会对整个系统造成不可挽救的影响。

    2. 如何衡量一个实时操作系统的实时性能?

    主要有以下两个重要指标:

    指标1、中断响应时间(可屏蔽中断)

    计算机接收到中断信号到操作系统作出响应,并完成切换转入中断服务程序的时间。对于抢先式内核,要先调用一个特定的函数,该函数通知内核即将进行中断服务,使得内核可以跟踪中断的嵌套。抢先式内核的中断响应时间由下式给出:
    中断响应时间=关中断的最长时间+保护CPU 内部寄存器的时间+进入中断服务函数的执行时间+开始执行中断服务例程(ISR)的第一条指令时间


    请注意:中断响应时间是系统在最坏情况下响应中断的时间,某系统100次中有99次在50ms之内响应中断,只有一次响应中断的时间是250ms,只能认为中断响应时间是250ms。


    指标2、任务切换时间

    除为中断处理提供确定性外,实时处理也需要支持周期性间隔的任务调度。大量控制系统要求周期性采样与处理。某个特定任务必须按照固定的周期(p)执行,从而确保系统的稳定性。考虑一下汽车的防抱死系统(ABS)。控制系统对车辆的每个车轮的转速进行采样(每秒最多 20 次)并控制每个制动器的压力(防止它锁死)。为了保持控制系统的正常工作,传感器的采样与控制必须按照一定的周期间隔。这意味着必须抢占其他处理,以便 ABS 任务能按照期望的周期执行。

    当多任务内核决定运行另外的任务时,它把正在运行任务的当前状态(即CPU 寄存器中的全部内容)保存到任务自己的栈区之中。然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU 的寄存器,并开始下一个任务的运行。这个过程就称为任务切换。做任务切换所需要的时间取决于CPU 有多少寄存器要入栈。CPU 的寄存器越多,额外负荷就越重。


    3. 实时操作系统的核心 - 任务调度(VxWorks)

    任务由系统内核调度运行一段固定长度的时间,称为时间片。调度是指为任务分配资源和时间,使系统满足特定的性能要求。调度算法的目的是在正常情况下,尽可能满足所有任务的时限;在峰值负载条件下,保证强实时任务满足时限。因为时限是区分实时系统和非实时系统的关键因素,因此调度算法是实时系统的基本问题。实时操作系统所具有的运行性能,如吞吐量的大小、周转时间的长短、相应的及时性和可预测性等在很大程度上都取决于实时调度。
     

    进程调度可采用下述两种方式:

    1. 非抢占方式。采用这种调度方式,一旦把处理机分配给某进程后,便让该进程一直执行,直到该进程完成或发生某事件而被阻塞,才再把处理机分配给其他进程,决不允许某进程抢占已经分配出去的处理机。显然它难于满足紧急任务的要求,实时系统中不宜采用这种调度方式。

    2. 抢占方式。允许调度程序根据某种原则,去停止某个正在执行的进程,将已分配给该进程的处理机,重新分配给另一进程。抢占的原则有:

    - 时间片原则。各进程按时间片运行,当一个时间片用完后,便停止该进程的执行而重新进行调度。

    - 优先权原则。当一个进程到来时,如果其优先级比正在执行的进程的优先级高,便停止正在执行的进程,将处理机分配给优先级高的进程,使之执行。实时系统中一般采用基于优先级的抢占式调度和轮转调度相结合的调度策略。因此既可具有较大的灵活性,又能获得极小的调度延迟。

    VxWorks的wind内核缺省调度机制为基于优先级的抢占式调度。采用这种机制时,系统把处理机分配给优先级最高的进程,使之执行。一旦出现了另一个优先级更高的进程时,进程调度程序剥夺当前任务的执行,将处理机分配给高优先级任务。而在相同优先级的多个任务之间,采用时间片轮转调度机制。采用这种机制时,当一个任务到达时,它被排在轮转队列的后面,等待分配给自己的时间片的到来,如果在时间片内没有结束,则再等待属于自己的时间片的到来,直到任务完成。

     

    - 优先级抢占式
        采用基于优先级的抢占式调度,系统中每个任务都有一个介于最高0到最低255之间的优先级。任一时刻,系统内核一旦发现一个优先级更高的任务转变为就绪态,内核就保存当前任务的上下文并把当前任务状态转换为阻塞态,同时切换到这个高优先级任务的上下文执行。
    - 轮转调度算法
        采用轮转调度算法,系统让处于就绪态的优先级相同的一组任务依次轮流执行预先确定长度的时间片。这是一种处理机平均分配的方法。如果不使用轮转调度算法,优先级相同的一组任务中第一个获得处理机的任务将不会被阻塞而独占处理机,如果没有阻塞或其他情况发生,它不会放弃处理机的使用权。
    - 抢占调度与轮转调度混合方式
        有时,基于优先级的抢占式调度可与轮转调度相结合。当优先级相同的一组任务依次轮流平均分配处理机时,若有高优先级的任务转变为就绪态则可抢占该组任务。直到再一次符合执行条件时,该组任务才可再次共享处理机。
        为了任务控制的灵活性,VxWorks内核还提供了动态优先级机制任务的优先级在运行期间可动态地变化。同时,为了防止优先级反转,还具有优先级继承机制,通过使用互斥信号量可以防止高优先级的任务被迫等待一段不确定时间,直到一个低优先级任务完成。
     

    参考博客:

    1. https://blog.csdn.net/zhourui1982/article/details/5282361 什么是真正的实时操作系统

    2. https://blog.csdn.net/qq_25077833/article/details/53344215  优先级翻转

    3. https://www.cnblogs.com/frankyou/p/8649435.html 中断和中断处理程序

    4. https://blog.csdn.net/u010317005/article/details/80531985 Linux进程优先级、nice系统中的nice值和nice time,top中的PR和ps中的PRI

    5. https://www.jianshu.com/p/3f19d4fc4538 top最详细介绍

    6. https://blog.51cto.com/frankch/1773621  Linux的进程优先级 Nice 和 priority

    展开全文
  • 实时操作系统

    2011-06-20 15:45:00
    实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:...

    实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。此外,实时操作系统应有较强的容错能力。

    展开全文
  • 实时操作系统与分时操作系统的区别

    万次阅读 多人点赞 2018-10-11 20:42:28
    1. 什么是实时操作系统实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务...

    1. 什么是实时操作系统?

           实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。其特点是及时响应和高可靠性。实时系统又分为硬实时系统软实时系统,硬实时系统要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。

    2. 什么是分时操作系统?

           使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用(时间片的概念)。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。

    3. 实时操作系统需要满足哪些特征?

           多任务:由于真实世界的事件的异步性,能够运行许多并发进程或任务是很重要的。多任务提供了一个较好的对真实世界的匹配,因为它允许对应于许多外部事件的多线程执行。系统内核分配CPU给这些任务来获得并发性。

           抢占调度:真实世界的事件具有继承的优先级,在分配CPU的时候要注意到这些优先级。基于优先级的抢占调度,任务都被指定了优先级,在能够执行的任务(没有被挂起或正在等待资源)中,优先级最高的任务被分配CPU资源。换句话说,当一个高优先级的任务变为可执行态,它会立即抢占当前正在运行的较低优先级的任务。

           任务间的通讯与同步:在一个实时系统中,可能有许多任务作为一个应用的一部分执行。系统必须提供这些任务间的快速且功能强大的通信机制。内核也要提供为了有效地共享不可抢占的资源或临界区所需的同步机制。

           任务与中断之间的通信:尽管真实世界的事件通常作为中断方式到来,但为了提供有效的排队、优先化和减少中断延时,我们通常希望在任务级处理相应的工作。所以需要在任务级和中断级之间存在通信。

    4. 分时操作系统需要满足哪些特征?

           交互性:用户与系统进行人机对话。 
           多路性:多用户同时在各自终端上使用同一CPU。 
           独立性:用户可彼此独立操作,互不干扰,互不混淆。 
           及时性:用户在短时间内可得到系统的及时回答。 

    5. 实时操作系统主要应用领域

           主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。例如:机器人的运动控制、无人驾驶等。

    6. 分时操作系统主要应用领域

           现在流行的PC,服务器都是采用这种运行模式,即把CPU的运行分成若干时间片分别处理不同的运算请求。

    7. 常见的实时操作系统有哪些?

    vxworks 是美国windriver公司于1983年设计开发的高性能、可扩展的实时操作系统,具有嵌入实时应用中最新一代的开发和执行环境,支持市场上几乎所有的处理器,以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演戏、弹道制导、飞机导航等
    Nucleus 是美国accelerated technology incorporated公司研发的产品,是世界上最受欢迎的嵌入式操作系统之一,其特点是约95%的代码用ANSI C编写,因此非常便于移植并能够支持大多数类型的处理器,同时可提供网络、图形用户界面、文件系统等模块支持
    QNX 是加拿大QNX公司出品的一种商用的、遵从POSIX标准规范的类UNIX实时操作系统。QNX是最成功的微内核操作系统之一,在汽车领域得到了极为广泛的应用,如保时捷跑车的音乐和媒体控制系统和美国陆军无人驾驶Crusher坦克的控制系统,还有RIM公司的blackberry playbook平板电脑。具有独一无二的微内核实时平台,实时、稳定、可靠、运行速度极快
    Windows CE 是美国microsoft公司推出的嵌入式操作系统,支持众多的硬件平台,其最主要特点是拥有与桌上型windows家族一致的程序开发界面,因此,桌面操作系统windows家族开发的程序可以直接在windows ce上运行,主要应用于PDA(个人数字助理)、平板电脑、智能手机等消费类电子产品。但嵌入式操作系统追求高效、节省,windows ce在这方便是笨拙的,它占用内存过大,应用程序庞大
    RT-Linux 是美国墨西哥理工学院开发的基于linux的嵌入式实时操作系统,是一款提供源代码、开放式自由软件。rt-linux使用了精巧的内核,并把标准的linux核心作为实时核心的一个进程,同用户的实时进程一起调度。这样对linux内核的改动非常小,并且可以充分利用Linux 下现有的丰富的软件资源
    uc/oc-ii 前身是uc/os,最早于1992年由美国嵌入式系统专家设计开发,目前uc/os-iii也已面世。uc/osii具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可以编译至2KB。UC/OS-II已经移植到了几乎所有知名的CPU上,uc/os-ii也是在国内研究最为广泛的嵌入式实时操作系统之一
    FreeRTOS 是一个使用迷你内核的小型嵌入式实时操作系统。由于嵌入式实时操作系统需占用一定的系统资源(尤其是RAM资源),只有QNX、uc/os-ii、freeRTOS等少数实时操作系统能在小RAM单片机上运行。相对QNX、uc/os-ii等商业操作系统,FreeRTOS操作系统是完全开源的操作系统,具有代码公开、可移植、可裁剪、调度策略灵活的特点,可以方便地移植到各种单片机上运行
    RT-Thread 我国在对嵌入式实时操作系统的研发中也取得了一定的成果。由中国开源社区主导开发的RT-Thread,不仅包含一个实时操作系统内核,更有完整的应用生态体系,包含了与嵌入式实时操作系统相关的各个组件:TCP/IP协议栈,文件系统,Libc接口,图形用户界面等,具有相当大的发展潜力
    MQX 最早源于位于加拿大渥太华市的一家公司。MQX在加载了系统内核、中断管理系统、信号量、队列及存储管理系统等基本服务的情况下,仅占用6KB的ROM存储空间,硬件资源开销较小。MQX同UC/OS-II规模相近,但无论从用户体验上还是系统服务的丰富程度上都远超uc/os-ii

    8. 常见的分时操作系统有哪些?

    比如常见的linux和windows都是属于分时操作系统。

     

     

    展开全文
  • 实时操作系统和非实时操作系统

    千次阅读 2019-04-07 20:12:20
    1.实时操作系统 实时操作系统,当外界事件和数据产生时,系统能以足够快的速度予以处理,其处理结果能在规定的时间内控制生产结果或对系统做出响应,并控制所有实时任务协调一致运行的操作系统。一般分为硬实时和软...

    1.实时操作系统
    实时操作系统,当外界事件和数据产生时,系统能以足够快的速度予以处理,其处理结果能在规定的时间内控制生产结果或对系统做出响应,并控制所有实时任务协调一致运行的操作系统。一般分为硬实时和软实时,硬实时指的是在规定的时间内必须完成任务操作,在操作系统设计时保证;软实时只要按照任务的优先级,尽可能地完成任务操作即可。
    (1)多任务
    系统提供了多任务运行机制,系统内核通过调度让CPU运行许多外部事件线程,实现任务的并发性。
    (2)抢占调度
    系统具有继承的优先级和抢占式内核属性,在执行某一项任务的时候,若有更高优先级的任务进入可执行态,系统将会立即抢占当前CPU资源,退出低优先级任务,运行高优先级任务。
    (3)任务间的通讯和同步
    实时系统中,可能存在许多任务作为一个应用的部分执行,系统必须提供这些任务间的通讯机制,有效地共享不可抢占的资源或者临界区所需要的同步机制。
    (4)任务与中断之间的通信
    在真实应用场景中,事件通常作为中断的方式到来,为了系统调度的稳定、提供有效的排队和减小中断服务程序的开销,通常希望在任务级线程处理相应工作,所以需要任务与中断之间的通信。


    2.分时操作系统
    计算机同时为多个用户任务服务的操作系统,操作系统以时间片轮询的机制,将系统处理时间与内存按照一定是时间间隔,轮流执行任务,实现任务的调度和执行。由于间隔时间很短,每个用户的任务感觉独占计算机一样,保证用户任务的响应和执行。
    (1)交互性
    用户和系统进行人机对话。
    (2)多路性
    多用户在各自终端上使用同一个CPU。
    (3)独立性
    用户可以独立操作,互不干扰,互不混淆。
    (4)及时性
    用户在短时间内可以得到系统的及时应答。

    展开全文
  • 对于实时操作系统(RTOS)和非实时操作系统,你能分别列举出来多少? 实时操作系统:uCOS/VxWorks/RTLinux 非实时操作系统:Linux/Windows/OSX 我也只能列举出来这么多了。 重点不在这里,重点在于他们之间的区别...
  • 对于实时操作系统(RTOS)和非实时操作系统,你能分别列举出来多少? 实时操作系统:uCOS/VxWorks/RTLinux 非实时操作系统:Linux/Windows/OSX 我也只能列举出来这么多了。 重点不在这里,重点在于他们之间的区别...
  • 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有...
  • 而作为一种实时操作系统(本文对实时操作系统特性的讨论仅限于强实时操作系统,下面提到的实时操作系统也均指强实时操 作系统),它与通用操作系统(如Windows、Unix、Linux等)相比有很大的差别,下面我们将通过...
  • 1. 什么是实时操作系统?       实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速...
  • 实时操作系统概述 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时...
  • 实时操作系统是抢占式操作系统,如果你的进程优先级高,则肯定第一个得到执行,直至结束执行,中间的时间通过CPU频率等可以推算出来。    其实就是要求你对他的请求,他得在一定时限内给你结果,而不能因为系统忙...
  • 操作系统——实时操作系统和分时操作系统分时操作系统1.1概念1.2特点实时操作系统1.1概念1.2特点 分时操作系统 1.1概念 分时操作系统: 多个人同时连在计算机上,每个人看作是另外一个I/O终端,每个用户拥有一个...
  • 实时操作系统简介

    2020-09-02 22:39:46
    前面几篇文章我们分别介绍了裸机系统和操作系统的相关概念,这里开始的几篇文章我们着重介绍下嵌入式的实时操作系统,嵌入式实时操作系统有很多种比如:ucos,rt-thread,Vxworks等 一、实时操作系统的概念 实时操作...
  • 对于实时操作系统(RTOS)和非实时操作系统,你能分别列举出来多少? 实时操作系统:uCOS/VxWorks/RTLinux 非实时操作系统:Linux/Windows/OSX 我也只能列举出来这么多了。 重点不在这里,重点在于他们之间的区别...
  • 本文是笔者在学习嵌入式实时操作系统VxWorks时的学习笔记和实验报告。
  • 1.linux分时操作系统和RTOS(实时操作系统) 我们知道,相对比vxworks,linux内核属于非实时操作系统,原因主要是: (1)实时任务抢占时间是不可预期的。 (2)为什么抢占是不可预期的呢?这涉及到内核中的抢占点...
  • 实时操作系统和通用操作系统区别

    千次阅读 2019-01-10 10:57:36
    1. 实时操作系统简介 什么是实时操作系统? 一般而言,操作系统的任务是管理计算机的硬件资源和应用程序。 实时操作系统会执行这些任务,但是运行时间精度和可靠度都极高。 在实际应用中,有的系统失常代价高昂,...
  • 实时操作系统与分时操作系统

    千次阅读 2019-05-20 17:34:03
    1. 什么是实时操作系统实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调...
  • 原博地址:http://blog.csdn.net/u013752202/article/details/53649047对于实时操作系统(RTOS)和非实时操作系统,你能分别列举出来多少? 实时操作系统:uCOS/VxWorks/RTLinux 非实时操作系统:Linux/Windows/OSX ...
  • 分时操作系统与实时操作系统

    千次阅读 2017-03-13 20:11:31
    分时操作系统与实时操作系统 实时操作系统 实时操作系统  英文称Real Time Operating System,简称RTOS。  1.实时操作系统定义  实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,065
精华内容 10,026
关键字:

实时操作系统