进程与线程问题我们在前几期的文章中已经给大家介绍过很多次了,而今天我们就通过案例分析来了解一下,java编程进程定义与特征。
进程定义
进程是允许并发执行的程序在某个数据集合上的运行过程。
进程是由:正文段,用户数据段,进程控制块共同组成的执行环境。
正文段:存放被执行的机器指令。
用户数据段:进程在执行过程中是直接进行操作的用户数据。
进程控制块:存放程序的运行环境,操作系统通过这些数据描述和管理进程。
程序装入内存后就可以运行了,根据指令计数器(PC)的值,不断将指令从内存取到CPU的指令寄存器中,经过译码后完成各种操作。
进程特征
并发性
多个进程实体在一段时间间隔内同时运行。
动态性
进程是进程实体的执行过程。表现在因执行程序而创建进程,因获得CPU而执行进程的指令,因运行终止而撤销的动态变化过程。
独立性
没有引入线程概念的操作系统,进程是独立运行和资源调度的基本单位
异步性
进程执行时断时续,进程什么时候执行,什么时候暂停都无法预知呈现一种随性的特性。
结构特征
进程的实体包括:用户正文段,用户数据段,进程控制块。
进程VS程序
区别
程序是静态的,进程是动态的。程序是永久的,进程是暂时存在的。程序和进程存在实体不同。
联系
进程是程序的一次执行,进程总是对应至少一个特定的程序,执行程序的代码。一个程序可以对应多个进程。同一个程序可以在不同的数据集合上运行,因而构成若干个不同的进程。