进程
进程这个概念体现在并发执行的程序模型中。在程序的顺序执行中,处理器严格按照程序所规定的顺序运行,并且这个程序独占全部资源直到结束。顺序执行的程序具有顺序性,封闭性和可再现性。为了提高处理器的性能和提高资源利用率,我们提出了程序的并发执行(属于TLP(线程级并行)技术)。程序的并发执行与顺序执行相对,多个程序并发执行,它们共享资源,但是由于资源的有限性,程序的并发执行过程中必然会伴随着资源的竞争与共享。并发执行的程序不具有封闭性,没有可再现性,但是我们需要保证并发执行的程序与顺序执行程序的一致性,因此,提出了进程这个概念用于描述程序执行过程以及作为共享资源的基本单位。
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。进程是资源分配的单位,并且是一个动态的执行过程,其可以定义为并发执行的程序在一个数据集上的执行过程。
PCB_7">PCB
在操作系统中,进程包含可执行程序、数据、系统栈和进程控制块(PCB)。进程控制块(Processing Control Block),是操作系统核心中一种数据结构,主要表示进程状态。其作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位或与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。
PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息,它使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位或一个能与其他进程并发执行的进程。
程序计数器:接着要运行的指令地址。
进程状态:可以是new、ready、running、waiting或 blocked等。
CPU暂存器:如累加器、索引暂存器(Index register)、堆栈指针以及一般用途暂存器、状况代码等,主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因体系结构而有所差异。
CPU排班法:优先级、排班队列等指针以及其他参数。
存储器管理:如标签页表等。
会计信息:如CPU与实际时间之使用数量、时限、账号、工作或进程号码。
输入输出状态:配置进程使用I/O设备,如磁带机。