怎样使用计算机实时作业系统

怎样使用计算机实时作业系统,第1张

怎样使用计算机实时作业系统

小型多功能计算机都配有实时作业系统即RTOS。这样不但提高了主机的利用率,方便了使用者使用装置,更重要的是它具有对受控装置请求服务时响应时间快的特点。

多使用者同时使用计算机的作业系统

多个人同时可以访问,比如Linux系统,多个人可以同时登陆(远端登入),网路上的计算机应该是联网使用者的计算机

什么是非抢先式实时作业系统? 什么是抢先式实时作业系统?

大体说下:一般的作业系统进行时间片轮询,换句话说,一个程式的时间片用光了就得停下来让其他的程式用,直到再次轮到这个程式的时候才能够执行,这种由系统决定中断的方式局势 抢占式 作业系统,反过来,由程式决定自己是否退出的就是 非抢占式的作业系统。
实时 *** 作是另一个概念了,一般的传统Linux并不是实时作业系统。RTOS实时作业系统的单独定义如下:
实时作业系统是保证在一定时间限制内完成特定功能的作业系统。例如,可以为确保生产线上的机器人能获取某个物体而设计一个作业系统。在“硬”实时作业系统中,如果不能在允许时间内完成使物体可达的计算,作业系统将因错误结束。在“软”实时作业系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。一些实时作业系统是为特定的应用设计的,另一些是通用的。

android things 是实时作业系统吗

据外媒报道,谷歌在上周推出了物联网作业系统Android Things,后者是谷歌为物联网装置开发的Android分支系统。结合谷歌为物联网装置推出的通讯协议Weave,Android Things将在谷歌物联网战略中发挥重要作用。Android Things是谷歌面向物联网装置市场推出的最新系统,这让物联网市场的竞争进一步升温。目前,微软正在向发烧友和原始装置制造商(OEM)推广其Windows 10 IoT系统。

什么是实时作业系统

实时作业系统,简称RTOS(Real Time Operat-
ing System) UNIX是分时系统,定时器的优先顺序
最高以UNIX为基础,允许对中断处理的优先顺序
做些调整,使系统对外部事件的响应速度保证不大于
某一特定的时间间隔,就构成了实时系统,如Lynx,
OS-9等作业系统如果作业系统能做到不宕机,且
响应速度有保证就可以用于各种控制目的了
用于控制目的时,多工是必要的,而多使用者往
往并不需要,尤其是在嵌人式应用中因此可以将
UNIX多使用者那部分功能去掉,并根据嵌人式应用的
特点,舍弃一部分不必要的功能,以适应嵌人式应用
万方资料
学习园地 327
中要求占用记忆体少的特点,这就是嵌人式多工实时
作业系统在这里," *** 作"二字已经失去了本来的含

