精华内容
下载资源
问答
  • RTOS与linux区别

    万次阅读 2016-09-20 17:40:27
    一句话解释: linux是分时系统,不过可以通过配置内核改成实时。 嵌入式Linux 系统是在原来Linux的发行版本之上进行了优化和改进的,用于... 英文称Real Time Operating System,简称RTOS。  1.实时操作系统定义

    一句话解释:
    linux是分时系统,不过可以通过配置内核改成实时。
    嵌入式Linux 系统是在原来Linux的发行版本之上进行了优化和改进的,用于嵌入式的移动终端等设备的嵌入式Linux系统现在基本上都是实时性较高的,但有些LiNUX系统还是分时系统,


    实时操作系统  实时操作系统
      英文称Real Time Operating System,简称RTOS。
      1.实时操作系统定义
       实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系 统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求 在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改 变之后就可以变成实时操作系统。
      实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如,可以为确保生产线上的机器人能获取某个物 体而设计一个操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,生产线仍然 能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。一些实时操作系统是为特定的应用设计的,另一些是通用的。 一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。
      2.实时操作系统的特征
      1)多任务;
      2)有线程优先级
      3)多种中断级别
      小的嵌入式操作系统经常需要实时操作系统,内核要满足实时操作系统的要求。
      3.实时操作系统的相关概念
      (1)基本概念
      代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入;
      资源:任何为任务所占用的实体;
      共享资源:可以被一个以上任务使用的资源;
      任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:休眠态,就绪态,运行态,挂起态,被中断态;
      任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;
      内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核于可剥夺型内核;
      调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法;
      (2)关于优先级的问题
      任务优先级:分为优先级不可改变的静态优先级和优先级可改变的动态优先级;
      优先级反转:优先级反转问题是实时系统中出现最多的问题。共享资源的分配可导致优先级低的任务先运行,优先级高的任务后运行。解决的办法是使用“优先级继承”算法来临时改变任务优先级,以遏制优先级反转。
      (3)互斥
      虽然共享数据区简化了任务之间的信息交换,但是必须保证每个任务在处理共享共享数据时的排他性。使之满足互斥条件的一般方法有:关中断,使用测试并置位指令(TAS),禁止做任务切换,利用信号量。
      因为采用实时操作系统的意义就在于能够及时处理各种突发的事件,即处理各种中断,因而衡量嵌入式实时操作系统的最主要、最具有代表性的性能指标参数无疑应该是中断响应时间了。中断响应时间通常被定义为:
      中断响应时间=中断延迟时间+保存CPU状态的时间+该内核的ISR进入函数的执行时间[2]。

      中断延迟时间=MAX(关中断的最长时间,最长指令时间) + 开始执行ISR的第一条指令的时间[2]。

    分时操作系统  【词语】:分时操作系统
      【注音】:fēn shí cāo zuò xì tǒng
      【英文】:Time-sharing Operating System
       【释义】:使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空 间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的 使用率。例如UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操作。
      产生分时系统是为了满足用户需求所形成的一种新型 OS 。它与多道批处理系统之间,有着截然不同的性能差别。用户的需求具体表现在以下几个方面: 人—机交互 共享主机 便于用户上机
      分时系统的基本思想
      时间片 :是把计算机的系统资源(尤其是 CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。
      分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分给各联机作业使用。
      分时操作系统:是一种联机的多用户交互式的操作系统。一般采用时间片轮转的方式使一台计算机为多个终端服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。
      设计目标: 对用户的请求及时响应,并在可能条件下尽量提高系统资源的利用率。
      适合办公自动化、教学及事务处理等要求人机会话的场合。
      工作方式:
      一台主机连接了若干个终端;每个终端有一个用户在使用;交互式地向系统提出命令请求;系统接受每个用户的命令;采用时间片轮转方式处理服务请求;并通过交互方式在终端上向用户显示结果;用户根据上步结果发出下道命令
      分时系统实现中的关键问题:及时接收。及时处理。
      特征:
      交互性:用户与系统进行人机对话。
      多路性:多用户同时在各自终端上使用同一CPU。
      独立性:用户可彼此独立操作,互不干扰,互不混淆。
      及时性:用户在短时间内可得到系统的及时回答。

      影响响应时间的因素:终端数目多少、时间片的大小、信息交换量、信息交换速度。

    例子:
    分时——现在流行的PC,服务器都是采用这种运行模式,即把CPU的运行分成若干时间片分别处理不同的运算请求
    实时——一般用于单片机上,比如电梯的上下控制中,对于按键等动作要求进行实时处理

    linux是分时系统,不过可以改成实时的如:UCOS就是linux修改而来的实时系统,至于他们的区别,下以引用百度中的类似回答,个人感觉简单明了:“分时系统是 一个系统可以同时为两个或两个以上的账户服务!
    实时系统 是能立即对指令做出反应的操作系统!微软的常见系统不能吧!而且还死机!战斗机中的操作系统就是实时的系统,想想如果别人打仗时战斗机中的电脑反应的是飞行员上一条指令或死机了,谁还敢开这架飞机呢?”

    以下对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux–新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。
      近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。
      1、基本特征概述
      QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1、(程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。
      LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。
      RT-Linux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。
      KURT-Linux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出”严格(firm)”实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的”严格的”实时系统。
      2、体系结构异同
      实时系统的实现多为微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展。微内核结构系统中,OS服务模块在独立的地址空间 运行,所以,不同模块的内存错误便被隔离开来。但它也有弱点,进程间通信和上下文切换的开销大大增加。相对于大型集成化内核系统来说,它必须靠更多地进行 系统调用来完成相同的任务。
      QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。
      LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的”Galaxy”技术将其从大型集成化内核改造成微内核,这一技术将在 LynxOS 3.0中引入。新的28Kb微内核提供以下服务:核心启动和停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。
      RT-Linux实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(ISR)和Linux进 程。原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于微内核和大型内核,属于实时 EXE(realtime executive)体系结构。其可靠性和可维护性对电信服务系统来说都不够理想。
      KURT-Linux核心包括两个部分:内核和实时模块。内核负责实时事件的调度,实时模块为用户进程提供特定的实时服务。它不属于微内核结构。
      3、调度策略分析
      任务调度策略是直接影响实时性能的因素。尽管调度算法多种多样,但大多由单调率算法(RM)和最早期限优先算法(EDF)变化而来。前者主要用 于静态周期任务的调度,后者主要用于动态调度,在不同的系统状态下两种算法各有优劣。在商业产品中采用的实际策略常常是各种因素的折中。
      QNX 提供POSIX.1b标准进程调度:
      32个进程优先级;
      抢占式的、基于优先级的正文切换;
      可选调度策略:FIFO、轮转策略、适应性策略。
      LynxOS 其调度策略为:
      LynxOS支持线程概念,提供256个全局用户线程优先级;
      硬实时优先级调度:在每个优先级上实现了轮转调度、定量调度和FIFO调度策略;
      快速正文切换和阻塞时间短;
      抢占式的RTOS核心。
      RT-Linux
      在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低,随时会被高优先级任务抢占。
      用户可自行编写调度程序,它们可实现为可加载的核心模块;
      已实现的调度程序有:基于优先级的抢占式调度和EDF调度;
      基于优先级的调度使用”单调率算法”,它直接支持周期任务。
      KURT-Linux
      可运行在两种状态之下:通常状态和实时状态。在通常状态下,所有进程都可以运行,但某些核心服务将带来中断屏蔽的不可预期性。实时模式只允许实时进程运行。
      支持FIFO调度策略、轮转调度策略和UNIX分时调度策略;
      增加了SCHED-KURT调度策略,这是一种静态调度策略,使用一个特殊的调度文件记录预先定义好的待调度进程的参数。
      从以上简略描述可以看出,前三种调度策略实现较规范,特别是两种商业RTOS,遵循或部分遵循POSIX.1b实时调度标准。
     4、操作系统服务比较
      4.1 QNX的系统服务:
      多种资源管理器,包括各种文件系统和设备管理,支持多个文件系统同时运行,包括提供完全POSIX.1及UNIX语法的POSIX文件系统,支 持多种闪存设备的嵌入式文件系统,支持对多种文件服务器(如Windows NT/95、LAN Manager等)的透明访问的SMB文件系统、DOS文件系统、CDROM文件系统等。
      设备管理。在进程和终端设备间提供大吞吐量、低开销接口服务。
      图形/窗口支持。包括QNX Windows、X Window System for QNX、对MS Windows NT/95和X Window系统的远程图形连接。
      TCP/IP for QNX。
      高性能、容错型QNX网络–FLEET,使得所有连入网络的计算机变成一个逻辑上的超级计算机。
      透明的分布式处理。FLEET网络处理与消息传递和进程管理原语的集成,将本地和网络IPC统一起来,使得网络对IPC而言是透明的。
      4.2 LynxOS的系统服务:
      网络和通信。由于使用UNIX/POSIX API,Lynx很适合于数据通信和Internet应用。又由于系统的开放性,网络软件很容易移植到Lynx上。同样,Lynx亦提供关键的电话通信协议,使之适用于电信系统的基础架构、操作和多媒体应用。
      TCP/IP协议栈。Lynx自带优化的TCP/IP协议栈,提供高性能服务,如TCP头预测、高级路由算法、IP级多址广播和链路级高速缓冲。
      Internet工具。包括,Telnet、Ftp、tftp、PPP、SLIP、实时调度的嵌入式Java虚拟机、嵌入式HTTP server、bootp、ARP/RARP、DNS域名服务、电子邮件、Perl、电话通信协议等。
      SVR3流。LynxOS流机制为开发和移植基于流的驱动程序和应用提供了核心支持。
      文件系统。实时的类UNIX层次结构文件系统:连续结构文件、带缓冲/不带缓冲、原始分区和原始设备访问。
      基于Motif的图形用户接口。
      分布式计算资源。SCMP与VME总线上的多处理结合,PCI桥服务、CompactPCI Hot-swap Services、Lynx/HA-DDS分布式数据系统。
      4.3 Linux的系统服务:
      近来,很多基于Linux的实时应用被开发出来,它具有成熟和丰富的资源。
      UNIX用户的开发工具和应用软件都被移植到Linux上。
      TCP/IP网络协议。
      各种Internet客户/服务端软件。
      X Window。
      C/C++、Java等语言编译器。
      上述系统的共同点是都提供了图形界面、各种网络支持等必要工具。QNX是一个更加符合传统”分布式”概念的操作系统,目标是把整个局域网变成一 个大的超级计算机,使得网络的存在对用户透明,文件系统提供的服务也很丰富。但是,分布式的程度越高也意味着系统开销的增大。LynxOS则着意于提供丰 富的网络服务,而Linux的最大优势则是经济,还可以通过新闻组或mailing
      5、系统开放性对比
      对于很多大、中型系统来说,大多数软件都是为UNIX平台编写的,因此RTOS是否提供POSIX/UNIX API就显得很重要。
      5.1 QNX的开放性
      QNX的POSIX兼容性和其提供的UNIX特色的编译器、调试器、X Window和TCP/IP都是UNIX程序员所熟悉的。
      支持多种CPU:AMD ElanSC300/310/400/410、Am386 DE/SE、Cyrix MediaGX、x86处理器(386以上)、Pentium系列、STMicroelectronics 的STPC。
      多种总线:CompactPCI、EISA、ISA 、MPE (RadiSys)、STD、STD 32、PC/104、PC/104-Plus、PCI、PCMCIA、VESA、VME。
      各种外设:多种SCSI设备、IDE/EIDE驱动器、10M/100M以太网卡、Token Ring网卡、FDDI接口卡、多种PCMCIA设备、闪存、声卡等等。
      5.2 LynxOS的开放性
      POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX 1003或用于UNIX的程序很容易移植到LynxOS上。
      支持多种CPU主板:包括CompactPCI(6U/3U)和标准PCI、VME/Eurobus、PC/104和PC/AT硬件等。
      各种外设适配器:10/100BaseT Ethernet、SCSI接口、单/多通道串行控制器、单/双工并行口、时钟、计时器、IDE接口、高分辨率显示适配器等。
      5.3 Linux的开放性
      用户可得到UNIX的全部开发工具。
      可使用市场上便宜又常见的硬件。
      通过分析,可以看到以上系统各有优势,因此,在平台搭造过程中,用户应根据自己的实际需要并结合性能价格比进行选择。

    展开全文
  • 可我对这种操作系统的界限还是很模糊(当然我知道Linux,功能更强大),我想要的答案是,为啥在Linux功能这么强大的情况下,RTOS还能有一席之地,我想这也是他们的主要区别。在经过查阅资料后,我想我得到了答案

    看了不少博客,浏览量最多的也是详细的介绍了这两种系统,可我对这种操作系统的界限还是很模糊(当然我知道Linux,功能更强大),我想要的答案是,为啥在Linux功能这么强大的情况下,RTOS还能有一席之地,我想这也是他们的主要区别。在经过查阅资料后,我想我得到了答案

    区别

    你能说Linux 与 RTOS的区别是,Linux功能更强大,支持内存管理,文件系统,网络等等么?,既如此我还要RTOS干嘛,我想实时性 和 非实时性才是两者的最本质的区别。

    实时操作系统

    又称即时操作系统,它会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础。实时操作系统与一般的操作系统相比,最大的特色就是“实时性”,如果有一个任务需要执行,实时操作系统会马上(在较短时间内)执行该任务,不会有较长的延时。这种特性保证了各个任务的及时执行。(而Linux则是在保证系统性能的前提下,尽快去处理任务)
    对于实时操作系统有一些常见的误区,比如:速度快,吞吐量大,代码精简,代码规模小等等。其实这些都不算是实时操作系统的特性,别的操作系统也可以做到。
    只有“实时性”才是RTOS的最大特征,其它的都不算是。
    (而且一个好的实时性系统的 在保持良好的性能的同时,往往会牺牲掉系统的吞吐量
    实时操作系统中都要包含一个实时任务调度器,这个任务调度器与其它操作系统的最大不同是强调:严格按照优先级来分配CPU时间,并且时间片轮转不是实时调度器的一个必选项
    提出实时操作系统的概念,可以至少解决两个问题:一个是早期的CPU任务切换的开销太大,实时调度器可以避免任务频繁切换导致CPU时间的浪费;另一个是在一些特殊的应用场景中,必须要保证重要的任务优先被执行

    Linux为什么不能称为实时操作系统?

    Linux操作系统在2.5版本以后改进使得进程可抢占,但Linux并不能保证可预见性和确定性。Linux中一个最大的问题是优先级倒置现象。比如,一个当一个低优先级进程在临界区时,高优先级进程必须等待低优先级进程;或者,一个低优先级中断服务进程正在运行,那高优先级进程必须等待。这种现象会造成极大不确定性。还有就是,Linux使用的自旋锁。自旋锁会导致一个进程不停的进行自循环,并持续占有cpu资源,在多核处理器上,这会导致某个核心上的进程无故停等。
    值得一说的是,linux中虽然也存在优先级调度,但在linux中高优先级不是一定会优先运行,且linux中任务的优先级是会发生改变的,如下所述:
    我们一般把频繁等待的线程称之为IO密集型线程,而把很少等待的线程称为CPU密集型线程,而把很少等待的线程称为CPU密集型线程, IO密集型线程总是比CPU密集型线程容易得到优先级的提升。
    在优先级调度下,存在一种饿死的现象,一个线程被饿死,是说的优先较低,在它执行前总有比它优先级高的任务要执行,导致它无法执行。为了避免饿死现象,调度系统常常会逐步提升那些等待了过长时间的得不到执行的线程的优先级。

    所以虽然linux的实时性有所提高,但它并不是实时操作系统

    总结

    实时操作系统设计以实时性为前提进行设计,高优先级任务一定会优先执行。实时操作系统的主要目标是创造一个可预见的、确定的环境。我对这句话的理解是,所有的任务从它被创建开始它就是可预见的,比如它必须在截止时间内返回结果。一个实时操作系统可以保证完成计算的最坏情况下的时间是预先已知的,并且完成计算的时间不会超过限制。所以可预见性和确定性是实时操作系统最突出的特点。
    而非实时操作系统以保证系统性能为前提进行设计。
    举个例子
    一个非实时操作系统完成一个计算任务在99.9%的情况下需要250微秒,但在0.1%的情况下需要2毫秒才能完成。这对实时操作系统而言是不可接受的。

    最后再提一点

    相比于Linux, RT-Linux在实时性方面进行了改进,它是在Linux的基础上,提出了一个RT补丁,加入到Linux,将Linux改进成实时操作系统。
    它的主要工作就是对Linux的优先级倒置、自旋锁等问题,进行改进,达到实时操作系统的要求。
    线程中断
    主要解决因为处理中断导致的优先级倒置问题。 在Linux正常的中断请求处理中,像硬件中断等设备服务可能会导致所有任务的大延迟。
    RT-Linux的改进在,当一个设备驱动提交一个IRQ,就会产生一个线程专门服务该中断请求。每一种中断请求对应一个线程。当一个线程在服务一个中断请求时,该中断行将被屏蔽,不再接收中断请求。线程会执行一下操作:

    while(!kthread_should_stop())
    {
        set_current_state(TASK_INTERRUPTIBLE);
        do_hardirq(desc);
        //让出cpu
        cond_resched();
        //进程调度
        schedule();
    }
    

    此时,中断并没有被处理,但由于该中断行已经被屏蔽,因此该中断不会再次触发。当中断线程被调度时,才会真正处理中断。这样有中断产生的优先级倒置时间被缩短为屏蔽中断行+唤醒中断线程。当然,这种改进只是对部分中断进行,并不是全部中断都采用这种方式。
    说到中断,这里在记录一个知识点,现在的Linux版本已经不支持中断嵌套了,这里中断嵌套说的是中断上半部,因为在中断上半部执行的时候,会屏蔽掉一切中断(这也是不能保证实时性的原因之一)

    睡眠自旋锁
    自旋锁可能会导致大量的资源浪费,并产生不确定性。RT-Linux的改进是将自旋锁换成睡眠自旋锁(信号量)当然这样的话,中断时候就得注意了)。这样如果一个线程尝试访问另一个进程正在访问临界区时,它就会被调度出去并进入睡眠状态,直到该进程释放临界区。
    当然这种替代并不是完全进行,在某些情况下,还是会用自旋锁。比如,当切换进程的代价大于停等的代价时。

    优先级继承
    Linux还有可能会导致一种无限制的优先级倒置。比如,三个进程:A(优先级高)、B(优先级中)、C(优先级低)。首先,C进程开始执行,然后进程A抢占后开始执行。此时,进程A需要访问一个进程C持有的资源,然后进程A睡眠,进程C继续执行。此时,进程B抢占cpu,开始执行。问题在于,优先级最高的进程A要一直睡眠,直到进程B执行完,进程C执行完并释放资源。这有可能会引发无限制的停等。
    RT-Linux在这方面的改进是,采用了优先级继承的方式。当一个线程被阻塞于一个资源,而该资源被一个低优先级的线程持有,则该低优先级线程会继承被阻塞线程的优先级。这样低优先级的线程就不会被其他较低优先级线程抢占,就会极大的减少优先级倒置的时间。(当然这明显不是完全解决,毕竟进程C还是会比进程A先执行

    展开全文
  • 自己根据自己掌握的知识写得一个小对比,比较适合初级入门者,大神勿喷!
  • RTOS系统与Linux系统的区别

    万次阅读 2017-07-08 10:37:31
    Linux是时分系统,不过可以通过配置内核改成实时系统 实时操作系统  英文称Real Time Operating System,简称RTOS。  1.实时操作系统定义  实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受...

    RTOS是实时操作系统

    Linux是时分系统,不过可以通过配置内核改成实时系统


    实时操作系统
      英文称Real Time Operating System,简称RTOS。

      1.实时操作系统定义
       实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系 统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求 在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改 变之后就可以变成实时操作系统。
      实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如,可以为确保生产线上的机器人能获取某个物 体而设计一个操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,生产线仍然 能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。一些实时操作系统是为特定的应用设计的,另一些是通用的。 一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。
      2.实时操作系统的特征
      1)多任务;
      2)有线程优先级
      3)多种中断级别
      小的嵌入式操作系统经常需要实时操作系统,内核要满足实时操作系统的要求。
      3.实时操作系统的相关概念
      (1)基本概念
      代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入;
      资源:任何为任务所占用的实体;
      共享资源:可以被一个以上任务使用的资源;
      任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:休眠态,就绪态,运行态,挂起态,被中断态;
      任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;
      内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核于可剥夺型内核;
      调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法;
      (2)关于优先级的问题
      任务优先级:分为优先级不可改变的静态优先级和优先级可改变的动态优先级;
      优先级反转:优先级反转问题是实时系统中出现最多的问题。共享资源的分配可导致优先级低的任务先运行,优先级高的任务后运行。解决的办法是使用“优先级继承”算法来临时改变任务优先级,以遏制优先级反转。
      (3)互斥
      虽然共享数据区简化了任务之间的信息交换,但是必须保证每个任务在处理共享共享数据时的排他性。使之满足互斥条件的一般方法有:关中断,使用测试并置位指令(TAS),禁止做任务切换,利用信号量。
      因为采用实时操作系统的意义就在于能够及时处理各种突发的事件,即处理各种中断,因而衡量嵌入式实时操作系统的最主要、最具有代表性的性能指标参数无疑应该是中断响应时间了。中断响应时间通常被定义为:
      中断响应时间=中断延迟时间+保存CPU状态的时间+该内核的ISR进入函数的执行时间[2]。
      中断延迟时间=MAX(关中断的最长时间,最长指令时间) + 开始执行ISR的第一条指令的时间[2]。



    分时操作系统  
      英文:Time-sharing Operating System
       释义:使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空 间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的 使用率。例如UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操作。
      产生分时系统是为了满足用户需求所形成的一种新型 OS 。它与多道批处理系统之间,有着截然不同的性能差别。用户的需求具体表现在以下几个方面: 人—机交互 共享主机 便于用户上机
      分时系统的基本思想
      时间片 :是把计算机的系统资源(尤其是 CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。
      分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分给各联机作业使用。
      分时操作系统:是一种联机的多用户交互式的操作系统。一般采用时间片轮转的方式使一台计算机为多个终端服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。
      设计目标: 对用户的请求及时响应,并在可能条件下尽量提高系统资源的利用率。
      工作方式:
      一台主机连接了若干个终端;每个终端有一个用户在使用;交互式地向系统提出命令请求;系统接受每个用户的命令;采用时间片轮转方式处理服务请求;并通过交互方式在终端上向用户显示结果;用户根据上步结果发出下道命令
      分时系统实现中的关键问题:及时接收。及时处理。
      特征:
      交互性:用户与系统进行人机对话。
      多路性:多用户同时在各自终端上使用同一CPU。
      独立性:用户可彼此独立操作,互不干扰,互不混淆。
      及时性:用户在短时间内可得到系统的及时回答。
      影响响应时间的因素:终端数目多少、时间片的大小、信息交换量、信息交换速度。


    例子:

    分时—— 现在流行的PC,服务器都是采用这种运行模式,即把CPU的运行分成若干时间片分别处理不同的运算请求
    实时—— 一般用于单片机上,比如电梯的上下控制中,对于按键等动作要求进行实时处理


    以下对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时linux--新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。

      近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。

      1、基本特征概述

      QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1、(程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。
      LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。
      RT-Linux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。
      KURT-Linux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出"严格(firm)"实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的"严格的"实时系统。

      2、体系结构异同

      实时系统的实现多为微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展。微内核结构系统中,OS服务模块在独立的地址空间 运行,所以,不同模块的内存错误便被隔离开来。但它也有弱点,进程间通信和上下文切换的开销大大增加。相对于大型集成化内核系统来说,它必须靠更多地进行 系统调用来完成相同的任务。

      QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

      LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的"Galaxy"技术将其从大型集成化内核改造成微内核,这一技术将在 LynxOS 3.0中引入。新的28Kb微内核提供以下服务:核心启动和停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。

      RT-Linux实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(ISR)和Linux进 程。原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于微内核和大型内核,属于实时 EXE(realtime executive)体系结构。其可靠性和可维护性对电信服务系统来说都不够理想。

      KURT-Linux核心包括两个部分:内核和实时模块。内核负责实时事件的调度,实时模块为用户进程提供特定的实时服务。它不属于微内核结构。

      3、调度策略分析

      任务调度策略是直接影响实时性能的因素。尽管调度算法多种多样,但大多由单调率算法(RM)和最早期限优先算法(EDF)变化而来。前者主要用 于静态周期任务的调度,后者主要用于动态调度,在不同的系统状态下两种算法各有优劣。在商业产品中采用的实际策略常常是各种因素的折中。

      QNX 提供POSIX.1b标准进程调度:
      32个进程优先级;
      抢占式的、基于优先级的正文切换;
      可选调度策略:FIFO、轮转策略、适应性策略。
      LynxOS 其调度策略为:
      LynxOS支持线程概念,提供256个全局用户线程优先级;
      硬实时优先级调度:在每个优先级上实现了轮转调度、定量调度和FIFO调度策略;
      快速正文切换和阻塞时间短;
      抢占式的RTOS核心。

      RT-Linux
      在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低,随时会被高优先级任务抢占。
      用户可自行编写调度程序,它们可实现为可加载的核心模块;
      已实现的调度程序有:基于优先级的抢占式调度和EDF调度;
      基于优先级的调度使用"单调率算法",它直接支持周期任务。

      KURT-Linux
      可运行在两种状态之下:通常状态和实时状态。在通常状态下,所有进程都可以运行,但某些核心服务将带来中断屏蔽的不可预期性。实时模式只允许实时进程运行。
      支持FIFO调度策略、轮转调度策略和UNIX分时调度策略;
      增加了SCHED-KURT调度策略,这是一种静态调度策略,使用一个特殊的调度文件记录预先定义好的待调度进程的参数。

      从以上简略描述可以看出,前三种调度策略实现较规范,特别是两种商业RTOS,遵循或部分遵循POSIX.1b实时调度标准。

     4、操作系统服务比较

      4.1 QNX的系统服务:

      多种资源管理器,包括各种文件系统和设备管理,支持多个文件系统同时运行,包括提供完全POSIX.1及UNIX语法的POSIX文件系统,支 持多种闪存设备的嵌入式文件系统,支持对多种文件服务器(如Windows NT/95、LAN Manager等)的透明访问的SMB文件系统、DOS文件系统、CDROM文件系统等。
      设备管理。在进程和终端设备间提供大吞吐量、低开销接口服务。
      图形/窗口支持。包括QNX Windows、X Window System for QNX、对MS Windows NT/95和X Window系统的远程图形连接。
      TCP/IP for QNX。
      高性能、容错型QNX网络--FLEET,使得所有连入网络的计算机变成一个逻辑上的超级计算机。
      透明的分布式处理。FLEET网络处理与消息传递和进程管理原语的集成,将本地和网络IPC统一起来,使得网络对IPC而言是透明的。

      4.2 LynxOS的系统服务:

      网络和通信。由于使用UNIX/POSIX API,Lynx很适合于数据通信和Internet应用。又由于系统的开放性,网络软件很容易移植到Lynx上。同样,Lynx亦提供关键的电话通信协议,使之适用于电信系统的基础架构、操作和多媒体应用。
      TCP/IP协议栈。Lynx自带优化的TCP/IP协议栈,提供高性能服务,如TCP头预测、高级路由算法、IP级多址广播和链路级高速缓冲。
      Internet工具。包括,Telnet、Ftp、tftp、PPP、SLIP、实时调度的嵌入式Java虚拟机、嵌入式HTTP server、bootp、ARP/RARP、DNS域名服务、电子邮件、Perl、电话通信协议等。
      SVR3流。LynxOS流机制为开发和移植基于流的驱动程序和应用提供了核心支持。
      文件系统。实时的类UNIX层次结构文件系统:连续结构文件、带缓冲/不带缓冲、原始分区和原始设备访问。
      基于Motif的图形用户接口。
      分布式计算资源。SCMP与VME总线上的多处理结合,PCI桥服务、CompactPCI Hot-swap Services、Lynx/HA-DDS分布式数据系统。

      4.3 Linux的系统服务:

      近来,很多基于Linux的实时应用被开发出来,它具有成熟和丰富的资源。

      UNIX用户的开发工具和应用软件都被移植到Linux上。
      TCP/IP网络协议。
      各种Internet客户/服务端软件。
      X Window。
      C/C++、Java等语言编译器。

      上述系统的共同点是都提供了图形界面、各种网络支持等必要工具。QNX是一个更加符合传统"分布式"概念的操作系统,目标是把整个局域网变成一 个大的超级计算机,使得网络的存在对用户透明,文件系统提供的服务也很丰富。但是,分布式的程度越高也意味着系统开销的增大。LynxOS则着意于提供丰 富的网络服务,而Linux的最大优势则是经济,还可以通过新闻组或mailing

      5、系统开放性对比

      对于很多大、中型系统来说,大多数软件都是为UNIX平台编写的,因此RTOS是否提供POSIX/UNIX API就显得很重要。

      5.1 QNX的开放性

      QNX的POSIX兼容性和其提供的UNIX特色的编译器、调试器、X Window和TCP/IP都是UNIX程序员所熟悉的。
      支持多种CPU:AMD ElanSC300/310/400/410、Am386 DE/SE、Cyrix MediaGX、x86处理器(386以上)、Pentium系列、STMicroelectronics 的STPC。
      多种总线:CompactPCI、EISA、ISA 、MPE (RadiSys)、STD、STD 32、PC/104、PC/104-Plus、PCI、PCMCIA、VESA、VME。
      各种外设:多种SCSI设备、IDE/EIDE驱动器、10M/100M以太网卡、Token Ring网卡、FDDI接口卡、多种PCMCIA设备、闪存、声卡等等。

      5.2 LynxOS的开放性

      POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX 1003或用于UNIX的程序很容易移植到LynxOS上。
      支持多种CPU主板:包括CompactPCI(6U/3U)和标准PCI、VME/Eurobus、PC/104和PC/AT硬件等。
      各种外设适配器:10/100BaseT Ethernet、SCSI接口、单/多通道串行控制器、单/双工并行口、时钟、计时器、IDE接口、高分辨率显示适配器等。

      5.3 Linux的开放性

      用户可得到UNIX的全部开发工具。
      可使用市场上便宜又常见的硬件。



    展开全文
  • LinuxRTOS 有什么区别

    千次阅读 2020-10-30 21:00:00
    关注+星标公众号,不错过精彩内容作者 | arvin来源 | CSDN(ID:CSDNnews)你知道哪个操作系统是世界上最受欢迎的操作系统吗?是Linux!它一般运行于服务器和超级计算...

    关注+星标公众,不错过精彩内容

    作者 | arvin

    来源 | CSDN(ID:CSDNnews)

    你知道哪个操作系统是世界上最受欢迎的操作系统吗?是Linux!它一般运行于服务器和超级计算机上,我们日常访问网站背后的数百万台服务器很有可能运行着的操作系统就是Linux。在本文中,我们将学习Linux是什么以及它来自何处,常用的Linux知识以及想要在这个令人兴奋的平台上畅游所需的命令。

    1

    什么是Linux?

    就像Windows或Apple的mac OS一样,Linux也是一个操作系统。操作系统是管理计算机中不同设备和应用程序软件的集合。举例来说,其中的部分软件负责着关闭、启动计算机,有些软件提供与键盘和鼠标等设备交互界面等功能。

    学习使用Linux系统是熟悉命令行的绝佳机会,命令行是与计算机进行通信的最明确的方式。此外,当你尝试不同的项目时,你将会学习软件仓库,程序包管理,文件权限,用户管理等更多信息。如果你有使用npm和GitHub的经验,那么程序包管理和软件仓库可能是你已经熟悉的概念。

    2

    为什么Linux如此流行?

    Linux在企业计算,大数据和科学(联想下超级计算机)世界中独树一帜。主要原因如下

    • Linux是免费的。你不需要为使用Linux而付费,你可以自由查看,编辑和分发源代码。当你购买装有Windows或macOS的计算机时,这些操作系统的费用其实已包含在价格中。

    • Linux是灵活的。Linux被用于许多不同类型的计算机中,包括智能烤面包机和冰箱,其他物联网设备,互联网路由器,Android智能手机等,简直不胜枚举。你现在可以立即在笔记本电脑或台式机上安装Linux,而无需进行任何设置即可启动和运行!这种灵活性之所以成为可能,是因为Linux操作系统被设计为既可以简单地完成一项工作又能使用功能更完善的工具来完成工作。你可以组装一个适用于你的设备并针对你的需求进行过优化的Linux版本。

    3

    Unix哲学

    Linux是一个“类Unix”操作系统,这意味着它的大部分功能派生自Unix操作系统,并且通常遵循Unix的设计原则。理想的Unix程序是简单,模块化和可扩展的。Unix程序确实能很好地完成一些任务,并且被设计为可以与其他程序很好地协同工作,而不必依赖太多其他程序。该系统通过利用程序的协作而变得强大,而不是因为程序本身超级强大。

    关于Linux,我最喜欢的一点是一切都是文件。你在终端中运行的命令和程序被抽象成文件。用来快速打开自己喜欢的应用程序的桌面图标也被抽象成文件。系统检查应用程序更新的代码库如何处理?当然也是写在文件里。所有可能导致混乱的都可以用文件解决。Linux就是这么透明、富有动力和优雅。你可以想象一下,你可以随心设置自己的Linux安装程序,同时拥有对系统的完全控制权,只要你想要的,完全甩掉你不想要的,这非常酷炫!

    这些原则如实地说明了Linux的灵活性。怪不得它被用于许多应用中。

    4

    一切都是文件,文件是一切的最终归宿

    接下来,我将向你展示Linux中的典型系统树或文件系统层次结构。你可以在我的其他文章中(https://dev.to/emtes/learning-data-structures-trees-2p5g)阅读有关树状数据结构的更多信息。如果你要在自己的Linux系统上进行操作,你的目录可能跟我的不完全一样,可能具有更多或更少的目录。如果你想详细了解这些目录(文件夹),请在Linux终端中敲入man hier并运行该命令来阅读手册。我个人的习惯是,将喜欢的搜索引擎放在附近,以随时查找我不知道含义的新名称。

    / 这是根目录(文件夹),文件系统树(数据结构????)的根

    /bin 包含二进制文件,系统启动需要的可执行程序

    /boot 包含机器启动时所需的内核和文件

    /dev包含设备节点,与连接到计算机的物理设备一起使用的指令/接口

    /etc包含系统范围的配置文件(发音为etsy),大型软件包(如gtk,python,X11)一般也在此处存储配置文件。

    /home 包含系统用户的目录(每个用户的下载,图片等)

    /lib 包含启动计算机的核心程序所必需的共享库

    /lost+found 包含由于系统崩溃或驱动器错误而放错位置的数据

    /media 包含用于USB,CD和DVD等媒体设备的安装点

    /mnt 是临时文件系统的挂载点(例如用来安装系统的内容)

    /opt包含程序的其他程序包。在我的机器中,Google Chrome和Minecraft Launcher将文件保存在此处。

    /proc 包含与内核和正在运行的进程有关的文件

    /tmp 包含在执行程序时可能创建的临时文件

    /usr包含一个次要的只读系统树,用于与某些程序共享或用于安装在其他Linux系统上。上面存在许多目录也存在这里,并包含一些其他文件

    /var 包含随时间变化其大小发生变化的文件,例如日志和备份

    如果你经常使用Linux,可能偶尔会觉得需要在某个奇怪的目录中编辑或写入文件。我希望当你知道这些目录名称的通常含义后可以对你有所帮助!

    5

    命令行基础

    之前我说过“与Linux机器通信的最明确的方法是命令行”,我是认真的。接下来,让我们开始学习一些基本的命令行或终端命令,这些命令将使你开始熟悉系统。如果你当前使用图形用户界面进行开发,当你熟悉命令行后,你可能会发现从终端执行操作会更加快捷和安全。

    你和终端之间有一个名为shell(可以理解为操作系统内核外围的壳)的程序。Shell是解释文本命令并将其发送到操作系统以执行的程序。最常见的shell程序是Bash,大多数Linux发行版中都包含该程序。对于macOS用户来说,Apple最近将macOS的Shell程序切换为zsh。macOS实际上也是一个类似Unix的操作系统。当然你也可以随意更改shell!

    6

    终端命令的结构

    因为文章已经论述的够多了,所以我不会在这篇文章中分享太多命令,要注意的是学习模式更为重要。通常,终端命令遵循非常相似且可预测的结构:

    program_name [--optional flags] [optional arguments]

    标志(flag)可以出现在参数之后,并且通常缩短到一个字母和一个破折号,例如-f。标志是更改程序行为方式的选项。比如-h或者--help是常用的帮助性质的标志,程序收到该标志后会提供给你哪些标志可供使用的信息。

    参数通常是文件,但也可以是字符串和数字。

    你可以从系统中任何目录调用程序,也可以将系统中任何目录的文件用作参数。你可以这么做的原因是你可以在Linux中使用相对或绝对路径来命名文件。相对路径是相对于当前目录的,你可以使用.表示当前目录(下文会详述)。绝对路径从系统根目录/开始,你需要指明每一级的目录以获取所需的文件。

    7

    命令索引

    • pwd 打印你当前所在的目录(print working directory,即打印工作目录)

    • cd将目录更改为你指定的参数(changes directory)。如果不提供任何参数,则默认进入用户目录,你也可以在路径中使用~进行跳转。.和.. 分别代表当前目录和父目录,并且也是cd命令的有效的参数。

    • ls列出指定参数目录中的文件(list),默认参数为当前目录,即.。该-a标志可以非常方便地查看隐藏文件。在linux中,你可以通过以.开头的文件名称来隐藏文件以减少混乱,示例如.gitignore。

    ls -a ~/Documents
    

    8

    文件操作

    • mv 将文件或目录移动到你指定的目录(move)。

    mv fun-letter.text ~/Documents/letters/
    
    

    你还可以使用mv重命名文件和目录:

    mv fun-letter.txt hilarious-letter.txt
    
    

    其含义就是将其移动到名为新名称的位置

    • cp在指定目录中复制文件(copy)。使用-r标志递归复制目录,就像使用mv重命名文件一样,你可以使用类似的方法来重命名文件和目录。

    • mkdir创建新目录,其中新目录名称作为参数。你还可以使用-p标志在尚不存在的目录下建立新目录。

    mkdir -p code/web-stuff/html notes
    
    
    • touch 创建新文件,其中文件名称作为参数。

    你很快就会发现自己想要做更复杂的事情,因此请阅读这些命令的更多信息并保留备忘单????。

    8

    日常使用的Linux

    我不会说2020年将是Linux在台式机世界的元年,但我要分享的是,有许多Linux发行版已经能够做到开箱即用,我们可以使用非常简单的方法进行安装。如果你被Shell的功能所吸引,或者担心使用其他操作系统带来的隐私泄露风险,或者只是喜欢黑客攻击等技术,那么Linux很适合你。作为开发人员,这也是一个很棒的平台,因为它是在考虑其他开发人员的情况下制作的。Linux发行版(例如Ubuntu,Linux Mint和Fedora)可以快速启动并运行。这些发行版背后有着庞大的社区支持,社区成员很愿意帮助他人。我最后想提醒的是,记住备份所有重要的文件!

    ------------ END ------------

    推荐阅读:

    SEGGER的三款RTOS有什么特点?

    Keil MDK如何将变量存储在指定内存地址

    几款优秀的支持C、C++等多种语言的在线编译器

    关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。

    长按前往图中包含的公众号关注

    点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看

    展开全文
  • 对实时操作系统(RTOS)特性进行比较和分析。对于我们刚接触这个操作系统时一定要对他们要有一定的了解,我们先对实时操作系统来了解下,它就是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的...
  • RTLinuxRTOS基本知识

    千次阅读 2021-07-12 11:38:40
    RTLinuxRTOS基本知识
  • 嵌入式Linux的进一步发展,逐步地具备了嵌入式RTOS的一切特征:实时性及嵌入式处理器的紧密结合。 (2)开放的源代码 嵌入式Linux的另一大特点是:代码的开放性。代码的开放性是后PC时代的智能设备的多样性相...
  • 在过去的10年中,Linux成功地取代了一些最主要的传统RTOS平台,成为了各种各样的嵌入式设备和应用中首选的新的嵌入式操作系统。尽管一度曾被认为是不重要的平台,但今天嵌入式Linux已经成为主流,并引领着如下重要...
  • 实时LinuxRTOS进行比较

    千次阅读 2021-05-16 08:04:40
    对实时操作系统(RTOS)特性进行比较和分析。对于我们刚接触这个操作系统时一定要对他们要有一定的了解,我们先对实时操作系统来了解下,它就是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的...
  • freertos与linux区别

    2021-05-11 03:45:28
    freeRTOS是一个实时操作系统,主要实现了任务调度、内存管理、IPC、中断管理这几个模块,它要求快速的处理任务,gui、...Linux ,这里应该指的是 kernel 一部分,它就不同了,它是一种通用操作系统,实现的功能和实...
  • 描述体系结构异同对实时操作系统(RTOS)特性进行比较和分析。对于我们刚接触这个操作系统时一定要对他们要有一定的了解,我们先对实时操作系统来了解下,它就是指当外界事件或数据产生时,能够接受并以足够快的速度...
  • Linux平台RTOS通用仿真环境的设计实现.pdf
  • RTOSLinux的应用移植.pdf
  • 原标题:开发中用到的RTOS和TSOS有什么区别?学习操作系统原理时,会看到“时间片”、“抢占式”、“实时性”等一些专业词语,可能很多人学习之后,甚至都参加了操作系统相关开发工作的攻城狮,都还不明白这些词的...
  • 本文介绍了实时操作系统从RTOS移植到实时Linux
  • 基于信迈AM5728开发板,解释DSP,ARM,IPU等 多核之间如何通信,及相关例程开发说明。 Linux-rt/RTOS环境搭建手册说明。
  • 四种常用嵌入式RTOS比较选择四种常用嵌入式RTOS的比较选择 华南理工大学自动化系 一:综述 1.嵌入式系统嵌入式操作系统 2.嵌入式操作系统的特点 3.实时操作系统(RTOS) 4.四种常用的嵌入式RTOS 2. 嵌入式操作...
  • RTOS VxWorks应用迁移Linux的技术实现.pdf
  • 获取更多相关的笔试面试题,可收藏系列博文,持续更新中:C语言|BSP开发|嵌入式软件|Linux驱动|笔试面试题汇总帖 什么是实时操作系统(RTOS)? 什么样的系统可以被称作实时操作系统(RTOS)? Real-Time ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,321
精华内容 3,728
关键字:

rtos与linux区别

linux 订阅