3、任务管理
2 d; @7 }. }+ } (1)嵌入式操作系统的任务管理可以分为:
5 y2 f0 Y$ x0 u' d* {( e8 {5 ~# R A、单道程序技术:操作系统中,任何时候只能有一个程序在运行。
+ f4 v- f& C7 O) l$ `4 q B、多道程序技术:操作系统中,允许多个程序同时存在并运行。
, t2 t& W) Q! [ h6 j, v1 g (2)进程
7 Y# R V8 u7 k9 q 进程,简单的说,是一个正在运行的程序。& r) c5 `- P& F7 Q
进程与程序既有联系又有区别,主要表现为下面结构方面:) p: n+ w1 ^1 N
A、程序由数据和代码两部分内容组成,它是一个静态的概念。而进程是正在执行的程序,它也由两部分组成:程序和该程序的运行上下文。它是一个动态的概念。& r; x& K& K) Y
B、程序和进程之间并不是一一对应的。一个进程在运行的时候可以启动一个或多个程序。反之,同一个程序也可能由多进程同时执行。, Z& \; z6 @, _2 o; t' s
C、程序可以作为一种软件资源长期保存,以文件的形式存放在光盘或硬盘上,而进程则是一次执行的过程,它是暂时的,是动态的产生和终止。: a4 R, R( l& p# T3 w! @) d0 w
一个进程至少应包括三个方面:相应的程序、CPU上下文、一组系统资源。
! w+ n! N8 f3 I' s 进程有三个特性:" x4 ?+ P$ Y* v8 N
A、动态性:进程是正在运行的程序,而程序的运行状态是不断变化的。, a- Y! F( H% j! j
B、独立性:进程是系统资源的使用单位,每个进行有自己的运行上下文和内部状态。
4 f) ~% l, `6 q& b+ B0 p C、并发性:宏观来看,系统中同时有多个进程存在,它们相互独立地运行。/ v2 \3 o. ~3 K! E
注:对于并发的理解。
: w H' K; h3 V$ P" j 在单CPU 的情况下,所谓的并发性指的是宏观上的并发运行,而微观上还是顺序进行,各个进程轮流去使用CPU 资源。在单核CPU 中,真正的、物理上的PC 寄存器只有一个,进程在轮流执行的时候,物理PC 的取值也在不断变化。而逻辑PC 其实就是一个内存变量。每个进程都有一个逻辑PC,当一个进程要运行的时候,就把它的逻辑PC 装载到物理PC 中去;反之,当一个进程暂不运行的时候,就把物理PC中的值保存在它的逻辑PC 当中。" [, R: y* x" [1 h
(3)线程
& ~) a( y) P2 d2 K5 {. @ 线程就是进程当中的一条执行流程。, w, o; Q" e6 _: n& e. P6 T
进程其实包含两个部分:资源平台和执行流程(线程)。- \# x5 g8 b! m( c/ }
在一个进程当中,或者说在一个资源平台上,可以同时存在多个线程;可以用线程作为CPU 的基本调度单位,使得各个线程之间可以并发执行;对于同一个进程当中的各个线程来说,他们可以共享该进程的大部分资源。每个线程都有自己独立的CPU运行上下文和栈,这是不能共享的 |