第8章ARMLinux进程与进程调度本章教学目的及要求理解Linux的进程管理了解ARMLinux进程控制相关API了解Linux守护进程进程相关的基本概念嵌入式操作系统可以分为两种类型:–单道程序设计(在操作系统当中,在任何时刻只能有一个程序在运行)–多道程序设计(在操作系统当中,允许多个程序同时存在并运行),比较普遍。同时执行的程序在只有一个CPU的情况下,瞬时只能执行其中的一个程序,由此它们的执行有并发性、宏观性。每一个程序都是走走停停的,操作系统利用外设与CPU可以同时执行这个事实,进行调度,实现程序的并发。进程相关的基本概念由于在多道系统中,允许有多个程序同时存在,各个程序之间是并发执行的,他们共享系统的资源。CPU需要在各个运行的程序之间来回切换,这样仅仅依靠静态的“程序”这个概念,要想描述多道并发活动就非常困难。因此,必须提出一种新的概念实体,即“进程(process)”。进程相关的基本概念进程的概念首先在20世纪60年代初期由MIT的Multics系统和IBM的TSS/360系统中引入的。简单地说,进程就是一个正在运行的程序。进程包含了正在运行的一个程序的所有状态信息,一个进程至少应该包括以下几个方面的内容:–程序–CPU上下文:包括程序计数器、程序状态字、寄存器。–一组系统资源:包括操作系统用来管理进程的数据结构、进程的内存地址空间、进程正在使用的文件等。进程和程序有本质的区别:–程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念;–进程是一个动态的概念,它是程序执行的过程,包括了动态创建、调度和消亡的整个过程,它是程序执行和资源管理的最小单位。–一个进程在运行的时候可以启动一个或多个程序。–同一个程序也可能由多个进程同时执行,如word程序进程有三个特性:–动态性:进程是一个正在运行的程序,程序的运行状态是在不断变化的。–独立性:运行的时候独立于其他的进程。–并发性:宏观上,在系统中同时有多个进程存在,他们相互独立的运行。线程(更小的能独立运行的基本单位)就是进程当中的一条执行流程。CPU上下文和栈两种资源不能与其他线程共享,每个线程必须有自己独立的一份。在许多嵌入式操作系统中,通常把能独立运行的实体称为“任务”。8.1ARMLinux进程管理8.1.1进程描述符及任务结构1.进程进程是一个实体。每一个进程都有它自己的地址空间,包括文本区域、数据区域和堆栈区域。进程是一个“执行中的程序”进...