欢迎来到天天文库
浏览记录
ID:58708509
大小:1.06 MB
页数:94页
时间:2020-10-04
《第2章 嵌入式操作系统基本概念ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章嵌入式操作系统中的基本概念前后台系统调度临界区进程与线程任务与多任务任务切换死锁不可剥夺型内核可剥夺型内核可重入性优先级反转事件互斥同步通信对存储器的要求主要内容前后台系统前后台系统一般由前台(Foreground)和后台(Background)两部分程序组成。后台是一个无限循环的应用程序,循环中调用相应的任务函数完成相应的操作,各个任务依次运行,没有调度,运行的次序不能改变。前台是中断服务程序,处理异步事件。后台一般也叫任务级,前台也叫中断级。时间相关性要求很强的关键操作一定要靠中断服务
2、来保证。有的中断服务提供的信息并不能马上得到处理,必须要一直等到后台程序运行到相应的处理任务时才能处理,这种系统对处理信息的及时性比较差,最坏情况取决于整个循环的执行时间。这个指标称做任务级响应时间。由于循环的执行时间不是常数,因此程序经过某一特定部分的准确时间也是不能确定的。如果程序修改了,循环的时序也会受到影响。前后台系统前后台系统也称为超循环系统。一般不复杂且实时性要求不高的小系统很适合采用前后台系统.例如微波炉、电话机、玩具等。在另外一些基于省电的应用中,由于平时微处理器处在停机状态,所
3、有的事都靠中断服务来完成,因此也常常采用前后台系统模式。前后台系统进程进程的概念为合理的分配计算机的硬件和软件资源,引入“进程”进程是可并发执行的、具有独立功能的程序在一个数据集合上的运行过程,是操作系统进行资源分配和保护的基本单位。一个进程可以简单地认为是一个程序在系统内的唯一执行。进程包括它的指令代码和数据,也包括程序计数器(PC)和CPU中所有的寄存器,还包括存放在进程堆栈中的临时数据、返回地址以及变量。一个程序的两个拷贝是两个不同的进程,他们各自使用各自的数据区。单CPU上的多进程示意活
4、动记录(进程状态记录)包含了重新激活进程的数据;进程激活时,将进程的状态从活动记录复制到CPU中;不同的进程都有各自的活动记录,记录进程停止时CPU的内部状态。线程嵌入式系统中,较轻量级的进程称为“线程”,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线
5、程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。调度调度是内核的主要职责之一,它为任务分配资源和时间,决定任务运行的次序,从而使系统满足特定的性能要求。基本的调度算法有先来先服务(FCFS)、最短周期优先(SBF)、优先级法(Priority)、轮转法(Round-Robin)
6、等。调度的基本方式有可剥夺型(占先式)和不可剥夺型(非占先式)。多数实时内核是基于优先级调度的多种方法的复合。不可剥夺型内核(non-preemptivekernel)不可剥夺型内核要求每个任务主动放弃CPU的使用权。也称作合作型多任务,各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后,CPU控制权还是回到原来被中断的任务,直到该任务主动放弃CPU的使用权时,高优先级的任务才能获得CPU的使用权不可剥夺型内核(non-preemptiveke
7、rnel)不可剥夺型内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。不可剥夺型内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很长时间,直到当前运行着的任务释放CPU。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU。可剥夺型内核(preemptivekernel)系统响应时间很重要时,要使用可剥夺型内核。最高优先级的任务一旦就绪,总能
8、得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。使用可剥夺型内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。可剥夺型内核(preemptivekernel)临界区嵌入式系统中的资源是指为任务所占用的任何实体,它可以是硬件设备,如打印机、键盘、显示器、I/O端口、RAM、RO
此文档下载收益归作者所有