进程的定义
1. 一个正在执行中的程序;
2. 一个正在计算机上执行的程序实例;
3. 能够分配给处理器并由处理器执行的实体;
4. 一个具有以下特征的活动单元:一组指令序列的执行,一个当前状态和相关系统资源的集合;
由一组元素(包括两个基本元素:程序代码和代码相关的数据集)组成的实体,如果处理器开始执行该代码,这个执行实体就称为进程。在进程执行的任意一个时刻,都可以唯一的被表示为以下元素:
标识符:和进程相关的唯一标示,用以区分不同的进程;
状态:执行态,阻塞态,就绪态等;
优先级:相对于其他进程的优先级;
程序计数器:程序中即被执行的下一条指令的地址;
内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享内存块的指针;
上下文数据:进程执行时处理器寄存器的数据;
I/O状态信息:包括显示I/0请求,分配给进程的I/O设备,被进程使用的文件列表;
审计信息:包括处理器的使用时间,时钟数总和等等;
这些信息都存放在一个叫做进程控制块的数据结构中,该控制块由操作系统创建和管理。进程控制块包含了充分的信息,这样操作系统就可以中断一个进程的执行,当进程被中断时,操作系统会把程序计数器和处理器寄存器保存到进程控制块的相应位置,并且进程状态值(如阻塞态)也会改变。然后操作系统就可以将其他进程的状态置为运行态,把要执行的进程的程序计数器和进程上下文数据加载到处理器寄存器中,这样其他进程就可以开始执行了。因此,可以认为进程由程序代码,相关数据以及进程控制块组成。
进程的创建
当一个新的进程需要被添加到进程队列中时,操作系统需要建立用于管理该进程的数据结构,并在主存中为它分配地址空间。
状态模型
运行态:进程正在执行。如果计算机只有一个处理器,那么就最多一个进程处于此状态;
就绪态:进程做好运行的准备,等待处理器执行的机会;
阻塞态:进程在某些事件发生之前不能执行,如等待I/0操作的完成;
新建态:刚创建完成的进程,并没有加入到执行列表中。通常是进程块已经创建,但是并没有加载到主存中;
退出态:因为某种原因,进程的执行被终止。
最近浏览


