一 程序与线程
1)程序是一个静态概念,是一组指令的集合,是一种静态概念。而进程是程序及其数据执行的过程是一个动态的概念。
2)进程是一个执行过程。能够动态的创建和消亡,具有一定的生命周期。而程序 是一组 代码的集合,永久纯在可长期保存。
3)从静态的角度考虑,进程有程序块,数据和pcb三部分组成,而程序是一组有序的指令集合
二 进 程
1.为什么要引入进程:
在多道程序同时运行的背景下,程序之间需要共享系统资源,这样就会导致各程序在执行过程中出现相互制约的关系,程序的执行就会表现出间断性的特性。这些特性都是在程序的执行过程中发生的,是动态的过程。而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述在内存的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其他执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行的特征。为了深刻描绘程序动态执行过程的性质乃至更好地支持和管理多道程序的并发执行,人们引入了进程概念。
2.进程的定义及组成
一个进程实体由程序段、相关数据段和PCB三部分构成,其中PCB是标志一个进程存在的唯一标识,程序段是进程运行的程序代码,数据段则存储程序运行过程中相关的一些数据。
3.进程如何解决问题
4.进程的状态
5.进程状态的转换
1.就绪->运行:经过处理机的调度,就绪进程获得到处理机资源。
2.运行->就绪:时间片用完,或者在可剥夺系统中有更高优先级进程进入。
3.运行->阻塞:进程需要的某个资源还没准备好
4.阻塞->就绪:进程需要的资源已准备好
三 线程
1.什么是线程
2.为什么要引入线程
1、便于调度
2、线程共享进程的数据和代码,相比进程需要通过显示才能通信更加的简便快捷,启动和切换速度更快。
3、具有高并发性,可以启动多个线程执行程序中的不同部分。
4、充分利用处理器的功能,让每一个处理器上运行不同的线程。实现程序的高度并发。
3.进程和线程的区别