预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共82页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第四讲进程描述与控制一、多道程序设计1.顺序程序(1/2)特征:程序执行的顺序性一个执行结束,另一个开始执行。程序执行的封闭性独占资源,执行过程中不受外界影响。程序执行结果的确定性即:程序结果的可再现性程序运行结果与程序执行速度无关,只要初始状态相同,结果应相同。2.并发程序(1/4)在顺序环境下,A先执行,B再执行CPU利用率=40/80=50%DEV1利用率=15/80=19%DEV2利用率=25/80=31%并发程序(3/4)特征:(1)程序执行结果的不可再现性并发程序执行的结果与其执行的相对速度有关,是不确定的。(2)在并发环境下程序的执行是间断性的执行——停——执行(3)资源共享系统中资源被多个程序使用。(4)独立性和制约性独立的相对速度、起始时间。程序之间可相互作用(相互制约),可分为直接作用和间接作用。(5)程序和计算不再一一对应(计算:一个程序的执行)3.多道程序设计(Multiprogramming)4.与时间有关的错误(1/4)Cobeginget;copy;put;Coendfstg初始状态3,4,...,m22(1,2)g,c,p4,5,...,m33(1,2,3)g,p,c4,5,...,m33(1,2,2)Xc,g,p4,5,...,m32(1,2,2)Xc,p,g4,5,...,m32(1,2,2)Xp,c,g4,5,...,m32(1,2,2)Xp,g,c4,5,...,m33(1,2,2)X设信息长度为m,有多少种可能性?二、进程的基本概念1.进程的概念进程何时创建?进程何时中止?进程中止的原因(1/2)进程中止的原因(2/2)程序与进程的区别进程分类2.进程的基本状态及其转换进程的三种基本状态进程状态转换进程状态转换的原因创建状态,终止状态挂起(suspend)状态进程没有占用内存空间处在挂起状态的进程映像在磁盘上(调节负载,对换)五状态进程模型七状态进程模型(1/4)七状态进程模型(2/4)挂起(Suspend):把一个进程从内存转到外存;可能有以下几种情况:阻塞→阻塞挂起:没有进程处于就绪状态或就绪进程要求更多内存资源时,发生这种转换,以提交新进程或运行就绪进程。就绪→就绪挂起:当有高优先级阻塞(系统认为会很快就绪的)进程和低优先级就绪进程时,系统会选择挂起低优先级就绪进程。运行→就绪挂起:对抢占式系统,当有高优先级阻塞挂起进程因事件出现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态。激活(Activate):把一个进程从外存转到内存;可能有以下几种情况:就绪挂起→就绪:没有就绪进程或挂起就绪进程优先级高于就绪进程时,发生转换。阻塞挂起→阻塞:当一个进程释放足够内存时,系统会把一个高优先级阻塞挂起(系统认为会很快出现所等待的事件)进程转换为阻塞进程(调入内存)。Linux进程状态(1/3)Linux进程状态(2/3)Linux进程状态(3/3)3.进程控制块(ProcessControlBlock,PCB)PCB的内容(1/3)PCB的内容(2/3)PCB的内容(3/3)PCB组织方式(1/5)PCB组织方式(2/5)PCB组织方式(3/5)PCB组织方式(4/5)PCB组织方式(5/5)4.进程映像(进程要素)进程虚拟地址空间进程上下文环境(context)5.进程控制(1)进程的创建(2)进程的撤消6.进程的特征(1/2)进程的特征(2/2)【思考题】三、线程的基本概念1.线程的引入(1/4)线程的引入(2/4)线程的引入(3/4)线程的引入(4/4)引入线程的好处例子2.线程与进程的比较3.线程的实现机制(1)用户级线程(UserLevelThread)对用户级线程的核心活动用户级线程的优点和缺点(2)核心级线程(KernelLevelThread)核心级线程的优点和缺点(3)ULT和KLT结合方法4.Solaris进程线程模型Solaris进程模型LWP轻量级进程进程、内核线程和LWP的关系进程的概念视图进程执行环境重要的数据结构进程的数据结构——proc内核线程和用户线程用户线程、内核线程、lwp三者之间的关系多线程模型的演化作业