欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《操作系统原理》第二章进程管理.ppt

    • 资源ID:6527570       资源大小:352KB        全文页数:87页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《操作系统原理》第二章进程管理.ppt

    第二章 进程管理,在多道程序批处理系统和分时系统中,程序并不能独立运行,操作系统引入 进程作为资源分配和独立运行的基本单位,并按照进程的观点进行设计,现代操作系统的重要特征:程序的并发性和资源的共享性(这二者是相互联系和相互依赖的。)现代操作系统是围绕进程这个概念设计和构造的。操作系统必须交替执行多个进程,以提高处理器的利用率,本章主要内容,进程的引入和概念进程的描述:进程状态、PCB进程控制:创建、撤销、阻塞、唤醒处理机的调度线程的引入,进程的引入和概念,程序的顺序执行程序:指令或语句序列的集合,体现了某种算法 所有程序是顺序的程序的顺序执行:在任何时刻,机器只执行一个操作,只有在前一个操作执行完后,才能执行后继操作。,程序的顺序执行,例如:一个有四条语句的程序段:S1:a:=x+2;S2:b:=y+4;S3:c:=a+b;S4:d:=c+b;,S1,S2,S3,S4,程序顺序执行的特征,顺序性:处理机的操作严格按照程序所规定的顺序执行,即每一个操作必须在下一个操作之前结束。资源独占性(封闭性):运行程序独占全机资源。系统资源状态由运行的这个程序决定和改变。执行过程中不受外界因素影响。结果无关性(可再现性):程序运行结果与程序执行速度无关,只要环境和初始条件相同,程序重复执行总能得到相同结果。,程序顺序执行优缺点,优点:由于顺序程度的资源独占性(封闭性)和结果无关性(可再现性),为程序员调试程序带了很大方便缺点:由于资源的独占性,使得系统资源利用率非常低,程序并发执行,并发处理技术引入:大大提高了计算机的利用率、运行速度和系统的处理能力。程序的并发执行:是指若干个程序(或程序段)同时在系统中运行,这些程序(或程序段)的执行在时间上是重叠的,一个程序(或程序段)的执行尚未结束,另一个程序(或程序段)的执行已经开始。,程序并发执行,例如:一个有四条语句的程序段:S1:a:=x+2;S2:b:=y+4;S3:c:=a+b;S4:d:=c+b;,S1,S2,S3,S4,并发执行,程序并发执行的特征,1、失去了程序的封闭性和可再现性 程序在并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性;由于失去了封闭性,也将导致失去其可再现性。,程序并发执行的特征,例如:程序A L1:N:=N+1;Goto:L1,程序B L2:PRINT(N);N:=0;Goto:L2,设共享变量N初值为5,则会产生3种执行结果1)6,6,02)5,0,13)5,6,0,程序并发执行的特征,2、并行执行的程序间产生了相互制约关系 因共享资源或协调完成同一任务,使得并发程序之间发生了相互制约关系间接制约关系 例:系统中并发执行的程序段A和B在运行过程中都希望使用打印机输出计算结果,若系统只有一台打印机,分得打印机的程序段(假设A得到)可以继续运行,而没有得到打印机的程序段B就不得不暂停,等到有可用打印机时才能继续执行。我们称这种制约关系为间接制约关系 产生间接制约关系的原因主要是竞争相同资源,程序并发执行的特征,直接 制约关系是各个并发执行的程序段之间需要协调共同完成同一个任务引起的。例如:ps-ef|grep httpd 这两条命令就需要两个程序通过管道实现两者之间协作完成用户希望的工作。在并发环境下程序的执行是间断性的:执行-暂停-执行,程序并发执行的特征,3、程序与CPU执行活动之间不再一一对应程序:是完成某一特定功能的指令或语句序列,是静态概念CPU执行的活动:是一个动态概念,它是程序的执行过程。程序在顺序执行(即单道运行)时,程序与CPU的活动是一一对应的,而在程序并行执行(即多道程序)时,这种关系不再存在。例:在分时系统中,多个用户都调用C编译对自己的源程序进行编译,实际系统只保留一个编译程序,为多个用户进行编译,这里要求编译程序必须是可再入程序(reentry code)可再入程序具有这样的性质:它是纯代码,即在执行过程中自身不改变。可被多个进程同时调用的程序,调用它的进程应该提供各自独立的数据区。由于并发程序的上述这些特点,使得系统中的活动以及各种活动之间的相互关系非常复杂。“程序”这个静态的概念已不能如实地反映系统中的活动情况。为此,现代操作系统引入了进程的概念,进 程,进程这个概念是为了描述系统中各并发活动而引入的。定义:Process 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位 又称任务(Task),进程的特征,动态性并发性独立性异步性结构特征,进程的特征动态性,进程对应程序的执行,是一个动态的过程。进程是动态产生,动态消亡的。进程在其生命周期:进程由创建而产生,由调度而执行,由撤销而消亡的过程。,进程的特征并发性、独立性、异步性,并发性:多个进程同时在内存中,且能在一段时间内同时运行。独立性:进程是一个能独立运行、独立分配资源、独立接受调度的基本单位。例如:各进程的地址空间相互独立异步性:每个进程都以其相对独立的、不可预知的速度向前推进,进程的特征结构特征,进程结构特征 进程=PCB+程序段+数据段,PCB进程控制块,程序段,数据段,动态特征的集中反映,描述要完成的功能,操作对象及工作区,进程和程序的关系,1)动态性和静态性 进程是一个动态概念,程序是一个静态概念。程序可以作为一种软件资源长期保存 进程是把程序作为它的运行实体,没有程序,也就没有进程。可以把程序看做菜谱,而进程则是按照菜谱进行烹饪的过程2)进程控制块 进程由:程序+数据+PCB构成,进程和程序的关系,3)一对多的关系 一个程序可对应多个进程,一个进程为多个程序服务4)并发性 多个进程实体,能在一段时间内同时执行;而程序无法描述并发执行5)进程具有创建其他进程的功能,而程序没有6)操作系统中的每一个程序都是在一个进程现场中运行的,进程分类,系统进程是操作系统管理系统资源并行活动的并发软件;用户进程是可以独立执行的用户程序段。系统进程之间的关系由操作系统负责;用户进程之间的关系由用户负责。为便于用户管理自己的任务,操作系统提供了一套简便的任务调用命令作为协调手段。系统进程直接管理有关的软、硬设备的活动;用户进程只能间接和系统资源发生关系系统进程优先级高于用户进程。,进程的描述,进程控制块进程状态进程的组织,进程控制块(Process Control Block),操作系统在管理和控制进程时必须知道什么?1、进程的位置2、进程属性 进程控制块:与每个进程相关联的操作系统用于控制进程的所有属性的集合。PCB是进程存在系统中的唯一标识。它包含了进程的描述信息和管理控制信息,是进程动态特性的集中表现。,PCB内容,1、进程标识符:用于唯一地标识一个进程。外部标识符:由创建者提供,通常是由字母、数字所组成,往往是由用户访问进程时使用,便于记忆。如计算进程、打印进程、发送进程、接收进程等。内部标识符:OS为每一个进程赋予了一个唯一的整数,作为内部标识。父进程标识符、子进程标识符、用户标识符。,PCB内容(2),2、进程的状态:说明进程目前所处的状态,进程可能的状态在下一节描述。3、CPU现场保护区:当进程由于某种原因不能继续运行时,要将其CPU运行的现场信息保存起来,以便下次继续运行。通常,CPU的现场信息包括:程序计数器(PC)、工作寄存器、程序状态字等。4、CPU的调度信息:包括进程优先级、进程所在各种队列的指针。5、进程要执行的程序在主存和外存起始地址,及存取保护信息。,PCB内容(3),6、进程使用的资源信息:包括分配给进程的I/O设备、正在执行的I/O请求信息、当前进程正打开的文件等。7、记帐信息:包括CPU占用量,实际所用时间量,帐号等。8、进程之间的家族关系:在进程的树型结构系统(如UNIX系统)中,进程之间存在着家族关系。创建进程的进程称为父进程,被创建进程称为子进程。,进程的基本状态及其转换(1),进程的三种基本状态:运行状态、就绪状态和阻塞状态进程在生命消亡前处于且仅处于三种基本状态之一不同系统设置的进程状态数目不同,进程的基本状态及其转换(2),运行状态:进程占有CPU,并在CPU上运行;在单处理机系统只有一个进程处于执行状态。多处理机系统则有多个处于执行状态就绪状态:进程已经分配了除处理机以外的所有必要资源,只要再获得处理机就能够执行的状态。这样的进程可能有多个,通常排成一个队列,称就绪队列。,进程的基本状态及其转换(3),阻塞状态:正在执行的进程由于发生某事件而暂时无法继续运行时,放弃处理机而进入的状态,又称等待状态、封锁态、睡眠态。处于阻塞态的进程在逻辑上是不能运行的,即使CPU空闲,该进程也不可运行 引起阻塞的事件:请求I/O,申请缓存等。,运行,就绪,阻塞,进程调度程序把处理机分配给进程,时间片已用光,进程因某事件(I/O,etc)变成堵塞状态,某事件被解除(如I/O完成),就绪态-运行态:处于就绪态的某进程被进程调度程序的执行选中时。运行态-阻塞态:是由运行进程自己主动改变的。例:一个正在运行的进程启动了某一外围设备后,等待该外围设备传输完成时,使自己由运行态变为阻塞态。阻塞态-就绪态:是由外界事件引起的。例:上面所述的外围设备传输已经完成时,请求中断,由I/O中断处理程序把因等待这一I/O完成而阻塞的进程变为就绪态,由进程状态转换图可以看出:,运行态-就绪态:处于运行态的进程被剥夺CPU时。例:采用时间片轮转法调度时,当前运行进程用完分给它的时间片后,将由运行态变为就绪态;或采用优先级调度时,若有更高优先级的进程变为就绪态,当前进程被迫放弃CPU,使自己由运行态变为就绪态,之后转进程调度。由于系统、进程自身和外界的原因,可能使一个进程多次反复地经历三个基本状态的转换,才能最终达到完成而撤消。,新状态和终止状态 新状态(创建态):刚刚建立,还未送入就绪队列的状态。刚创建,并为它分配资源。终止状态:已正常结束或异常结束,但尚未撤消时。暂留在系统中,以便其它进程去收集该进程的有关信息。创建态就绪态:OS准备好再接纳一个进程时,把一个进程从新建状态转换到就绪状态。大多数系统基于现有的进程数或分配给现有进程的虚存数量设置一些限制,以确保不会因为活跃进程的数量过多而导致系统的性能下降。,进程的五种状态,创建态,运行态,阻塞,终止态,进程调度,被抢占,事件完成,等待事件,进程完成,就绪态,Fork(),接纳,进程控制块的组织方式,PCB是系统对进程进行统一管理的依据。一个系统可有几十个、几百个PCB。为了便于系统查找,目前常用的组织方式如下:1)线性表方式:将所有进程的PCB组成一个数组,系统通过数组下标访问每一个PCB。其组成方式如下:优点:简单,节省存储空间缺点:查找一个指定的PCB较费时间,平均要花费半个PCB的时间,早期的UNIX系统就是采用这种形式的表,2、链接方式:把具有相同状态的PCB,用其中的连接字,链接成一个队列。每一个队列有一个专用队列指针指出该队列中第一个进程PCB所在位置。这样就形成了就绪队列、阻塞队列。处于就绪态的进程可按照某种策略排成多个就绪队列。处于阻塞态的进程又可以根据阻塞的原因不同组织成多个阻塞队列。例如:等待磁盘I/O队列,等待磁带I/O队列等。,PCB1,4,PCB2,3,PCB3,0,PCB4,PCB5,PCB6,PCB7,PCB8,PCB9,PCB10,8,7,9,0,11,执行指针,就绪队列指针,阻塞队列指针,空闲队列指针,进程控制,进程控制,进程控制:指系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间转换。这些功能由OS的内核来实现的。原语:由若干条指令组成。这些指令,要么全做,要么全不做,不允许中断。是不可分割的操作。具有原子操作的性质。用于进程控制的原语有:创建原语、撤销原语、阻塞原语、唤醒原语、挂起原语、解挂原语等等,创建原语,(UNIX系统用fork()系统调用实现进程创建)1、引起创建进程的事件用户登录:在分时系统中,用户在终端键入登录命令后,系统将为该终端用户建立一进程,并把它插入就绪队列。作业调度:在批处理系统中,将作业装入内存时,为它分配必要的资源,系统并立即为它创建进程,再插入就绪队列。提供服务:操作系统为用户提供服务,如打印服务、计算服务等应用请求:完成复杂的计算等,需要自己创建子进程 前三种都是由内核完成的。第四种由用户自己完成,进程创建,一旦OS发现了要求创建新进程的事件后,便调动进程创建原语,步骤如下:1、申请一个空白的PCB,分配唯一的数字标识符。2、为新进程分配资源。为其程序和数据,以及用户栈分配必要的内存空间。3、初始化进程控制块。把调用者提供的参数:进程名、进程优先级、实体所在主存的起始地址、所需的资源清单、记帐信息及进程家族关系等填入PCB结构中。4、将新进程插入到就绪队列中,撤销原语,撤销:是指撤消进程存在的标志(PCB)。1、引起进程终止的事件正常结束:进程运行完,将产生一个中断,通知OS进程已运行完毕。异常结束:进程运行期间,出现某些错误或故障,而迫使进程终止。故障中断。如越界错误、非法指令、等待超时、运行超时、特权指令错等外界干预:a.操作员或系统干预。系统员kill进程、死锁b.父进程终止。操作系统将父进程终止c.父进程请求。父进程有权终止子进程,进程撤销,2、进程的终止过程 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出其状态。若正处于执行状态,则终止,置调度标志为真,待以后重调度。若有子孙进程,也须终止,以防成为不可控的。将其全部资源或归还其父进程或归还系统。将其PCB从所在队列中移出,等待其它程序来搜集信息。,进程的阻塞与唤醒,1、引起进程的阻塞的事件 处于运行状态的进程,在其执行过程中期待某一事件发生,进程自己执行阻塞原语,使自己由运行态变为阻塞态:等待键盘输入;等待磁盘的数据传输完成;或等待其它进程发送一个信息等等,2、阻塞过程中断CPU.将其运行现场保存在其PCB中。置状态为阻塞态。插入阻塞队列。转进程调度。,3、唤醒过程 被阻塞进程所期待的事件出现了,则由有关进程调用唤醒原语将其唤醒。把被阻塞进程从阻塞队列中移出。将其PCB的现行状态改为就绪状态。插入就绪队列中。,进程的挂起和解挂(激活),1、进程的挂起 根据实际情况的需要,通常引入挂起原语,以便将正在执行的或还未执行的进程挂起一段时间。2、进程的解挂(激活)当挂起进程的原因可以被解除时,调用挂起原语,将被挂起进程解挂,使它由静态变为活动,处理机调度,处理机调度的级别,作业调度(Job Scheduler),处理机的高级调度进程调度(Process Scheduler),处理机的低级调度处理机的交换调度,进程调度,在多道程序系统中,用户进程数往往超过处理机数,另外,操作系统还要建立若干个系统进程完成系统功能。多进程竞争处理机。将处理机动态地分配给系统中的各个就绪进程,使之执行。由于上述理由,要求实现进程调度。进程调度程序完成分配处理机的任务。何时分配CPU,则是调度时机问题。,进程调度,进程调度:就是系统按照某种算法动态、合理地把CPU分配给某一就绪进程。进程调度程序:完成进程调度工作的程序。进程调度的功能1、记录系统中各进程的执行状况 管理系统中各进程的进程控制块,将进程的状态变化及资源需求情况及时地记录到进程控制块中。进程调度程序就是通过PCB变化来准确地掌握系统中所有进程的执行情况和状态特征的。当需要时,从就绪队列中选出一个进程占有CPU。,进程调度的功能(2),2、根据进程调度算法分配CPU 按照系统规定的调度策略从就绪队列中选择一个进程让其占有CPU执行,并记录相关信息。进程调度依据的算法是与系统的设计目标相一致。对于不同的系统,通常采用不同的调度策略。对于批处理系统常采用短作业的进程优先,以减少各作业的周转时间。对于分时系统,更多地采用时间片轮转。具体算法,下面再具体介绍。,进程调度的功能(3),3、从进程收回处理机 正在运行的进程,当时间片用完、等待某种资源或者有更高优先级的进程需要处理机,必须交出处理机。,进程调度方式和调度时机,根据执行进程的处理机是由进程自己释放,还是被强行剥夺,可以将进程调度方式分为以下两种:非剥夺式(Non preemptive mode)不可抢占式剥夺式(Preemptive mode)抢占式,1、非剥夺方式 一旦把CPU分配给某一进程后,便让它一直运行下去,直到进程完成或发生某事件而不能运行时,才将CPU分给其它进程。该方式通常用在批处理系统中。主要优点是简单、系统开销小。,2、剥夺方式 允许调度程序基于某种策略(优先级策略、时间片策略等)剥夺现行进程的CPU给其它进程。该方式通常用在分时系统和实时系统中,以便及时响应各进程的请求。,进程调度的时机:是指什么情况下引起进程调度程序工作。现行进程完成或错误终止;现行进程提出I/O请求,等待I/O完成时,转进程调度;在分时系统,按照时间片轮转,分给进程的时间片用完时;优先级调度时,有更高优先级进程变为就绪时;在进程通讯中,执行中的进程执行了某种原语操作,如P操作、阻塞原语和唤醒原语时,都可能引起进程调度。,进程调度的时机,进程调度算法,所采用的进程调度算法是与整个系统的设计目标相一致的。在批处理系统中,系统的设计目标是增加系统吞吐量和提高系统资源的利用率;分时系统则保证每个分时用户能容忍的响应时间。因此,进程调度通常采用如下一些算法。,进程调度算法,先来先服务(FCFS)短作业优先(SJF)响应比高者优先(HRN)轮转调度优先级法:优先占有法:只要不是自身原因被堵塞,就一直运行优先剥夺法:CPU以剥夺的方式被更高优先级进程占用分级轮转调度,进程调度算法-先来先服务(FCFS),该方法按照进程到达的先后顺序排队,每次调度队首的进程。FCFS算法属于非剥夺调度方式,实现简单,看似公平。但,对于那些后进入队列而运行时间较短的进程,或I/O型的进程而言,可能需要长时间等待。,先来先服务(FCFS),短作业优先(SJF),该方法要求每个作业的进程提供所需的运行时间,每次调度时总是选取运行时间最短的进程运行核心思想:保证响应时间最快、平均周转时间最短优点:保证了CPU的利用效率缺点:无法通用,约束条件多,可能使得长进程没有机会运行。,响应比高者优先(HRN),当调度作业时,都要计算各个作业的响应比,总是选择响应比高的作业运行。Rp=(作业等待时间+作业估计运行时间)/作业估计运行时间=1+作业等待时间/作业估计运行时间在通常情况下,优先运行短作业,当长作业等待时间足够长时,它也就变为可优先运行的作业了。,时间片轮转调度法,在分时联机系统中,n个进程循环地获得时间片而执行。从系统中来看它们是交替执行的,但就每个终端用户而言,都感觉到自己独占了一台主机,不受其他用户的影响。这是通过进程并发执行实现的。如果用户数太多,主机处理的进程将会急剧增加,进程排队等待的时间也会很长,进程的响应时间也可能增长,用户将明显感觉到主机的速度变慢而不满意。另外,时间片的大小也会影响进程的响应时间。,基于时间片轮转调度,主机,终端1,终端2,终端n,一个基于时间片轮转调度的联机系统,轮转调度,最初的队列形成可按照FCFS或者按照优先级排队为每个进程分配一个时间片,轮流运行,P1,P2,链头,Pn,中断现场保护区,中断现场保护区,中断现场保护区,基于优先级的调度算法,当发生进程调度时,将CPU分配给就绪队列中优先级最高的进程。静态优先级:在进程创建时确定的,运行时保持不变。通常赋予系统进程较高优先级;申请资源量少的赋予较高优先级。优点:简单,系统调度性能差 动态优先级:进程的优先级可随着进程的推进而改变,以便获得更好的调度性能。通常根据进程占用CPU时间的长短或等待CPU时间的长短动态调整。(如:UNIX系统进程优先级是采用这种方法实现的。占用CPU时间长的优先级低),进程的优先级的确定条件-静态优先级,进程类型:系统进程/用户进程;前台进程/后台进程;联机进程/脱机进程运行时间:通常规定进程优先级与进程所需运行时间成反比作业的优先级:根据作业的优先级来决定其所属进程的优先级,进程的优先级的确定条件-动态优先级,进程在运行过程中的优先级会发生变化I/O频繁的作业/计算频繁的作业已经使用了CPU较多的作业/刚提交的作业,系统的响应时间就绪队列中进程的数目进程状态转换的时间开销计算机本身的处理能力,时间片长短的决定因素,分级轮转法,分级轮转法就是将先前的一个就绪队列,根据进程的优先级不同,划分二个或二个以上的就绪队列,并赋给每个队列不同的优先级。,分级轮转法,轮转,链头指针,FCFS,最高优先级,最低优先级,次高优先级,调度时的进程状态变迁图,运行,低优先数就绪,高优先数就绪,等待I/O而阻塞,超过时间片,其次选择,首先选择,请求I/O,I/O完成,线程的概念(thread),1、进程的弊端引入进程的目的:为了使多个程序并发执行,以改善资源利用率及提高系统吞吐量。进程的两个基本属性:进程是一个可拥有资源的独立单位;进程同时又是一个可以独立调度和分派的基本单位。进程数目不宜过多,进程切换的频率也不宜过高。进程是一个资源拥有者,因而在进程的创建、撤消和切换中,系统必须为了付出较大的时空开销。因而限制了并发程度的进一步提高。,线 程,2、线程的引入 为了减少程序并发执行时系统付出的时空开销,使操作系统更加有效。80年代引入了线程。MS-DOS是一种支持单用户进程和单线程的OS;UNIX支持多用户进程,但只支持每个进程一个线程;支持多线程的多进程的包括Windows 2000、Solaris、Linux、OS/2等将进程的资源的拥有者和调度和分派的基本单位拆分开。即让进程只作为资源的拥有者(即可、资源的容器),而让线程作为CPU调度和分派单位。,线 程(2),每个进程由若干代码和数据块组成,此外它还拥有文件、主存以及至少一个线程。进程被创建时,系统同时为进程创建第一个线程。进程中的其它线程是通过调用线程创建原语显式创建;一线程可创建和撤消另一线程。线程是进程中的一个执行单位。同一进程中的各个线程分别有一组CPU指令、一组CPU寄存器和一个堆栈。它们共享进程的主存和文件。这些线程被操作系统调度执行。,单线程进程模式:,进程控制块,用户地址空间,用户栈,核心栈,程序和数据,多线程进程模式:,进程控制块,用户地址空间,线程控制块,用户栈,核心栈,线程控制块,用户栈,核心栈,线程控制块,用户栈,核心栈,线程,线程,线程,一个进程内的多线程共享该进程的所有资源,进程在逻辑上表示操作系统必须做的一个作业,线程表示完成该作业的许多可能的子任务。线程是进程中的一个可执行实体,是被操作系统独立调度和分派的一个独立单位。一个进程内的多线程共享该进程的全部资源,如代码段、数据段以及系统资源(已打开文件、I/O设备等)。线程自己拥有很少资源。同一线程组中的线程共享它们的全局变量,并有相同的堆,因此使用malloc给线程组中的一个线程分配的内存可以被该线程组中的其他线程读写。但拥有不同的堆栈。,有一个唯一的标识符;有一组表示处理机状态的寄存器;有两个堆栈,分别用于用户态执行和核心态执行;有一个独立的程序计数器。由于线程拥有较少的资源,又具有传统进程的许多特性,因此有的把线程叫做轻型进程。,一个线程一般由如下部分组成:,线程与进程的比较,为了更好地认识进程和线程,下面从拥有的资源、调度、并发性和系统开销诸方面进行比较:1、拥有的资源进程是拥有资源的一个独立单位。线程自己不拥有系统资源(只有一点必不可少的资源),可以访问其隶属进程的资源。,2、调度在引入线程的OS中,把线程作为调度和分派的基本单位。进程调度时,系统要进行进程上下文的切换,需要系统大量的开销;线程调度时,由于同一进程内的线程共享进程的资源,其切换是把线程仅有的一小部分资源变换即可,从而提高了系统的效率。线程切换比进程切换快得多。在由一个进程的线程向另一个进程的线程切换时,将引起进程上下文的切换。,线程与进程的比较(2),3、并发性引入线程后,使得系统的并发执行程度更高。进程之间可以并发执行,同一进程内的多线程也可并发执行。例如:在引入了线程的操作系统中,创建多线程对解决从用户接收请求并为每一请求执行同一代码的文件服务应用程序来说是一种有效的方法。多线程的进程提高了系统的并发程度和系统吞吐量。多线程共享进程的所有资源(如存取同一主存区),使用不当,可能使系统不安全。,线程与进程的比较(3),4、系统开销创建或撤销进程的系统开销大进程切换的开销大同一进程中的多个线程具有相同的地址空间,它们之间的通信和同步易实现,线程与进程的比较(4),

    注意事项

    本文(《操作系统原理》第二章进程管理.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开