进程(1)进程的内存映像

当一个程序进入计算机的主存储器进行计算就构成了进程,主存储器中的进程到底是如何组成的?操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文(process context)。当系统调度新进程占有处理器时,新老进程随之发生上下文切换,因此,进程的运行被认为是在进程的上下文中执行的。在操作系统中,进程上下文包括三个组成部分:
用户级上下文(user -level context):由用户进程的程序块、用户数据块(含共享数据块)和用户堆栈组成的进程地址空间。
系统级上下文(system -level context):包括进程的标识信息、现场信息和控制信息,进程环境块,以及系统堆栈等组成的进程地址空间。

 

寄存器上下文(register context):由程序状态字寄存器、各类控制寄存器、地址寄存器、通用寄存器、用户栈指针等组成。

进程的内存映像可以很好地说明进程的组成。简单的说,一个进程映像(Process Image)包括:
进程程序块,即被执行的程序,规定了进程一次运行应完成的功能。通常它是纯代码,作为一种系统资源可被多个进程共享。
进程数据块,即程序运行时加工处理对象,包括全局变量、局部变量和常量等的存放区以及开辟的工作区,常常为一个进程专用。
系统/用户堆栈,每一个进程都将捆绑一个系统/用户堆栈。用来解决过程调用或系统调用时的信息存储和参数传递。
进程控制块,每一个进程都将捆绑一个进程控制块,用来存储进程的标志信息、现场信息和控制信息。进程创建时,建立进程控制块;进程撤销时,回收进程控制块,它与进程一一对应。

可见每个进程有四个要素组成:控制块、程序块、数据块和堆栈。

你可能感兴趣的:(嵌入式应用开发)