操作系统有关概念

什么是操作系统?

操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机工作和资源分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统的最基本的系统软件。

即分为三个作用:

  1. 控制和管理计算机系统的硬件和软件资源
  2. 组织和调度计算机工作和资源分配
  3. 提供给用户和其他软件方便的接口和环境

实时与系统

嵌入式操作系统分为实时系统和非实时系统两类,常见的实时系统有:ThreadX、FreeRTOS、ucOS;常见的非实时系统有:windows、linux、Android。
实时系统和非实时系统两类的主要区别在于任务调度处理方式不同,常用的任务调度方式有两种:基于任务优先级的任务调度方式和基于时间片的任务调度方式:

  1. 基于任务优先级的调度方式:一旦内核把资源分配给某进程后,便让该进程一直执行,直到该进程完成或发生某事件而被阻塞(常见的方式主动调用delay),才再把处理机分配给其他进程,否则高优先级的任务会一直运行。所以这种情况下,如果某个高优先级的任务运行时间过长最好有阻塞机制,来让出CPU使其他低优先级的任务也有机会运行。
  2. 基于时间片的调度方式:这种方式下,所有任务的优先级相同,当内核给该进程分配的时间片结束后,内核会停止正在执行的这个进程,下一个时间片分配给其他进程执行,即便这个任务没有执行完也没有主动delay自己

实时、非实时 任务调度的区别

  1. 实时操作系统:一般使用基于优先级的调度方式,所以不同优先级的任务,完全基于优先权原则来运行,一旦高优先的任务就绪他可以无条件的,抢占任何正在执行的,低于自己优先级的进程,无论正在运行的进程是否已经进入内核调度。同时也存在基于时间片调度方式,如Freertos系统也有时间片调度模式,当几个任务的优先级相同时,会按照时间片来管理,在优先级相同的任务间切换运行。
  2. 非实时操作系统:一般情况下没有任务优先级的概念(有例外),所有任务默认优先级相同,任务调度采用时间片调度方式。

2者的区别:
任务调度的时间不同:

  • 非实时系统:任务调度不是严格实时的,如linux调度时间的最小单位为10ms,windows系统时间片也只是ms级别。
  • 实时系统:调度时间是us级的,而且一般小于10us。

任务调度算法不同:

  • 实时系统:包含专有的任务调度算法,而且这也是实时系统的核心所在。
  • 非实时系统:无论是linux还是windows,都缺乏有效的实时任务的调度机制和调度算法。

软硬实时系统

在一些应用场合中,根据计算资源的限制的不同(一旦没有在规定的时间内完成任务所导致后果的严重性),存在2种实时系统:软实时系统和硬实时系统。

“软”意味着如果没有满足指定的时间约束并不会导致灾难性后果,而对硬实时系统来说却是灾难性的。

硬实时系统中,运算超时是不允许发生的。在很多情况下,超时会导致巨大的灾难,会威胁人们的生命安全。但是在软实时系统中,超时不会导致严重后果。

硬实时系统中,任务只有在特定的时间区间内完成,才有正的收益。如果过早或过晚完成,收益为负无穷。而在软实时系统中,即使任务过早或过晚完成,仍有一定的收益。硬实时系统可以认为是软实时系统的一种特例(任务总在规定时间内完成,不会过早或晚)。

实时操作系统 有关概念

实时操作系统(RTOS)要求:

  • 多任务
  • 处理能被区分优先次序的进程线
  • 一个中断水平的充份数量

基本概念

代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入;

资源:任何为任务所占用的实体;

共享资源:可以被一个以上任务使用的资源;

任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任务都是一个无限的循环,每个任务都处在以下五个状态下:休眠态,就绪态,运行态,挂起态,被中断态;

任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行;

内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核和可剥夺型内核;

调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法;

优先级的问题

任务优先级:分为优先级不可改变的静态优先级和优先级可改变的动态优先级;

优先级反转:优先级反转问题是实时系统中出现最多的问题。共享资源的分配可导致优先级低的任务先运行,优先级高的任务后运行。解决的办法是使用“优先级继承”算法来临时改变任务优先级,以遏制优先级反转。

互斥

虽然共享数据区简化了任务之间的信息交换,但是必须保证每个任务在处理共享共享数据时的排他性。使之满足互斥条件的一般方法有:关中断,使用测试并置位指令(TAS),禁止做任务切换,利用信号量

因为采用实时操作系统的意义就在于能够及时处理各种突发的事件,即处理各种中断,因而衡量嵌入式实时操作系统的最主要、最具有代表性的性能指标参数无疑应该是中断响应时间了。

中断响应时间通常被定义为:

中断响应时间 = 中断延迟时间 + 保存CPU状态的时间+该内核的ISR进入函数的执行时间。

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

最大中断禁止时间:

当RTOS运行在核态或执行某些系统调用的时候,是不会因为外部中断的到来而中断执行的。只有当RTOS重新回到用户态时才响应外部中断请求,这一过程所需的最大时间就是最大中断禁止时间。

任务切换时间:

当由于某种原因使一个任务退出运行时,RTOS保存它的运行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需时间称为任务切换时间。

上述几项中, 最大中断禁止时间和任务切换时间是评价一个RTOS实时性最重要的两个技术指标。

实时任务

在实时系统中必然存在着若干个实时任务,这些任务通常与某些个外部设备相关,能反应或控制相应的外部设备,因而带有某种程度的紧迫性。

可从不同的角度对实时任务加以分类。

