实时操作系统任务管理与调度

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程地运序行轮多班个地程占序的用计处算理机器管理这系个统资。源。 且在占用这个资源期间,并不一
定能够把程序运行完毕。
程序的切换(两句话)
处理器是个傻瓜,PC让
= PC 它从干此啥可,以它知就道干,啥哪。个程
PC序是占个有指了路PC器,,哪它个指程向序哪 儿就,占处有理了器处就理去器哪。儿。
进程与程序
实把质程上序系的统私是有通堆过栈SP指的针切赋换 5。函数程调用序信代息(码已存、在于私堆栈有)堆做栈任务、的上任下文。
来予实处现理程器序的的堆切栈换指的针。SP 务控制块是任务的三要件。 另外再用一个数据结构保存任务堆栈 指针(SP),这个数据结构叫做任务 任务控制块提供了运行环 控制块,它除了保存任务堆栈指针之
顺序运行最容易实现,常见于早 期的单道批处理系统中
程序的运行方式
▪ 并发运行
允许多个程序共享CPU,在这种 方式下,系统的资源不再被某一个 程序独占,而是由多个程序共享。
处理器如何进行程序的
切换? 并简单发地:说,由就同是一能用个一处个理处器理并轮器发示过换意程图地
运并行发多(个注程意序,。不或是者同说时是由!多)个
多任务时任务与处理器
之间关系的处理 在内存中为每个任
务创建一个虚拟的
处理器 调度器
处理器(处理器部
PC
复制
寄存器组
PPCPCPCC
分的运行环境
由器也任S操按P就务作某是运系种说行统规,环的则复复任境来调制制务的进度的切切换处当务应换虚处当就器再务理虚处寄S需时的是拟理虚处PS需把复把的器拟理虚存PS要,虚制器拟理PS要该制另虚器拟器P中则拟到器运任到一拟际组止把处内行务实个处处当任理存某的际需理理前务器个虚处要器器任对复任拟理运复中务处器行制时理中的到任实 程程序序
/*ioTask implements data obtaining and handling continuously*/
void ioTask(void) {
int data; initial();
/*The following sentences get data and handle data continuously*/
进程与程序
▪ 程序是存放在磁盘上的一系列代码和
数据的可执行映像,是一个静止的实 体。
▪ 进程:可并发执行的程序在一个数据
集合上的运行过程。
▪ 程序是静止的,进程是动态的,有状
态转换。
进程与程序
▪ 进程的四要素 :
1、作为一个进程,要有一段程序供其执行。 2、有进程专用的内核空间堆栈。 3、在内核中有一个task_struct数据结构,
处理器 PC
寄存器组
内存 任务代码
SP 处理器通过两个指针寄存
任务堆栈
器(PC和SP)来与任务 程序运行环境 代码和任务堆栈建立联系
并运行它
多任务时的问题
处理器
PC

寄存器组
当有内多存个任务时,处理 器中的内运内存么行存办环?境应该怎
任务代码 任务代码 任务代码
SP 任务堆栈 任务堆栈 任务堆栈
程序运行环境
行这两个复制工作
要建立一个概念:具有 虚拟处理器应该存储的主要信息:
1。程序的断点地址(PC)
任务内控存制块
2。任务控堆栈制指块针(的SP)程序才是一这些个内容通常保
其实,程序切换的关键是 可以被系统所运行的任务。 3。程序状态字寄存器(PSW)
4。通用寄存器内容
存任在务任代务码堆栈中, 这些内容也常叫
线程定义
▪ 线程是进程的一个实体,是CPU调度和
分派的基本单位,它是比进程更小的能 独立运行的基本单位。线程自己基本 上不拥有系统资源,只拥有一点在运行 中必不可少的资源(如程序计数器,一组 寄存器和栈),一个线程可以创建和撤销 另一个线程;
▪ 使用线程的优势:
– 创建:在一个已有进程中创建一个新线程比创建一个全 新的进程所需的时间开销少;
while(TRUE) {
data = getData(); handleData(data); } }
任务
任务
▪ 任务的特性:
动态性 并发性 异步独立性
任务
▪ 任务的内容 :
代码:一段可执行的程序。 数据:程序所需要的相关数据(变 量、工作空间、缓冲区) 堆栈 程序执行的上下文环境TCB
任务运行时与 处理器之间的关系
嵌入式实时操作系统 及应用开发
第五章 任务管理与调度
▪进程与线程 ▪任务 ▪任务管理 ▪任务调度 ▪优先级反转
主要内容
程序运行的方式 进程的定义 线程的定义
第一节 进程与线程
程序的运行方式
▪ 顺序运行
作业的运行总是一个一个地顺着 来,完成一个作业后再运行下一 个。在一个作业运行中途,决不 会突然插入另一个作业运行。
Baidu Nhomakorabea
多进程/单线程模型
多进程/多线程模型
任务的定义及其主要特性 任务的内容 任务的分类 任务参数
第二节 任务
任务
▪ 在嵌入式实时系统中
– 任务(task):任务是一个具有独 立功能的无限循环的程序段的一次运 行活动
– 通常为进程(process)和线程 (thread)的统称
– 任务是调度的基本单位
即“进程控制块”。 4、有独立的用户空间
线程的引入
▪ 早期的进程,包含了以下两个方面的内容:
– 资源。进程是资源分配的基本单位,一个进程包 括一个保存进程映像的虚拟地址空间、主存、I/O 设备和文件等资源。
– 调度执行。进程作为操作系统的调度实体,是调 度的基本单位。
进程是一个庞大的结构型实体,其PCB 结构包含的内容相当多,每创建一个进 程,系统无论在时间或空间上都要花费 较大的开支。
– 终止:终止一个线程比终止一个进程所花费的时间少; – 切换:线程切换比进程切换所花费的时间少; – 通信:使同一进程内部不同线程之间的通信效率得到显
著提高。
▪ 在大多数操作系统中,不同进程之间的通信需要内 核的干预,而同一进程内部不同线程之间则可直接 通信。
单进程/单线程模型
单进程/多线程模型
High Priority Task Task
Importance
Task Task
Low Priority Task
Task Task
Each Task
Event
Event
Task
Infinite Loop
Splitting an application into Tasks
▪ 任务通常包含一个具有无限循环的程序
相关文档
最新文档