什么是分时操作系统Linux属于实时操作系统吗
我们平时常用的C/OS、FreeRTOS、RT-Thread、ThreadX都是实时操作系统(RTOS),所以有读者问:什么是分时操作系统,Linux属于实时操作系统吗?
实时操作系统(RTOS)
RTOS,英文全称Real Time Operating System,是实时操作系统。
1.实时操作系统定义
实时操作系统(Real-time operating system,RTOS)是指能够足够快速地接受和处理外部事件或数据,处理结果能够在规定时间内控制生产过程或快速响应处理系统,控制所有实时任务协调运行的操作系统。
因此,提供及时的响应和高可靠性是其主要特点。
实时操作系统可以分为硬实时和软实时。硬实时要求操作必须在规定的时间内完成,这一点在操作系统设计时就有保证。
实时就是只要你能按照任务的优先级,以最快的速度完成操作。我们平时使用的操作系统,经过一些改动就可以成为实时操作系统。
实时操作系统是保证在一定时限内完成特定功能的操作系统。例如,可以设计一个操作系统来确保生产线上的机器人可以获取一个对象。在“硬”实时操作系统中,如果使对象可达的计算不能在允许的时间内完成,操作系统将以错误结束。
在“软”实时操作系统中,生产线仍然可以工作,但产品的产量会因为产品不能在允许的时间内到达而变慢,这使得机器人暂时没有生产力。一些实时操作系统是为特定的应用程序设计的,而另一些是通用的。
一些通用操作系统自称为实时操作系统。但在某种程度上,大多数通用操作系统,如微软的Windows NT或IBM的OS/390,都具有实时系统的特征。也就是说,即使一个操作系统不是严格的实时系统,它们也能解决一些实时应用问题。
2.实时操作系统的特点
1)多任务处理;
2)有线程优先级
3)多个中断级别
小型嵌入式操作系统往往需要实时操作系统,内核要满足实时操作系统的要求。
3.实时操作系统的相关概念
(1)基本概念
关键代码段:指在处理过程中不可分割的代码。一旦这部分代码开始执行,就不允许中断打字;
资源:由任务占用的任何实体;
共享资源:可以被多个任务使用的资源;
任务:也叫线程,是一个简单的程序。每个任务都有一定的优先级,有自己的一组CPU寄存器和自己的堆栈空间。通常每个任务是一个无限循环,每个任务处于以下五种状态:休眠状态、就绪状态、运行状态、挂起状态和中断状态;
任务切换:将正在运行的任务的当前状态(CPU寄存器中的所有内容)保存在任务自身的堆栈区,然后将下一个要运行的任务的当前状态从任务的堆栈中重新加载到CPU寄存器中,开始下一个任务;
内核:负责管理每个任务,为每个任务分配CPU时间,任务间通信。它分为不可分割的核心和不可分割的核心;
调度:内核的主要职责之一,决定哪个任务正在运行。基于一般优先级的调度方法;
(2)优先权问题。
任务优先级:优先级不变的静态优先级和优先级可变的动态优先级;
优先级反转:优先级反转是实时系统中最常见的问题。共享资源的分配会导致低优先级的任务先运行,高优先级的任务后运行。解决方法是使用“优先级继承”算法临时改变任务优先级来抑制优先级反转。
(3)相互排斥
虽然共享数据区简化了任务间的信息交换,但在处理共享数据时,需要保证每个任务的排他性。满足互斥条件的一般方法有:关闭中断,使用测试和设置指令(TAS),禁止任务切换,使用信号量。
因为采用实时操作系统的意义在于及时处理各种突发事件,也就是处理各种中断,所以衡量嵌入式实时操作系统最重要、最有代表性的性能指标参数无疑应该是中断响应时间。响应时间通常定义为:
中断响应时间=中断延迟时间保存CPU状态的时间这个内核的ISR进入函数的执行时间。
延迟时间=MAX(关闭中断的最长时间,最长指令时间)开始执行ISR的第一条指令。
分时操作系统(TSOS)
TSOS,英文全称Time-sharing Operating System,是一种分时操作系统。
使一台计算机同时为几个、几十个甚至几百个用户服务的操作系统称为分时操作系统。计算机与许多终端用户相连,分时操作系统以一定的时间间隔将系统处理器时间和内存空间依次切换给每个终端用户的程序。
由于时间间隔很短,每个用户都感觉好像自己独占了电脑。分时操作系统的特点是能有效地提高资源的利用率。例如UNIX系统采用剥夺式动态优先级CPU调度,强有力地支持分时操作。
分时系统是满足用户需求的一种新型操作系统。它与多遍批处理系统在性能上有很大不同。用户的需求体现在以下几个方面:人机交互共享主机方便用户访问电脑。
1.分时系统的基本思想
时间片:计算机的系统资源(尤其是CPU时间)是按时间划分的,每个时间段称为一个时间片,每个用户轮流使用这个时间片。
分时技术:将处理器的运行时间分成极短的时间片,按照时间片将处理器依次分配给各个在线作业。
分时操作系统:它是一个在线多用户交互式操作系统。一般情况下,一台计算机可以通过时间片轮换服务于多个终端。它可以保证每个用户的快速响应时间,并提供交互式对话能力。
目标:及时响应用户请求,尽可能提高系统资源利用率。
适用于办公自动化、教学和事务处理等需要人机对话的场合。
2.工作模式
一台主机连接多个终端;每个终端有一个用户在使用;交互式地向系统发出命令请求;系统接受每个用户的命令;使用时间片轮换模式处理服务请求;并将结果以交互方式显示给终端上的用户;分时系统实现的关键问题是用户根据上一步的结果发出下一个命令:及时接收。及时处理。
3.特征
交互性:用户与系统进行人机对话。
复用:多个用户同时在各自的终端上使用同一个CPU。
独立性:用户可以相互独立地操作,没有干扰或混乱。
时效性:用户可以在短时间内得到系统及时的回答。
影响响应时间的因素:终端数量、时间片大小、信息交换量、信息交换速度。
区分
RTOS和TSOS各有特色。RTOS一般用于相对低速的MCU,如运动控制、按键输入等需要实时处理的系统,一般需要ms级甚至us级的响应。
分时:现在流行的PC和服务器都采用这种运行方式,即把CPU的操作分成几个时间片,分别处理不同的操作请求。
实时性:一般用在单片机中,如电梯的升降控制,可以实时处理按钮的动作要求。
最后
通过上面的分析可以明确,linux是一个分时系统,但是可以改成实时系统,比如UCOS就是linux修改的实时系统。至于他们的区别,可以引用百度类似的回答:
分时系统是可以同时服务两个或两个以上账户的系统!
实时系统是一个可以立即响应指令的操作系统!微软的常用系统不行!它坠毁了!战斗机中的操作系统是一个实时系统。想想吧。如果战斗机里的电脑响应飞行员的最后一个命令,或者在别人战斗的时候死机,谁还敢开这架飞机?
参考来源:
https://www.cnblogs.com/xiawen/p/3317302.html
japan quarterly 日本季刊
推荐阅读
- 油价什么时候调整的?(国内油价今日24时上调)
- 小学生辨别方向的口诀,辨别方向的方法都有哪些
- 关注怎么取消通过验证,关注怎么取消
- 湖南省公务员报名时间2022报考时间(湖南公务员2022年考试时间)
- 三八妇女节的礼物是啥,三八妇女节的礼物
- 迪拜的车牌_迪拜的车
- 飞利浦sa2825(飞利浦sa28)
- 个体工商户执照需要年检吗?(个体工商营业执照年检)
- iphone连上了wifi,但上不了网
- 安徽中医药大学录取分数线2021年(安徽中医药高等专科学校2020年分数线)
- 长虹电视怎么看电视台的频道,长虹电视怎么样看电视文章
- 空调生产厂家(空调厂家)
- 408,408标致怎么样 值得买吗 标致408怎么样 值得买吗
- 汤怎么做好吃又简单,米汤怎么做
- 怎么通过微信支付公交费用呢,怎么通过微信支付公交费用
- 二氯菊酸甲酯分子量?(二氯乙酸甲酯 环境影响)
- 高考撕了别人的答题卡(高考考生撕坏别人答题卡)
- 风信子开花后怎么养护和浇水,风信子开花后怎么养
- 辽一网团购怎么样(辽一网团购)