按任务执行时是否呈现周期性变化来划分:
a、周期性实时任务:外部设备周期性地发出激励信号给计算机,要求它按照指定周期循环执行,以便周期性的控制某种外部设备。

b、非周期性实时任务:外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间。 它又可分为开始截止时间(任务在某时间以前必须开始执行)和完成截止时间(任务在某时间以前必须完成)两部分。

根据对截至时间的要求来划分:硬实时任务、软实时任务

实时操作系统 特征

1)高精度计时系统

计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。

2)多级中断机制

一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。

3)实时调度机制

实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是, 处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

实时系统与分时系统特征的比较

1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。

2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。

3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。

4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。

5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。

原文地址:https://www.cnblogs.com/schips/p/12393978.html

时间: 2024-11-07 16:04:48

操作系统有关概念的相关文章

# 操作系统基本概念

操作系统基本概念 系统调用 为什么要提供系统调用,这是因为要将系统资源交由操作系统来进行一个统一的协调的管理. 对于编程语言来讲,操作系统提供的系统调用被封装成为了一个个的库函数,为编程人员屏蔽了下层的细节. 用户态和核心态 对于有一些操作(计算机指令的执行)来说,他是危险的.所以不能让所有的应用程序都可以执行,那么就可以轻易的造成破坏. 所以就将指令划分称为特权指令和非特权指令.并且规定特权指令只能够在核心态里面才能够执行.这样就将危险操作和普通操作隔离开来了. 同时在cpu中,使用某个寄存器

一、操作系统基本概念

学习方法:以问题驱动学习.理论联系实际 学习难点:概念.原理.算法.数据结构 什么是操作系统? 四种基本观点: 现代操作系统的特征.功能.类型 基本概念:批处理.多道程序设计.作业.任务.进程与线程.接口.虚拟存储.文件 关于现代OS的四种基本观点: 用户接口:用户命令:指计算机用户要求计算机系统为其工作的指示. 命令的表示形式:命令.菜单.图形 命令是使用方式:脱机和联机 虚拟机器观点:操作系统是建立在计算机硬件平台上的虚拟机器. 资源管理:操作系统是计算机系统中各类资源的管理者,他负责分配.

操作系统 地址 概念

逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分.例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干.只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换):逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段.数据段如果完全一样).应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是

操作系统基础概念

20150511 参考资料,只记录自己不懂的. http://blog.csdn.net/ckli/article/details/1680373 中断 Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3.Windows只 使用其中的两个级别RING0和RING3,RING0只给操作系统用,RING3谁都能用.

操作系统-进程概念

一.定义(Process) 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位 1.进程是程序的一次执行过程,是对CPU的抽象,是正在运行的程序的抽象 2.每个进程具有独立的地址空间 3.操作系统通过调度将CPU的控制权交给某个进程 二.进程控制块PCB(Process Control Block) 又称进程描述符,进程属性,是操作系统用于管理控制进程的一个专门的数据结构,记录进程的各种属性 PCB是系统感知进程存在的唯一标志,进程与PCB是一一对应的

计算机与操作系统基础小结

计算机基础概念 1946年二月美国,世界上第一台电子计算机ENIAC诞生,似乎从这一年开始世界便逐渐变得不一样了.随着半个世纪的时间,计算机技术蓬勃发展,推动人类进入信息社会. 计算机操作界面: ①图形用户界面 ②命令行界面 在ENIAC计算机研制的同时,冯.诺依曼与莫尔小组合作研制EDVAC计算机,采用了存储程序方案,即把解题过程中的每一步用指令表示,并按执行顺序编写成为程序,存放在存储器中,称为冯.诺依曼计算机.冯.诺依曼计算机有着如下几个特点. (1)计算机由运算器,控制器,存储器,输入设

0909关于操作系统

关于操作系统,我第一个接触的操作系统是window95,那时候对操作系统没什么概念,就觉得电脑是个很神奇的发明,到现在我自己更新了window10,才慢慢操作系统这个概念有了更深入的理解.这学期第一次接触到操作系统这门课程,我理解的操作系统事全能管家,可以帮助终端管理自己的软硬件,拥有系统的终端可以有效的管理软件,让电脑井然有序的进行着一系列的工作,同时还可以让硬件的功能发挥到极致,然而没有操作系统的电脑只不过是一堆硬件的集合,只是简单地机械,跟工厂的机器一样,无法为我们操作其他强大的功能.所以

转----操作系统与应用程序的关系

操作系统与应用程序的关系 --原博地址:http://blog.csdn.net/maochengtao/article/details/8943284 操作系统与应用程序的关系: 操作系统主要可以分为两大部分:内核和内核之外的一些程序. 内核就是直接控制最底层的硬件,而我们日常所用到的软件,大都是通过内核之外一些程序与内核之间的接口完成的,例如WINDOWS API就是为我们提供了应用程序与内核的接口,以实现硬件上的一些操作.操作系统(Operating System,简称OS)是一管理电脑硬

操作系统权限

2019-12-23 操作系统权限概述 1)操作系统权限概念说明2)操作系统默认权限设置(调整权限)3)操作系统读取数据原理4)操作系统特殊权限说明(setuid setgid 粘滞位)5)操作系统用户提权配置(sudo)6)操作系统用户相关命令7)操作系统用户相关文件(普通文件/目录文件) 一操作系统文件权限概念 操作系统基本权限:rwx操作系统权限划分:属主   属组     其他用户 对于一个普通文件:r:是否可以查看文件内容(是否可以查看block)w:是否可以编辑文件内容(是否可以改写