RTOS的开发工具允许使用者针对不同的应用对
象对RTOS的核心进行裁剪,压缩,以适应各类应
用,并提供应用程式的除错环境
从理论上讲,无论UNIX还是基于UNIX思想
的RTOS,都包含了计算机软体理论最精华的那一部
分从实践上说,它们亦是被无数应用系统证明是完
全成功的
实时系统是指能在确定的时间内执行其功能并
对外部的非同步事件做出响应的计算机系统其 *** 作
的正确性不仅依赖于逻辑设计的正确程度,而且跟这
些 *** 作进行的时间有关"在确定的时间内"是这个
定义的核心也就是说,实时系统是对响应时间有严
格要求的例如,一个视讯播放系统要从CD-ROM
中读取高压缩率的资料,并将其解压缩,送到显示设
备解压缩的工作必须在很短的时间(毫秒级)内完
成,否则会出现画面的不连续假设影象每帧的停留
时间为30ms,那么该系统必须在这段时间内将下一
帧从CD-ROM中读出并完成解压缩30ms就成为
一个时间限制,每次处理均在30ms内就是实时的,
一万次处理有一次处理时间大于30ms也不是好的
实时系统
一个系统具有实时性并不说明该系统的响应和
处理速度非常快;而一个高速系统也未必是实时系
统特定的实时系统有其具体的时限(或速度)要求,
该时限要求对不同系统千差万别高能粒子甄别系
统的甄别处理要求在微秒或纳秒级时间内完成;而实
时资料库查询系统仅要求在使用者键人请求后几秒内
得到查询结果所以设计实时系统之初,应该明确目
标系统的实时要求是秒级的,还是毫秒,微秒级的,避
免盲目追求高速度,造成浪费
实时系统通常分为硬实时和软实时系统前者
意味着存在必须满足的时间限制,而后者意味着偶尔
超过时间限制是可以容忍的
实时作业系统是基于计算机的,是管理计算机硬
件资源并提供人机命令或程式设计介面的系统,它能在固
定的时间内对一个或多个由外设发出的讯号做出适
当的反应与普通(分时)作业系统不同,实时 *** 作系
统强调了系统对外部非同步事件响应时间的确定性,这
已经逐渐接近嵌人式系统的设计思想了
实时作业系统和分时作业系统的另一个重要区
别在于二者的任务排程方式不同
常见的分时排程演算法有时间片轮转排程,优先顺序
排程,多重伫列,最短作业优先,保证排程演算法以及彩
票排程演算法这里不详细描述这些演算法
实时排程演算法主要有三种,比较经典的是事件发
生率单调演算法(Liu和Layland, 1993)该演算法事先
为每个任务分配一个与事件发生频率成正比的优先
级,排程程式总是排程优先顺序最高的就绪任务,必要
时将剥夺当前任务的CPU使用权,让高优先顺序的任
务先执行这种演算法被证明是最优的,也是为大部分
实时核心所采用的排程方式
另一种流行的实时排程演算法是最早截止优先算
法当一个事件发生时,对应的任务被加到就绪伫列
中,该伫列按照截止期限排序,截止期限最短的优先
级最高对周期性事件,截止时间即为事件下次发生
的时间
第三种演算法首先计算各任务的富裕时间,称作裕
度(laxity)如果一个任务需要执行200ms,而它必
须在250ms内完成,则其裕度为50ms该演算法称为
最少裕度法,即选择裕度最少的任务
尽管通过这三种演算法中的任何一个都可以将分
时作业系统转化为实时作业系统,但实际上,由于前
者的任务切换时间太长,实时效能都比较低,所以实
时系统一般都采用专用的实时作业系统这些实时
作业系统的主要特征有:
规模小,
中断被遮蔽的时间很短;
中断处理时间短;
任务切换很快
常见的实时作业系统有VxWorks, VRTX/OS,
pSOS+,RTMX,OS/9和Lynx OS等等

如何定义实时作业系统

对于什么是实时系统,POSIX 1003b 作了这样的定义:指系统能够在限定的响应时间内提供所需水平的服务。而一个由 Donald Gillies 提出的更加为大家接受的定义是:一个实时系统是指计算的正确性不仅取决于程式的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。
实时系统根据其对于实时性要求的不同,可以分为软实时和硬实时两种型别。硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的截止期限是无论如何都必须得到满足。比如航天中的宇宙飞船的控制等就是现实中这样的系统。其他的所有有实时特性的系统都可以称之为软实时系统。如果明确地来说,软实时系统就是那些从统计的角度来说,一个任务(在下面的论述中,我们将对任务和程序不作区分)能够得到有确保的处理时间,到达系统的事件也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误,像实时多媒体系统就是一种软实时系统。
一个计算机系统为了提供对于实时性的支援,它的作业系统必须对于 CPU 和其他资源进行有效的排程和管理。在多工实时系统中,资源的排程和管理更加复杂

