欢迎来到天天文库
浏览记录
ID:39504583
大小:50.50 KB
页数:4页
时间:2019-07-04
《计算机知识之进程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.进程的引入: 多道程序在执行时,需要共享系统资源,从而导致各程序在执行过程中出现相互制约的关系,程序的执行表现出间断性的特征。这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其它执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质,人们引入“进程(Process)”概念。2.进程的概念: 进程的概念是60年代初首先
2、由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。 进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(textregion)、数据区域(dataregion)和堆栈(stackregion)。文本区域存储处理器执行的代码;数据区域存储变量和进程执
3、行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。 进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。 操作系统引入进程的概念的原因: 从理论角度看,是对正在运行的程序过程的抽象; 从实现角度看,是一种数据结构,目的在于清晰地刻划动态系统的内在
4、规律,有效管理和调度进入计算机系统主存储器运行的程序。3.进程的特征 动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。 并发性:任何进程都可以同其他进程一起并发执行 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位; 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进 结构特征:进程由程序、数据和进程控制块三部分组成。4.进程的内容 一个计算机系统进程包括(或者说“拥有”)拥有下列数据: 那个程序的可运行机器码的一个在存储
5、器的图像。分配到的存储器(通常包括虚拟内存的一个区域)。存储器的内容包括可运行代码、特定于进程的数据(输入、输出)、调用堆栈、堆栈(用于保存运行时运数中途产生的数据)。分配给该进程的资源的操作系统描述子,诸如文件描述子(Unix术语)或文件句柄(Windows)、数据源和数据终端。安全特性,诸如进程拥有者和进程的权限集(可以容许的操作)。处理器状态(内文),诸如寄存器内容、物理存储器寻址等。当进程正在运行时,状态通常储存在寄存器,其他情况在存储器。[1][2][3]5.进程切换 进行进程切换就是从正在运行的进程中收回处理器,然
6、后再使待运行进程来占用处理器。 这里所说的从某个进程收回处理器,实质上就是把进程存放在处理器的寄存器中的中间数据找个地方存起来,从而把处理器的寄存器腾出来让其他进程使用。那么被中止运行进程的中问数据存在何处好呢?当然这个地方应该是进程的私有堆栈。 让进程来占用处理器,实质上是把某个进程存放在私有堆栈中寄存器的数据(前一次本进程被中止时的中间数据)再恢复到处理器的寄存器中去,并把待运行进程的断点送入处理器的程序指针PC,于是待运行进程就开始被处理器运行了,也就是这个进程已经占有处理器的使用权了。 这就像多个同学要分时使用同一
7、张课桌一样9说是要收回正在使用课桌同学的课桌使用权,实质上就是让他把属于他的东西拿走;而赋予某个同学课桌使用权,只不过就是让他把他的东西放到课桌上罢了。 在切换时,一个进程存储在处理器各寄存器中的中间数据叫做进程的上下文,所以进程的切换实质上就是被中止运行进程与待运行进程上下文的切换。在进程未占用处理器时,进程的上下文是存储在进程的私有堆栈中的。6.进程与程序的关系 程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。 程序可以作为一种软件资料长期存在
8、,而进程是有一定生命期的。程序是永久的,进程是暂时的。 进程更能真实地描述并发,而程序不能; 进程是由进程控制块、程序段、数据段三部分组成; 进程具有创建其他进程的功能,而程序没有。 同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说
此文档下载收益归作者所有