计算机软件水平考试嵌入式系统设计师辅导笔记:任务管理
任务管理
(1)嵌入式操作系统的任务管理可以分为:
A、单道程序技术:操作系统中,任何时候只能有一个程序在运行。
B、多道程序技术:操作系统中,允许多个程序同时存在并运行。
(2)进程
进程,简单的说,是一个正在运行的程序。
进程与程序既有联系又有区别,主要表现为下面结构方面:
A、程序由数据和代码两部分内容组成,它是一个静态的概念。而进程是正在执行的程序,它也由两部分组成:程序和该程序的运行上下文。它是一个动态的概念。
B、程序和进程之间并不是一一对应的。一个进程在运行的时候可以启动一个或多个程序。反之,同一个程序也可能由多进程同时执行。
C、程序可以作为一种软件资源长期保存,以文件的形式存放在光盘或硬盘上,而进程则是一次执行的过程,它是暂时的,是动态的产生和终止。
一个进程至少应包括三个方面:相应的程序、CPU上下文、一组系统资源。
进程有三个特性:
A、动态性:进程是正在运行的程序,而程序的运行状态是不断变化的。
B、独立性:进程是系统资源的使用单位,每个进行有自己的运行上下文和内部状态。
C、并发性:宏观来看,系统中同时有多个进程存在,它们相互独立地运行。
注:对于并发的理解。
在单CPU 的情况下,所谓的并发性指的是宏观上的并发运行,而微观上还是顺序进行,各个进程轮流去使用CPU 资源。在单核CPU 中,真正的、物理上的PC 寄存器只有一个,进程在轮流执行的时候,物理PC 的取值也在不断变化。而逻辑PC 其实就是一个内存变量。每个进程都有一个逻辑PC,当一个进程要运行的时候,就把它的逻辑PC 装载到物理PC 中去;反之,当一个进程暂不运行的时候,就把物理PC中的值保存在它的逻辑PC 当中。
(3)线程
线程就是进程当中的一条执行流程。
进程其实包含两个部分:资源平台和执行流程(线程)。
在一个进程当中,或者说在一个资源平台上,可以同时存在多个线程;可以用线程作为CPU 的基本调度单位,使得各个线程之间可以并发执行;对于同一个进程当中的各个线程来说,他们可以共享该进程的大部分资源。每个线程都有自己独立的CPU运行上下文和栈,这是不能共享的。