去网上下个定时开关机,,实时提醒就 OK;a啦 ```

供多个使用者同时使用计算机的作业系统称为

B

作业系统使使用者使用计算机必备的一种什么?

作业系统是使用者使用计算机必备的一种软体

嵌入式实时作业系统

嵌入式实时作业系统ucos ii的分析2010年01月06日 星期三 上午 01:15摘要:近年来,在微控制器系统中嵌入作业系统已经成为人们越来越关心的一个话题。本文通过对一种原始码公开的嵌入式实时作业系统ucos ii的分析,以51系列微控制器为例,阐述了在微控制器中使用该嵌入式作业系统的优缺点,以及在应用中应当注意的一些问题。
关键词:实时作业系统;ucos ii;微控制器
引言
早在20世纪60年代,就已经有人开始研究和开发嵌入式作业系统。但直到最近,它才在国内被越来越多的提及,在通讯、电子、自动化等需要实时处理的领域所曰益显现的重要性吸引了人们越来越多的注意力。但是,人们所谈论的往往是一些著名的商业核心,诸如VxWorks、PSOS等。这些商业核心效能优越,但价格昂贵,主要用于16位和32位处理器中,针对国内大部分使用者使用的51系列8位微控制器,可以选择免费的ucos ii。
ucos ii的特点
1.ucos ii是由Labrosse先生编写的一个开放式核心,最主要的特点就是原始码公开。这一点对于使用者来说可谓利弊各半,好处在于,一方面它是免费的,另一方面使用者可以根据自己的需要对它进行修改。缺点在于它缺乏必要的支援,没有功能强大的软体包,使用者通常需要自己编写驱动程式,特别是如果使用者使用的是不太常用的微控制器,还必须自己编写移植程式。
2.ucos ii是一个占先式的核心,即已经准备就绪的高优先顺序任务可以剥夺正在执行的低优先顺序任务的CPU使用权。这个特点使得它的实时性比非占先式的核心要好。通常我们都是在中断服务程式中使高优先顺序任务进入就绪态(例如发讯号),这样退出中断服务程式后,将进行任务切换,高优先顺序任务将被执行。拿51微控制器为例,比较一下就可以发现这样做的好处。假如需要用中断方式采集一批资料并进行处理,在传统的程式设计方法中不能在中断服务程式中进行复杂的资料处理,因为这会使得关中断时间过长。所以经常采用的方法是置一标志位,然后退出中断。由于主程式是回圈执行的,所以它总有机会检测到这一标志并转到资料处理程式中去。但是因为无法确定发生中断时程式到底执行到了什么地方,也就无法判断要经过多长时间资料处理程式才会执行,中断响应时间无法确定,系统的实时性不强。如果使用μC/OS-II的话,只要把资料处理程式的优先顺序设定得高一些,并在中断服务程式中使它进入就绪态,中断结束后资料处理程式就会被立即执行。这样可以把中断响应时间限制在一定的范围内。对于一些对中断响应时间有严格要求的系统,这是必不可少的。但应该指出的是如果资料处理程式简单,这样做就未必合适。因为ucos ii要求在中断服务程式末尾使用OSINTEXIT函式以判断是否进行任务切换,这需要花费一定的时间。
3.ucos ii和大家所熟知的Linux等分时作业系统不同,它不支援时间片轮转法。ucos ii是一个基于优先顺序的实时作业系统,每个任务的优先顺序必须不同,分析它的原始码会发现,ucos ii把任务的优先顺序当做任务的标识来使用,如果优先顺序相同,任务将无法区分。进入就绪态的优先顺序最高的任务首先得到CPU的使用权,只有等它交出CPU的使用权后,其他任务才可以被执行。所以它只能说是多工,不能说是多程序,至少不是我们所熟悉的那种多程序。显而易见,如果只考虑实时性,它当然比分时系统好,它可以保证重要任务总是优先占有CPU。但是在系统中,重要任务毕竟是有限的,这就使得划分其他任务的优先权变成了一个让人费神的问题。另外,有些任务交替执行反而对使用者更有利。例如,用微控制器控制两小块显示屏时,无论是程式设计者还是使用者肯定希望它们同时工作,而不是显示完一块显示屏的资讯以后再显示另一块显示屏的资讯。这时候,要是ucos ii即支援优先顺序法又支援时间片轮转法就更合适了。
4.ucos ii对共享资源提供了保护机制。正如上文所提到的,ucos ii是一个支援多工的作业系统。一个完整的程式可以划分成几个任务,不同的任务执行不同的功能。这样,一个任务就相当于模组化设计中的一个子模组。在任务中新增程式码时,只要不是共享资源就不必担心互相之间有影响。而对于共享资源(比如串列埠),ucos ii也提供了很好的解决办法。一般情况下使用的是讯号量的方法。简单地说,先建立一个讯号量并对它进行初始化。当一个任务需要使用一个共享资源时,它必须先申请得到这个讯号量,而一旦得到了此讯号量,那就只有等使用完了该资源,讯号量才会被释放。在这个过程中即使有优先权更高的任务进入了就绪态,因为无法得到此讯号量,也不能使用该资源。这个特点的好处显而易见,例如当显示屏正在显示资讯的时候,外部产生了一个中断,而在中断服务程式中需要显示屏显示其他资讯。这样,退出中断服务程式后,原有的资讯就可能被破坏了。而在μC/OS-II中采用讯号量的方法时,只有显示屏把原有资讯显示完毕后才可以显示新资讯,从而可以避免这个现象。不过,采用这种方法是以牺牲系统的实时性为代价的。如果显示原有资讯需要耗费大量时间,系统只好等待。从结果上看,等于延长了中断响应时间,这对于未显示资讯是报警资讯的情况,无疑是致命的。发生这种情况,在μC/OS-II中称为优先顺序反转,就是高优先顺序任务必须等待低优先顺序任务的完成。在上述情况下,在两个任务之间发生优先顺序反转是无法避免的。所以在使用ucos ii时,必须对所开发的系统了解清楚,才能决定对于某种共享资源是否使用讯号量。
ucos ii在微控制器使用中的一些特点
1.在微控制器系统中嵌入ucos ii将增强系统的可靠性,并使得除错程式变得简单。以往传统的微控制器开发工作中经常遇到程式跑飞或是陷入死回圈。可以用看门狗解决程式跑飞问题,而对于后一种情况,尤其是其中牵扯到复杂数学计算的话,只有设定断点,耗费大量时间来慢慢分析。如果在系统中嵌入 ucos ii的话,事情就简单多了。可以把整个程式分成许多工,每个任务相对独立,然后在每个任务中设定超时函式,时间用完以后,任务必须交出 CPU的使用权。即使一个任务发生问题,也不会影响其他任务的执行。这样既提高了系统的可靠性,同时也使得除错程式变得容易。
2.在微控制器系统中嵌入ucos ii将增加系统的开销。现在所使用的51微控制器,一般是指87C51或者89C51,其片内都带有一定的RAM和 ROM。对于一些简单的程式,如果采用传统的程式设计方法,已经不需要外扩储存器了。如果在其中嵌入ucos ii的话,在只需要使用任务排程、任务切换、讯号量处理、延时或超时服务的情况下,也不需要外扩ROM了,但是外扩RAM是必须的。由于ucos ii是可裁减的作业系统,其所需要的RAM大小就取决于作业系统功能的多少。举例来说,μC/OS-II允许使用者定义最大任务数。由于每建立一个任务,都要产生一个与之相对应的资料结构TCB,该资料结构要占用很大一部分记忆体空间。所以在定义最大任务数时,一定要考虑实际情况的需要。如果定得过大,势必会造成不必要的浪费。嵌入ucos ii以后,总的RAM需求可以由如下表达式得出:
RAM总需求=应用程式的RAM需求+核心资料区的RAM需求+(任务栈需求+最大中断巢状栈需求)·任务数
所幸的是,μC/OS-II可以对每个任务分别定义堆叠空间的大小,开发人员可根据任务的实际需求来进行栈空间的分配。但在RAM容量有限的情况下,还是应该注意一下对大型阵列、资料结构和函式的使用,别忘了,函式的形参也是要推入堆叠的。
3.ucos ii的移植也是一件需要值得注意的工作。如果没有现成的移植例项的话,就必须自己来编写移植程式码。虽然只需要改动两个档案,但仍需要对相应的微处理器比较熟悉才行,最好参照已有的移植例项。另外,即使有移植例项,在程式设计前最好也要阅读一下,因为里面牵扯到堆叠 *** 作。在编写中断服务程式时,把暂存器推入堆叠的顺序必须与移植程式码中的顺序相对应。
4.和其他一些著名的嵌入式作业系统不同,ucos ii在微控制器系统中的启动过程比较简单,不像有些作业系统那样,需要把核心编译成一个映像档案写入ROM中,上电覆位后,再从ROM中把档案载入到RAM中去,然后再执行应用程式。ucos ii的核心是和应用程式放在一起编译成一个档案的,使用者只需要把这个档案转换成HEX格式,写入ROM中就可以了,上电后,会像普通的微控制器程式一样执行。
结语
由以上介绍可以看出,ucos ii具有免费、使用简单、可靠性高、实时性好等优点,但也有移植困难、缺乏必要的技术支援等缺点,尤其不像商用嵌入式系统那样得到广泛使用和持续的研究更新。但开放性又使得开发人员可以自行裁减和新增所需的功能,在许多应用领域发挥着独特的作用。当然,是否在微控制器系统中嵌入ucos ii应视所开发的专案而定,对于一些简单的、低成本的专案来说,就没必要使用嵌入式作业系统了。

这个要怎么回答呢?单片机包括很多东西。51内核、cortex-m0、m3、m4、Pic、arm系列都可以叫做单片机。这些单片机又可以跑实时 *** 作系列如freeRTOs、ucos、RT-Thread等或者是直接裸跑,应用于嵌入式系统,都可以叫做嵌入式系统技术。而嵌入式系统技术又不单单是在单片机上的应用,同样有linux上的。当然单片机如果跑TCP/IP协议栈或者是wifi、蓝牙什么的又可以做物联网设备,同样物联网又不单单指这些,标签技术什么的也是物联网技术,所以三者有关系。但又有区别。

嵌入式与单片机之间的关系如下:

嵌入式系统是一个大类,单片机是其中一个重要的子类。嵌式系统像是一个完整的计算机,而单片机更像是一个没有外设的计算机。

以前单片机包括的东西并不算多,两者的硬件区别较为明显。但是,随着半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。

于是,人们倾向于在软件上进行区分。

从软件上,行业里经常把芯片中不带MMU(memory management unit,内存管理单元)从而不支持虚拟地址,只能裸奔或运行RTOS(实时 *** 作系统,例如ucos、华为LiteOS、RT-Thread、freertos等)的system,叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等)。

同时,把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android这样的“高级” *** 作系统的system,叫做嵌入式。

在某些时候,单片机本身已经足够强大,可以作为嵌入式系统使用。它的成本更低,开发和维护的难度相对较小,尤其是针对一些针对性更强的应用。而嵌入式系统理论上性能更强,应用更广泛,但复杂度高,开发难度大。

嵌入式,一般是指嵌入式系统,嵌入式开发,就是对嵌入式系统的开发。IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或者辅助 *** 作机器和设备的装置”。

国内学术界的定义更为具体一些,也更容易理解:嵌入式系统,是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 以应用为中心,说明嵌入式系统是有明确实际用途的。

以计算机技术为基础,说明它其实就是一种特殊的计算机。软硬件可裁剪,说明它有很强的灵活性和可定制能力。

嵌入式系统的核心,就是嵌入式处理器。嵌入式处理器一般分为以下几种典型类型: 嵌入式微控制器MCU(Micro Control Unit) MCU内部集成ROM/RAM、总线逻辑、定时/计数器、看门狗、I/O、串口、A/D、D/A、FLASH等。典型代表是8051、8096、C8051F等。

嵌入式DSP处理器(Digital Signal Processor) DSP处理器专门用于信号处理,在系统结构和指令算法进行了特殊设计。在数字滤波、FFT、频谱分析中广泛应用。

典型代表是TI(德州仪器)公司的TMS320C2000/C5000系列。 嵌入式微处理器MPU(Micro Processor Unit) MPU由通用处理器演变而来,具有较高的性能,拥有丰富的外围部件接口。典型代表是AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。

此外,还有嵌入式片上系统SoC(System on Chip)和可编程片上系统SoPC(System on a Programmable Chip)。 我们的单片机,就属于上述的第一种——MCU(嵌入式微控制器)。

单片机,又称为单片微控制器,英文叫Single-Chip Microcomputer。它其实就是一种集成电路芯片,是通过超大规模集成电路技术,将CPU、RAM、ROM、输入输出和中断系统、定时器/计数器等功能,塞进一块硅片上,变成一个超小型的计算机。

单片机技术从上世纪70年代末诞生,早期的时候是4位,后来发展为8位,16位,32位。它真正崛起,是在8位时代。

8位单片机功能很强,被广泛应用于工业控制、仪器仪表、家电汽车等领域。我们在研究单片机的时候,经常会听到两个词——51单片机、STM32。我来介绍一下它们究竟是什么。

51单片机,其实就是一系列单片机的统称。该系列单片机,兼容Intel 8031指令系统。它们的始祖,是Intel(英特尔)的8004单片机。

STM32,是意法半导体公司推出的基于ARM Cortex-M内核的通用型单片机。STM32的硬件配置可以满足大部分的物联网开发需求,开发工具和相关的文档资料齐全,已经成为目前单片机学习的首选对象。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/10392240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存