您好,欢迎访问三七文档
14-多任务处理--进程、线程与处理机2内容暖场概述进程线程处理机3暖场4例1打开你的Windows任务管理器5什么是任务,什么是多任务处理?“任务”指的是要计算机做的一件事,计算机执行一个任务通常就对应着运行一个应用程序“单任务处理”与“多任务处理”单任务处理:前一个任务完成后才能启动后一个任务的运行,任务是顺序执行的多任务处理(Multi-tasking):允许计算机同时执行多个任务,任务是并发执行的多任务处理举例:编辑PPT讲稿+播放音乐+收发邮件多任务处理的优点:大大提高了用户的工作效率大大提高了计算机的使用效率6OS如何支持多任务处理?为什么可以实现多任务处理?CPU速度极高,必须并且可以充分发挥CPU的效能CPU与I/O(外围设备)可以并行工作各个外围设备之间可以并行工作实现多任务处理要解决哪些问题?CPU如何管理和调度存储器空间如何分配和管理I/O设备和I/O操作如何管理和控制谁来解决上述问题?不是应用程序自己,而是操作系统(OS)!7.单道程序设计环境下的程序特点1.资源的独占性程序A程序B程序C时间4234245330469141820232630图例:打印机输出CPU执行..执行的顺序性结果的再现性进程(Process)8进程多道程序设计环境下的程序特点2.程序A时间0469121517131822程序B程序C执行的并发性:宏观上,在内存的多个程序都按自己程序规定的操作步骤向前推进;微观上,CPU在任何时刻只执行一个程序,它们轮流占用CPU,交替地执行着。相互的制约性:内存里的多个程序共享系统中的资源,相互间必然有各种制约。一种是“间接制约关系”,另一种是“直接制约关系”。状态的多变性:诸多程序在运行过程中有着各种制约关系,致使内存中每一个程序的状态总在不断的变化之中:时而获得CPU处于运行状态;时而由于输入/输出或申请某种资源未得到满足而只好挂起来等待。它们走走停停,停停走走,交替式地向前推进,直至终点。图例:打印机输出CPU执行9进程1.进程的定义“进程”(Process)这一术语,在60年代初期,首先在美国MIT的MULTICS系统和IBM公司的CTSS/360系统中引入。其中能反映进程实质的定义有:(1)进程是程序的一次执行。(2)进程是可以和其他计算并发执行的计算。(3)进程是一个程序及其数据在处理机上顺序执行时发生的活动。(4)进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。(1978)102.进程的特性动态性进程是一个动态的概念,强调的是程序的一次“执行”过程;程序则是一组有序指令的集合,它不涉及“执行”,是一个静态的概念。每个进程都有自己的生命期。进程的本质是程序的一次执行过程,当系统要完成某项工作时,它就“创建”一个进程,以便执行事先编写好的、完成该工作的那段程序。程序执行完毕、完成预定的任务后,系统就“撤消”这个进程,收回它所占用的资源。一个进程创建后,系统就感知到它的存在;一个进程撤消后,系统就无法再感知到它。于是从创建到撤消,这个时间段就是一个进程的“生命期”。独立性指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调动的基本单位。进程112.进程的特性并发性进程之间具有并发性。在一个系统中,同时会存在多个进程,与它们对应的多个程序同时在系统中运行,轮流占用CPU和各种资源。这正是多道程序设计的初衷,说明这些进程在系统中并发执行着。不同进程可执行同一个程序。由进程的定义可知,区分进程的条件一是所执行的程序,二是数据集合。即使多个进程执行相同的一个程序,只要它们运行在不同的数据集合上,它们就是不同的进程。异步性进程间会相互制约。由于进程是系统中资源分配和运行调度的单位,因此在对资源共享和竞争中,必然会相互制约,影响了各自向前推进的速度。。进程123.进程与程序的关系(1)从定义上看,进程是程序处理数据的过程,而程序是一组指令的有序集合;(2)进程具有动态性、并发性、独立性和异步性等,而程序不具有这些特性;(3)从进程结构特性上看,它包含程序(以及数据和进程控制块PCB);(4)进程和程序并非一一对应。进程134.系统进程与用户进程在多道程序设计系统中,既有操作系统程序,又有用户程序,因此整个系统中存在着两类进程:一类是系统进程,一类是用户进程。操作系统中用于管理系统资源的那些可以并发执行的程序,构成了一个个系统进程,它们提供系统的服务,分配系统的资源;而可以并发执行的用户程序段,形成一个个用户进程,它们是操作系统的服务对象,是系统资源的实际享用者。系统进程与用户进程的主要区别:系统进程间的相互关系由操作系统负责协调,以利于增加系统的并行性,提高资源的整体利用率;用户进程间的相互关系由用户自己(在程序中)安排。系统进程直接管理软、硬件资源的有关活动;而用户进程则不得插手资源管理,在需要使用资源时,必须向系统提出申请,由系统统一调度与分配。系统进程与用户进程都要使用系统中的各种资源,它们都是资源分配与运行调度的独立单位,但系统进程的使用级别,应该高于用户进程。也就是说,在双方出现对资源的竞争时,系统进程有优先获得资源、优先得到运行的权利。只有这样,才能保证计算机系统高效、有序的工作。进程14例2再看一个小程序15例3再探Windows任务管理器161.线程的由来自20世纪60年代提出进程概念后,在操作系统中一直以进程作为能独立运行的基本单位。直到20世纪80年代中期,人们为了减少程序并发执行时的时空开销(如进程创建、切换和通信开销),进一步提高程序的并发执行程度,进而提高系统的吞吐量,提出了比进程更小的能独立运行的基本单位——线程。线程(Thread)171.线程的由来回顾进程的基本属性:进程是一个可拥有资源的独立单位;进程又是一个可独立调度和分配的基本单位。合起来,进程便成为一个能独立运行的基本单位,从而构成了程序并发执行的基础。简言之,由于进程是一个资源的拥有者,在执行这些操作时会付出较大的时间开销。因此在系统中所设的进程数目不宜过多,切换不宜过于频繁,这就限制了系统的并发程度。线程(Thread)182.线程的定义线程是进程中的一个实体,是被系统独立调度和分配的基本单位,故又称为轻型(轻权)进程(LightWeightProcess)。一个进程中至少有一个线程。线程继承所属进程的一切资源,它自己只拥有运行所需的很少的一点资源,如几个寄存器和一个堆栈等。因此,一个进程内的几个线程之间的切换的开销比进程间切换的开销小得多,这是系统引入线程可以提高效率和并发性的主要原因。线程(Thread)(a)单进程,单线程(b)单进程,多线程(c)多进程,每个进程一个线程(d)多进程,每个进程多个线程19进程是应用程序的执行实例每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。线程是进程内部的一个执行单元系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式,比如说main或WinMain函数,将程序的启动点提供给Windows系统。主执行线程终止了,进程也就随之终止。线程(Thread)3.小结20每一个进程至少有一个主执行线程,它无需由用户去主动创建,是由系统自动创建的。用户根据需要在应用程序中创建其它线程,多个线程并发地运行于同一个进程中。一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间、全局变量和系统资源。每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。线程(Thread)3.小结21文件输入输出装置各种系统资源数据区段程序区段只有一个地方在执行文件输入输出装置各种系统资源数据区段程序区段同时有数个地方在执行传统的进程多线程的任务线程(Thread)3.小结22处理机--CPU的管理目的:让CPU轮流为所有任务服务原则:公平性;优先级;负载均衡方法:按优先级调度按时间片轮转(10-20ms为1个时间片)任务1任务2任务3任务4任务5时间时间任务23Windows中的处理器管理Windows为了确保每个已经启动的任务都有机会运行,它采用“抢先式”多任务处理技术:由硬件计时器大约每10-20ms发出1次中断信号,Windows立即暂停当前正在运行的任务,查看当前所有的任务,选择其中的一个交给CPU去运行只要时间片结束,不管任务有多重要,也不管它执行到什么地方,正在执行的任务就会被强行暂时终止上述的任务调度,每秒钟要进行几十次~几百次实际上,操作系统本身的若干程序也是与应用程序同时运行的,它们一起参与CPU时间的分配。当然,不同程序的重要性不完全一样,它们获得CPU使用权的优先级也有区别24多任务处理与多核CPUCPU瞬间可同时执行的线程(任务)数目:单核CPU:1■双核CPU:2■四核CPU:4InstructionsResultsaresequenced1.就绪线程排队等候进入CPU处理2.那一个CPU空闲,就把等候的线程交给它执行3.每个CPU负责完成分配给它的线程谢谢!
本文标题:04-多任务处理
链接地址:https://www.777doc.com/doc-3152297 .html