进程 线程 作业 管程 小结

来源:互联网 发布:淘宝手机兼职怎么做 编辑:程序博客网 时间:2024/05/22 00:28

1.进程
是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.所以,一个程序在不同数据集合上运行,乃至一个程序在同样数据集合的多次运行董事不同的进程。

特征:
动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
并发性:任何进程都可以同其他进程一起并发执行
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进
结构特征:进程由程序、数据和进程控制块三部分组成。
多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。

状态:
进程执行时的间断性,决定了进程可能具有多种状态。事实上,运行中的进程可能具有以下三种基本状态。
  1)就绪状态(Ready):
  进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。
  2)运行状态(Running):
  进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。
  3)阻塞状态(Blocked):
  由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。该事件发生前即使把处理机分配给该进程,也无法运行。
2.线程
线程:是进程的一个实体,是CPU调度和分派的基本单位。它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.


注:进程与线程的区别联系
进程与线程的区别
①、在调度方面,线程是调度和指派的基本单位,而进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程切换。在不同的进程中进行线程切换,如一个进程内的线程切换到另一个进程中的线程时,将会引起进程切换。
②、在拥有资源方面,线程不拥有系统资源,但可以访问其隶属进程的系统资源,从而获得系统资源。 进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
③、在并发性方面,在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多线程之间也可并发执行,从而使操作系统具有更好的并发性,大大提高系统的吞吐量。
④、调度切换的系统开销方面,进程切换时的时空开销很大,但线程切换时,只需保存和设置少量寄存器内容,因此开销很小。
另外通信方面,进程间通信IPC,而线程通信由于同一进程内的多个线程共享进程的相同地址空间,线程间可以直接读写进程数据段(如全局变量)来进行通信。因此,多线程之间的同步与通信非常容易实现,甚至无须操作系统内核的干预
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序 健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

进程与线程的联系
进程本身不会运行,是线程的容器。线程不能单独执行,必须组成进程。一个程序至少有一个进程,一个进程至少有一个线程。


3.作业
作业是用户在一次解决或是一个事务处理过程中要求计算机系统所做的工作的集合,它包括用户程序、所需要的数据集控制命令等。作业是由一系列有序的步骤组成的。作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。在执行一个作业可能会运行多个不同的进程。

4.管程
管程实际上是定义了一个数据结构和在该数据结构上的能为并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。它是一种进程同步机制。在结构上类似于面向对象中的类。在功能上和信号量和p,v操作类似。可以更方便的管理系统的临界资源。

管程要素:
1、安全性:管程中的数据变量在管程之外是不可见的,只能有该管程的操作过程存取。
2、互斥性:任一时刻只能有一个调用者进入管程。
3、等待机制:设置等待队列及相应的操作,对资源进行管理。


注:学习了别人发表的文章,小结一下

0 0
原创粉丝点击