全套课件·《操作系统原理教程(第二版).ppt

上传人(卖家):三亚风情 文档编号:3158477 上传时间:2022-07-25 格式:PPT 页数:474 大小:11.01MB
下载 相关 举报
全套课件·《操作系统原理教程(第二版).ppt_第1页
第1页 / 共474页
全套课件·《操作系统原理教程(第二版).ppt_第2页
第2页 / 共474页
全套课件·《操作系统原理教程(第二版).ppt_第3页
第3页 / 共474页
全套课件·《操作系统原理教程(第二版).ppt_第4页
第4页 / 共474页
全套课件·《操作系统原理教程(第二版).ppt_第5页
第5页 / 共474页
点击查看更多>>
资源描述

1、第1章 操作系统概述1.1 计算机系统1.2 操作系统的目标、作用和模型1.3 操作系统的形成与发展1.4 操作系统的特征与功能本章结束!1.1 计算机系统1.1.1 计算机硬件 计算机硬件是指组成计算机系统的设备或机器,它是组成计算机系统的基础。计算机硬件一般包括中央处理器(CPU)、主存储器、外存储器、输入设备和输出设备,其中CPU与主存储器合称为主机,外存储器、输入设备和输出设备合称为外部设备。第1章 操作系统概述1.1 计算机系统1.1.1 计算机硬件 计算机硬件之间的关系如图1-1所示。第1章 操作系统概述1.1 计算机系统第1章 操作系统概述1.1 计算机系统1.1.2 计算机软件

2、 软件的作用如图1-2所示。计算机用户通过应用软件让计算机为自己服务,而应用软件又是通过系统软件来管理和使用计算机硬件。第1章 操作系统概述1.1 计算机系统1.1.2 计算机软件 系统软件包括操作系统、数据库管理系统、计算机编译语言和各种系统服务性程序。应用软件包括计算机源程序和应用软件包。所有这些软件,操作系统是基础,它是其他软件的平台。没有操作系统,其他软件就无法工作。第1章 操作系统概述返回1.2 操作系统的作用、目标与模型1.2.1 操作系统的作用 1.作用作用:操作系统是在计算机硬件上加载的第一层软件,是对计算机硬件功能的首次扩充。其他软件只有在操作系统的支持下,才能对计算机硬件工

3、作。操作系统的作用如图1-4所示。第1章 操作系统概述1.2 操作系统的作用、目标与模型1.2.1 操作系统的作用 2.四种作用形式四种作用形式:用户通过编写的源程序,在数据库管理系统(DBMS)或编译系统的作用下,由操作系统控制和解释给硬件去执行;用户通过服务性程序(也称工具软件),经操作系统的作用,来完成对计算机的操作;用户通过可执行程序,经操作系统的作用来实现对硬件的操作;用户通过操作系统提供的命令来实现对硬件的操作。第1章 操作系统概述1.2 操作系统的作用、目标与模型第1章 操作系统概述1.2 操作系统的作用、目标与模型1.2.3 操作系统的层次模型 操作系统可以看成是一个层次结构,

4、其最底层为操作系统的操作对象,中间层为管理操作对象的软件集合,最高层为提供给用户的系统接口,如图1-5所示。第1章 操作系统概述1.2 操作系统的作用、目标与模型第1章 操作系统概述返回1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展1.3.2 操作系统的发展 1无操作系统无操作系统:其资源管理和控制由人工负责,它采用两种方式:人工操作方式和脱机输入输出方式。(1)人工操作方式人工操作方式:计算机资源的管理是由操作员采用人工方式直接控制的。其特点是:一个用户独占计算机系统的全部资源,计算机主机要等待人工操作,系统资源的利用率低。(2)脱机输入输出方式脱机输入输出方式

5、:是指程序和数据的输入输出是在外围机的控制下,而不是在主机的控制下完成的。其特点是:它减少了计算机主机的空闲等待时间,提高了I/O设备的处理速度。第1章 操作系统概述1.3 操作系统的形成与发展1.3.2 操作系统的发展 2批处理系统批处理系统:批处理系统主要采用了批处理技术。批处理技术是计算机系统同时对一批作业自动进行处理的一种技术。批处理系统有单道批处理系统和多道批处理系统两种形式。(1)单道批处理系统单道批处理系统:其工作流程是:首先操作员将若干个待处理的作业合成一批输入并传输到外存,然后将它们逐个送入主存并投入运行,当一个作业执行结束后自动转入下一个作业执行。其特点是:其特点是:大大减

6、少了人工操作的时间,提高了机器的利用率。但是,在单道批处理作业运行时,主存中仅存放了一道程序,每当程序发出I/O请求时,CPU便处于等待I/O完成状态,致使CPU空闲,特别是I/O设备的低速性,使CPU的利用率降低。第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展1.3.2 操作系统的发展 3分时操作系统分时操作系统:(2)具有)具有“前台前台”和和“后台后台”的分时系统的分时系统 在单道分时系统中,作业调入/调出时,CPU处于“空闲”状态;主存中的作

7、业在执行I/O请求时,CPU也处于“空闲”状态。为了充分利用CPU而引入了“前台”和“后台”的概念。在具有“前台”和“后台”的分时系统中,主存被固定地划分为“前台区”和“后台区”两部分。“前台区”存放按时间片“调入”和“调出”的作业流,“后台区”存放批处理作业,仅当前台调入/调出时(或前台无作业可运行时),才能运行“后台区”中的作业,并且给它分配更长的时间片。第1章 操作系统概述1.3 操作系统的形成与发展1.3.2 操作系统的发展 3分时操作系统:分时操作系统:(3)多道分时系统)多道分时系统 为了进一步改善系统的性能,在分时系统中引入了多道程序设计技术。在主存中可以同时装入多道程序,每道程

8、序无固定位置,对小作业可以装入几道程序,对一些较大的作业则少装入几道程序。系统把所有具备运行条件的作业排成一个队列,使它们依次获得一个时间片来运行。在系统中,既有终端用户作业,又有批处理作业时,应赋予终端作业较高的优先权,并且将它们排成一个高优先权队列;而将批处理作业另外排成一个队列。平时轮转运行高优先权队列的作业,以保证终端用户请求能获得及时响应。仅当该队列为空时,才能运行批处理队列中的作业。由于切换的作业在主存中,不用花费调入、调出的开销,故多道分时系统具有较好的系统性能。现代的分时系统都属于多道分时系统。第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统

9、的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展1.3.2 操作系统的发展 8分布式操作系统分布式操作系统:分布式处理系统是指由多个分散的处理单元经互联网的连接而形成的系统。系统的处理和控制功能,都分散在系统的各个处理单元上。系统的所有任务,也可以动态

10、地分配到各个处理单元上,并且使它们并行执行,实现分布处理。第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述1.3 操作系统的形成与发展1.3.2 操作系统的发展 8分布式操作系统分布式操作系统:分布式操作系统与网络操作系统的主要区别:分布式操作系统与网络操作系统的主要区别:一是,能否适用不同的操作系统一是,能否适用不同的操作系统。网络操作系统可以构架于不同的操作系统之上,也就是说,它可以在不同的本机操作系统上,通过网络协议实现网络资源的统一配置,在大范围内构成网络操作系统;而分布式操作系统是由一种操作系统构架的。二是,对资源的访问方式不同。二是,对资源的访问方式不同。网络操

11、作系统在访问系统资源时,需要指明资源的位置和类型,对本地资源和异地资源的访问要区别对待;而分布式操作系统对所有资源,包括本地资源和异地资源,都用同一方式进行管理和访问,用户不必关心资源在哪里,或资源是怎样存储的。第1章 操作系统概述1.3 操作系统的形成与发展第1章 操作系统概述返回1.4 操作系统的特征与功能第1章 操作系统概述1.4 操作系统的特征与功能第1章 操作系统概述1.4 操作系统的特征与功能第1章 操作系统概述1.4 操作系统的特征与功能改造为能同时供多个进程使用的设备,从而提高设备的利用率。第1章 操作系统概述1.4 操作系统的特征与功能第1章 操作系统概述1.4 操作系统的特

12、征与功能第1章 操作系统概述1.4 操作系统的特征与功能第1章 操作系统概述返回第2章 处理器管理2.1 处理器管理概述2.2 进程描述2.3 进程控制2.4 进程同步与互斥2.5 进程通信2.6 进程调度2.7 进程死锁2.8 线程、超线程和双核的基本概念本章结束!2.1 处理器管理概述2.1.1 处理器管理的功能 处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。在现代操作系统中,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理也可以视为对进程的管理。进程是程序的一次执行过程。处理器管理包括以下功能:1.进程控制。进程控制。在并发运行环境中,要使程序运行,

13、必须先为它创建一个或几个进程,并给它分配必要的资源。程序运行结束时,要撤消这些进程,并回收这些进程所占用的各类资源。进程控制的主要任务就是为程序创建进程,撤消已结束的进程,以及控制进程在运行过程中的状态转换。第2章 处理器管理2.1 处理器管理概述2.1.1 处理器管理的功能 2.进程同步。进程同步。在并发环境中,进程是以异步方式工作的,并且以不可预知的速度向前推进。为了使多个进程能有条不紊地运行,系统中必须设置进程同步机制。进程同步的主要任务是对众多的进程运行进行协调。协调方式有两种:(1)进程互斥方式。进程在对临界资源访问时,应采用互斥方式,也就是当一个进程访问临界资源时,另一个要访问该临

14、界资源的进程必须等待;当获取临界资源的进程释放临界资源后,其他进程才能获取临界资源。这种进程之间的相互制约关系称为互斥。简单地说,互斥就是“有我就没你,有你就没我”。临界资源是指一次只能被一个进程使用的资源。第2章 处理器管理2.1 处理器管理概述2.1.1 处理器管理的功能 2.进程同步。进程同步。(2)进程同步方式。相互合作的进程,由同步机构对它们的执行次序加以协调。也就是前一个进程结束,后一个进程才能开始;前一个进程没有结束,后一个进程就不能开始。这种进程之间的相互合作关系称为同步。简单地说,同步就是“有你才有我,没你就没我”。第2章 处理器管理2.1 处理器管理概述2.1.1 处理器管

15、理的功能 3.进程通信。进程通信。在系统中,经常会有多个进程需要相互配合去完成一个共同的任务,而在这些进程之间,往往需要相互交换信息。进程通信的任务就是用来实现相互合作进程之间的信息交换。进程的通信方式有:(1)当相互合作的进程处于同一台计算机系统时,通常采用直接通信方式。由源进程利用发送命令直接将消息发送到目标进程的消息队列上,然后由目标进程利用接收命令从其消息队列中取出消息。(2)当相互合作的进程处于不同计算机系统时,通常采用间接通信方式。由源进程利用发送命令将信息发送到一个专门存放消息的中间实体中,然后由目标进程利用接收命令从中间实体中取出消息。这个中间实体通常称为“邮箱”,相应的通信系

16、统称为电子邮件系统。第2章 处理器管理2.1 处理器管理概述2.1.1 处理器管理的功能 4.处理器调度。处理器调度。等待在后备队列上的作业,通常要经过处理器调度才能执行。处理器调度包括作业调度(也称为高级调度)、进程调度(也称为低级调度)和中级调度。(1)作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源,将它们调入主存,然后为它们建立进程,使之成为可能获得处理器的就绪进程,并按照一定的算法将其插入到就绪队列。作业调度将在第6章作业管理与系统接口中介绍。(2)进程调度的基本任务是从进程的就绪队列中,按照一定的调度算法选出一个进程,把处理器分配给它,并为它设

17、置运行现场,使进程投入运行。本章主要介绍进程调度。第2章 处理器管理2.1 处理器管理概述2.1.1 处理器管理的功能 4.进程调度。进程调度。(3)中级调度的基本任务是把那些暂时不能运行的进程从主存移到外存上,释放其所占有的宝贵资源,让其他进程运行。当移到外存上的进程具备运行条件时,再由中级调度把它们重新调入主存,等待运行。中级调度将在第3章存储器管理的对换技术中详细介绍,也可以参考本章2.2.4的内容。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 程序执行是指程序在计算机中的运行过程。程序的执行可以用前趋图表示,程序的执行方式有顺序执行和并发执行。1.前趋图。它是一个有向

18、无循环图。图中的每个结点可用于表示一条语句、一个程序段等;结点间的有向边表示在两个结点之间存在的前趋关系。如Pi Pj,称Pi是Pj的前趋,而Pj是Pi的后继。在前趋图中,没有前趋的结点称为初始结点,没有后继的结点称为终止结点。应当注意的是,前趋图中不能存在循环。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 1.前趋图。图2-1所示的前趋图。在图2-1所示的前趋图中存在下述前趋关系:P1 P2,P1 P3,P2 P5,P3 P4,P4 P5,P5 P6第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 2.程序的顺序执行。程序在执行时,必须按照某种先后次序逐个执行

19、操作,只有当前一个操作执行完后,才能执行后一个操作。例如:在进行计算时,总是先输入需要的数据,然后才能进行计算,计算完成后再将结果输出。如果用I代表输入,C代表计算,P代表打印,则上述情况可用图2-2所示的前趋图表示。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 2.程序的顺序执行。程序的顺序执行通常表现出如下特征:顺序性。严格按照程序所规定的顺序执行。封闭性。程序在封闭的环境下执行。程序在运行时独占所有资源,其执行结果不受外界因素的影响。可再现性。只要程序执行的环境和初始条件相同,程序无论重复执行多少次,按照何种方式执行,都将获得相同的结果。第2章 处理器管理2.1 处理器

20、管理概述2.1.2 程序的执行 3.程序的并发执行。是指在一个时间段内执行多个程序。程序在并发执行的特征:间断性。在程序并发执行时,由于它们之间共享资源或相互合作,致使它们之间形成了相互制约的关系,导致并发程序在执行中因为受到影响,表现为“执行暂停执行执行”的间断性活动规律。失去封闭性。程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,程序在执行时,必然会受到其他程序的影响。不可再现性。由于程序执行时失去了封闭性,也将导致失去可再现性。既使并发程序执行的环境和初始条件相同,程序的多次执行或以不同的方式执行,可能获得不相同的结果

21、。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 3.程序的并发执行。【例2-1】程序A和程序B为并发执行,它们共享变量M,假设M初值为3;程序A执行M=M+1;程序B执行print M;M=1。程序A和程序B执行的顺序若不相同,M的结果将产生不同的变化。顺序1M=M+1;print M;M=1。M值依次为4、4、1。顺序2print M;M=M+1;M=1。M值依次为3、4、1。顺序3print M;M=1;M=M+1。M值依次为3、1、2。按照顺序1执行,M的输出结果为4;按照顺序2执行,M的输出结果为3;按照顺序3执行,M的输出结果为3。所以,当执行的条件不同时,并发程序

22、有可能产生不同的执行顺序,也就会得到不同的执行结果。这样并发程序就形成了结果的不可再现性。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 3.程序的并发执行。判断程序并发执行的方法有两种:Bernstein条件和前趋图。(1)Bernstein条件。即不同运算(或程序)的读集与写集的交集和写集与写集的交集的并集为空集时,这几个运算(或程序)可以并发执行。运算的读集是指在运算执行期间引用的所有变量的集合,运算的写集是指在运算执行期间要改变的所有变量的集合。例如运算w=x+y,其读集是x,y,其写集是w。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行(1)Berns

23、tein条件。【例2-2】有四条语句,哪些语句可以并发执行?s1:a=x+y;s2:b=z+1;s3:c=a-b;s4:d=c+1;【解】要先确定运算,然后写出每个运算的读集与写集,最后两两判断运算的读集与写集,写集与写集的交集的并集是否是空集;若是,则可以并发,若不是空集,则不能并发。对于本题,四条语句的读集与写集分别是:读集:R(s1)=x,y,R(s2)=z,R(s3)=a,b,R(s4)=c;写集:W(s1)=a,W(s2)=b,W(s3)=c,W(s4)=d。由Bernstein条件可知s1与s2可以并发执行,s1与s3,s2与s3,s3与s4不能并发执行。第2章 处理器管理2.1

24、处理器管理概述2.1.2 程序的执行 3.程序的并发执行。(2)利用前趋图。画出程序执行的前趋图,根据该程序或运算在前趋图中的位置关系,可以判断其能否并发执行。即在程序或运算的先后顺序上,只有前后相邻的程序或运算不能并发执行,其余程序和运算都可以并发执行。【例2-3】已知一个求值公式(a2+3b)/(b+5a),若a、b已赋值,试画出该公式求值过程的前趋图,并判断哪些求值过程可以并发执行。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 3.程序的并发执行。【解】把公式(a2+3b)/(b+5a)按照运算顺序分解,可以产生如下运算步骤:s1s6,如图2-4(a)所示;根据分解的运

25、算顺序画出它的前趋图,如图2-4(b)所示。第2章 处理器管理2.1 处理器管理概述2.1.2 程序的执行 3.程序的并发执行。根据前趋图,可以看出能够并发执行的运算是:s1与s2、s1与s3、s2与s3、s1与s5、s2与s5、s3与s4、s4与s5,其余运算不能并发执行。第2章 处理器管理返回2.2 进程描述2.2.1 进程的概念 1进程的定义。“进程”这一术语,在20世纪60年代初期,首先出现在麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统中。其后,人们对它不断加以改进,从不同的方面对它进行描述。关于进程的定义有以下一些描述:进程是程序的一次执行。进程可以定义为一个数

26、据结构及能在其上进行操作的一个程序。进程进程是程序在一个数据集合上的运行过程,是系统资源分配和调度的一个独立单位。第2章 处理器管理2.2 进程描述2.2.1 进程的概念 2进程的特征。进程的五个基本特征:(1)动态性。进程的动态性是进程的最基本特征,它表现为“进程因创建而产生,因调度而执行,因得不到资源而暂停,以及因撤消而消亡”。因此,进程具有一定的生命周期,其状态也会不断发生变化,是一个动态实体。(2)并发性。进程的并发性是指多个进程在一段时间内同时运行,交替使用处理器的情况。并发性是进程也是操作系统的重要特征。(3)独立性。进程的独立性是指进程实体是一个能独立运行的基本单位,同时也是独立

27、获得资源和独立调度的基本单位。没有创建进程的程序,是不能参加运行的。(4)异步性。进程的异步性是指系统中的进程按照各自独立的、不可预知的速度向前推进,即进程按照异步方式运行。(5)结构性。进程的结构性是指在结构上进程实体由程序段、数据段和进程控制块组成,这三部分也统称为“进程映像”。第2章 处理器管理2.2 进程描述2.2.1 进程的概念 2进程的特征。举一个例子来说明程序和进程。例如从北京西站发往长沙的T1次列车,它有自己的运行步骤:始发时间、站台,中间停靠的车站及停靠时间,到达终点站的时间等,这相当于一个程序。而2007年3月18日从北京西站发往长沙的T1次列车就相当于一个进程,它是一个过

28、程,15:00从北京西站出发,第二天6:10到达长沙结束。第2章 处理器管理2.2 进程描述2.2.2 进程关系的表示 1进程关系。进程关系主要是指进程间执行的次序关系。在并发环境下,进程关系有三种:(1)串行。一个进程结束,下一个进程才能开始。这两个进程的关系就是串行关系。(2)并行。多个进程可以同时开始,同时结束。这几个进程之间的关系就是并行关系。(3)嵌套。在串行中包含并行,在并行中也包含串行。这种进程间的关系就是嵌套关系。第2章 处理器管理2.2 进程描述2.2.2 进程关系的表示 2进程关系的表示方法。有三种:(1)图示法。可以采用前趋图和进程流图表示。前趋图的表示已经在上一节讲过,

29、这里不再赘述。进程流图使用的图素有:带圈的“S”表示开始,带圈的“F”表示结束,有向线段表示进程。进程的三种关系如图2-5所示。第2章 处理器管理2.2 进程描述2.2.2 进程关系的表示 2进程关系的表示方法。有三种:(2)数学法。就是利用数学函数来表示进程关系。“串行”使用串行函数表示:S(p1,pn)。其中函数名“S”表示串行,函数参数“p1,pn”表示进程,中间用逗号分隔。“并行”使用并行函数表示:P(p1,pn)。其中函数名“P”表示并行,函数参数“p1,pn”表示进程,中间用逗号分隔。“嵌套”使用串行函数和并行函数的组合表示。图2-5中的嵌套关系可以表示为:S(p1,P(p2,S(

30、p3,P(p5,p6),p4),P(p7,p8)。第2章 处理器管理2.2 进程描述2.2.2 进程关系的表示 2进程关系的表示方法。有三种:(3)程序法。以cobegin和coend结构指明并行,其格式为:cobegin p1;p2;pn coend 或cobegin p1/p2/pn coend其中pi为进程或一块代码或函数。函数间用“;”分隔表示串行,用“/”分隔表示并行。图2-5中的进程关系用程序法表示为:串行:cobegin p1;p2;p3;p4 coend 并行:cobegin p1/p2/p3/p4 coend嵌套:cobegin p1;p2/p3;p5/p6/p4;p7/p8

31、 coend第2章 处理器管理2.2 进程描述2.2.3 进程的状态1进程的三种基本状态(1)就绪状态。当进程已分配到除处理器(CPU)以外的所有必要资源后,只要再获得处理器就可以执行的状态称为就绪状态。在一个系统里,可以有多个进程同时处于就绪状态,通常把这些就绪进程排成一个或多个队列,称为就绪队列。(2)执行状态。处于就绪状态的进程一旦获得了处理器,就可以运行,进程状态也就处于执行状态。在单处理器系统中,只能有一个进程处于执行状态。在多处理器系统中,可能有多个进程处于执行状态。(3)阻塞状态。正在执行的进程因为发生某些事件(如请求输入/输出、申请额外空间等)而暂停运行,这种受阻暂停的状态称为

32、阻塞状态,也可以称为等待状态。通常将处于阻塞状态的进程排成一个队列,称为阻塞队列。在有些系统中,也会按照阻塞原因的不同将处于阻塞状态的进程排成多个队列。第2章 处理器管理2.2 进程描述2.2.3 进程的状态2进程的其他两种状态(1)新状态。当一个新进程刚刚建立,还未将其放入就绪队列时的状态,称为新状态。(2)终止状态。当一个进程已经正常结束或异常结束,操作系统已将其从系统队列中移出,但是,尚未撤消,这时称为终止状态。第2章 处理器管理2.2 进程描述2.2.3 进程的状态3进程状态间的转换。(1)新状态就绪状态。当就绪队列能够接纳新的进程时,操作系统就会把处于新状态的进程移入就绪队列,此时进

33、程就从新状态转变为就绪状态。(2)就绪状态执行状态。处于就绪状态的进程,当进程调度程序按照一定的算法为之分配了处理器后,该进程就可以获得执行,从而使进程状态由就绪状态变为执行状态。处于执行状态的进程也称为当前进程。(3)执行状态阻塞状态。正在执行的进程因为自身需求发生某种事件(如I/O请求或等待某一资源等)而无法继续执行时,只好暂停执行,此时进程就由执行状态转变为阻塞状态。(4)执行状态就绪状态。正在执行的进程,如果因系统分配给的时间片结束或优先权较低,而暂停执行时,该进程将会从执行状态转变为就绪状态。第2章 处理器管理2.2 进程描述2.2.3 进程的状态3进程状态间的转换。(5)阻塞状态就

34、绪状态。处于阻塞队列中的进程,如果需要的资源得到满足或完成输入输出响应,就会变为就绪状态,进入就绪队列,等待下一次调度。(6)执行状态终止状态。当一个进程正常结束或出现异常错误结束时,进程将由执行状态转变为终止状态。第2章 处理器管理2.2 进程描述2.2.3 进程的状态3进程状态间的转换。图2-6给出了具有五种基本状态的进程状态转换图。第2章 处理器管理2.2 进程描述2.2.4 进程的挂起状态1进程挂起状态的引入。(1)用户的需求。当用户在进程运行期间,发现有可疑问题时,希望进程暂时停止下来,但是,并不终止进程。若进程处于执行状态,则暂停执行;若进程处于就绪状态,则暂时不接受调度,以便研究

35、进程执行情况或对程序进行修改。这种静止状态称为挂起状态。(2)父进程的需求。父进程往往希望考查和修改子进程,或者协调各个子进程之间的活动,此时需要挂起自己的子进程。(3)操作系统的需求。操作系统有时需要挂起某些进程,然后检查系统中资源的使用情况,进行记账控制,以便改善系统运行的性能。(4)对换的需求。为了缓和主存与系统其他资源的紧张情况,并且提高系统性能,有些系统希望将处于阻塞状态的进程从主存换到外存。而换到外存的进程,当等待的事件完成,它仍然不具备执行的条件,不能进入就绪队列,所以需要一个有别于阻塞状态的新状态来表示,即挂起状态。第2章 处理器管理2.2 进程描述2.2.4 进程的挂起状态2

36、引入进程挂起状态后进程状态的转换。(1)执行状态静止就绪。正在执行的进程,如果用挂起原语将该进程挂起后,此时进程就暂停执行,转变为静止就绪状态。(2)静止就绪活动就绪。处于静止就绪状态的进程,若用激活原语将该进程激活后,进程状态就由静止就绪状态变为活动就绪状态,激活后的进程就可以被调度执行了。(3)活动就绪静止就绪。当进程处于未被挂起的就绪状态时,称之为活动就绪状态,在用挂起原语将该进程挂起后,此时进程就转变为静止就绪状态。处于静止就绪状态的进程,不能再被调度执行。第2章 处理器管理2.2 进程描述2.2.4 进程的挂起状态2引入进程挂起状态后进程状态的转换。(4)活动阻塞静止阻塞。当进程处于

37、未被挂起的阻塞状态时,称之为活动阻塞状态。在用挂起原语将该进程挂起后,此时进程就转变为静止阻塞状态。(5)静止阻塞活动阻塞。处于静止阻塞状态的进程,若用激活原语将该进程激活,进程状态就由静止阻塞状态变为活动阻塞状态。(6)静止阻塞静止就绪。处于静止阻塞状态的进程,在其所需要的资源满足或完成等待的事件后,就会变为静止就绪状态。第2章 处理器管理返回2.3 进程控制2.3.1 进程控制块PCB 1.进程控制块的概念。进程控制块的概念。进程控制块PCB(Process Control Block)是进程实体的重要组成部分,是操作系统中最重要的记录型数据。在进程控制块中记录了操作系统所需要的、用于描述

38、进程情况及控制进程运行所需要的全部信息。通过PCB,使得原来不能独立运行的程序(数据),成为一个可以独立运行的基本单位,一个能够并发执行的进程。换句话说,在进程的整个生命周期中,操作系统都要通过进程的PCB来对并发执行的进程进行管理和控制。由此看来,进程控制块是系统对进程控制采用的数据结构。系统是根据进程的PCB而感知进程存在的。所以,进程控制块是进程存在的惟一标志。第2章 处理器管理2.3 进程控制2.3.1 进程控制块PCB 2.进程控制块的内容。进程控制块的内容。进程控制块主要包括下述四个方面的信息。如图2-8所示。第2章 处理器管理2.3 进程控制2.3.1 进程控制块PCB 2.进程

39、控制块的内容。进程控制块的内容。(1)进程标识信息。进程标识符用于标识一个进程,通常有外部标识符和内部标识符两种。(2)说明信息(进程调度信息)。说明信息是与进程调度有关的状态信息:进程状态、优先级、阻塞原因等。(3)现场信息(处理器状态信息)。现场信息是用于保留进程存放在处理器中的各种信息,主要由处理器中的各个寄存器的内容组成。(4)管理信息(进程控制信息)。管理信息包括进程资源、控制机制等一些进程执行所需要的信息:程序和数据的地址、进程同步和通信机制、资源清单、链接指针等。第2章 处理器管理2.3 进程控制2.3.1 进程控制块PCB 3.进程控制块的组织方式。进程控制块的组织方式。(1)

40、链接方式。把具有相同状态的PCB,用链接指针链接成队列,如就绪队列、阻塞队列和空闲队列等。图2-9给出了一种PCB链接队列的组织方式。第2章 处理器管理2.3 进程控制2.3.1 进程控制块PCB 3.进程控制块的组织方式。进程控制块的组织方式。(2)索引方式。系统根据各个进程的状态,建立不同索引表,例如就绪索引表、阻塞索引表等。并把各个索引表在主存的首地址记录在主存中的专用单元里,也可以称为表指针。在每个索引表的表目中,记录着具有相同状态的各个PCB在表中的地址。图2-10给出了PCB组织的索引方式。第2章 处理器管理2.3 进程控制2.3.1 进程控制块PCB 4.进程控制原语。进程控制原

41、语。原语是指具有特定功能的不可被中断的过程。它主要用于实现操作系统的一些专门控制操作。用于进程控制的原语有:(1)创建原语。用于为一个进程分配工作区和建立PCB,置该进程为就绪状态。(2)撤消原语。用于一个进程工作完后,收回它的工作区和PCB。(3)阻塞原语。用于进程在运行过程中发生等待事件时,把进程的状态改为阻塞状态。(4)唤醒原语。用于当进程等待的事件结束时,把进程的状态改为就绪状态。第2章 处理器管理2.3 进程控制2.3.2 进程的创建与撤销 在系统中,只有进程才能得到运行。因此,程序想要执在系统中,只有进程才能得到运行。因此,程序想要执行,就必须为之创建进程。进程执行结束,就必须撤消

42、它。行,就必须为之创建进程。进程执行结束,就必须撤消它。1.进程的创建。进程的创建。(1)引起进程创建的事件。引起进程创建的事件有以下四类:用户登录。作业调度。提供服务。应用请求。第2章 处理器管理2.3 进程控制2.3.2 进程的创建与撤销1.进程的创建。进程的创建。(2)进程创建的过程。一旦操作系统发现了要求创建进程的事件后,便调用进程创建原语,按照下列步骤创建一个新进程。为新进程分配惟一的进程标识符,并从PCB队列中申请一个空闲的PCB。为新进程的程序和数据,以及用户栈分配相应的主存空间及其他必要的资源。初始化PCB中的相应信息,如标识信息、处理器信息、进程控制信息等。如果就绪队列可以接

43、纳新进程,便将新进程加入到就绪队列中。第2章 处理器管理2.3 进程控制2.3.2 进程的创建与撤销2.进程的撤销。进程的撤销。(1)引起进程撤消的事件。引起进程撤消的事件有三类:进程正常结束。在进程运行期间,由于出现某些错误和故障而使进程被迫中止。进程应外界的请求而终止运行。第2章 处理器管理2.3 进程控制2.3.2 进程的创建与撤销2.进程的撤销。进程的撤销。(2)进程撤消的过程。一旦操作系统发现了要求终止进程的事件后,便调用进程终止原语,按照下列步骤终止指定的进程。根据被终止进程的标识符,从PCB集合中检索该进程的PCB,读出进程状态。若该进程处于执行状态,则立即终止该进程的执行。若该

44、进程有子孙进程,还要将其子孙进程终止。将该进程所占用的资源回收,归还给父进程或操作系统。将被终止进程的PCB从所在队列中移出,撤消该进程的PCB,并将其加入到空闲的PCB队列中。第2章 处理器管理2.3 进程控制2.3.3 进程的阻塞与唤醒1.进程的阻塞。进程的阻塞。(1)引起进程阻塞的事件。引起进程阻塞的事件有四类:请求系统服务。启动某种操作。新数据尚未到达。无新工作可做。第2章 处理器管理2.3 进程控制2.3.3 进程的阻塞与唤醒1.进程的阻塞。进程的阻塞。(2)进程阻塞的过程。一旦操作系统发现了要求阻塞进程的事件后,便调用进程阻塞原语,按照下列步骤阻塞指定的进程。立即停止执行该进程。修

45、改进程控制块中的相关信息。把进程控制块中的运行状态由“执行”状态改为“阻塞”状态,并填入阻塞的原因,以及进程的各种状态信息。把进程控制块插入到阻塞队列。根据阻塞队列的组织方式,把阻塞进程的进程控制块插入阻塞队列中。转调度程序重新调度,运行就绪队列中的其他进程。第2章 处理器管理2.3 进程控制2.3.3 进程的阻塞与唤醒2.进程的唤醒。进程的唤醒。(1)引起进程唤醒的事件。引起进程唤醒的事件有四类:请求系统服务得到满足。启动某种操作完成。新数据已经到达。有新工作可做。第2章 处理器管理2.3 进程控制2.3.3 进程的阻塞与唤醒2.进程的唤醒。进程的唤醒。(2)进程唤醒的过程。一旦操作系统发现

46、了要求唤醒进程的事件后,便调用进程唤醒原语,按照下列步骤唤醒指定的进程。从阻塞队列中找到该进程。修改该进程控制块中的相关内容,把阻塞状态改为就绪状态,删除阻塞原因等。把进程控制块插入到就绪队列中。按照就绪队列的组织方式,把被唤醒的进程的进程控制块插入到就绪队列中。第2章 处理器管理返回2.4 进程的同步与互斥2.4.1 进程的并发性 并发进程相互之间可能没有关系,也可能存在某种关系。如果进程间彼此毫无关系,互不影响,这种情况不会对系统产生什么影响,通常不是要研究的对象。如果进程间彼此相关,互相影响,那么就需要进行合理的控制和协调才能正确执行。进程间的关系可以分为:(1)资源共享关系。系统中的某

47、些进程需要访问共同的资源,即当一个进程访问共享资源时,访问该共享资源的其他进程必须等待,当这个进程使用完后,其他进程才能使用。这时要求进程应互斥地访问共享资源。(2)相互合作关系。系统中的某些进程之间存在相互合作的关系,即一个进程执行完后,另一个进程才能开始。否则,另一个进程不能开始。这时就要保证相互合作的进程在执行次序上要同步。第2章 处理器管理2.4 进程的同步与互斥2.4.2 同步与互斥的基本概念 1进程同步与互斥的定义 对于相关进程间的同步和互斥,必须进行有效的控制。这种控制涉及几个基本概念,即临界资源、临界区、进程同步和进程互斥的概念。(1)临界资源。在系统中有许多硬件或软件资源,如

48、打印机、公共变量等,这些资源在一段时间内只允许一个进程访问或使用,这种资源称为临界资源。(2)临界区。作为临界资源,不论是硬件临界资源,还是软件临界资源,多个并发进程都必须互斥地访问或使用,这时把每个进程中访问临界资源的那段代码称为临界区。而这些并发进程中涉及临界资源访问的那些程序段称为相关临界区。第2章 处理器管理2.4 进程的同步与互斥2.4.2 同步与互斥的基本概念 1进程同步与互斥的定义(3)进程同步。进程同步是指多个相关进程在执行次序上的协调,这些进程相互合作,在一些关键点上需要相互等待或相互通信。通过临界区可以协调进程间相互合作的关系,这就是进程同步。(4)进程互斥。进程互斥是指当

49、一个进程进入临界区使用临界资源时,另一个进程必须等待。当占用临界资源的进程退出临界区后,另一个进程才被允许使用临界资源。通过临界区协调进程间资源共享的关系,就是进程互斥。进程互斥是同步的一种特例。第2章 处理器管理2.4 进程的同步与互斥2.4.2 同步与互斥的基本概念 2进程同步机制应遵循的原则(1)空闲让进。当无进程处于临界区时,临界资源处于空闲状态,可以允许一个请求进入临界区的进程进入自己的临界区,有效地使用临界资源。(2)忙则等待。当已有进程进入自己的临界区时,意味着临界资源正被访问,因而其他试图进入临界区的进程必须等待,以保证进程互斥地使用临界资源。(3)有限等待。对要求访问临界资源

50、的进程,应保证该进程在有效的时间内进入自己的临界区,以免陷入“死等”状态。(4)让权等待。当进程不能进入自己的临界区时,应立即释放处理器,以免陷入“忙等”。第2章 处理器管理2.4 进程的同步与互斥2.4.2 同步与互斥的基本概念 3利用锁机制实现同步 在众多的进程同步机制中,锁机制是一种最简单的机制。(1)锁的概念。在同步机制中,常用一个变量来代表临界资源的状态,称它为锁。通常用“0”表示资源可用,相当于锁打开。用“1”表示资源已被占用,相当于锁闭合。锁机制的描述,如图2-12所示。第2章 处理器管理2.4 进程的同步与互斥2.4.2 同步与互斥的基本概念 3利用锁机制实现同步(2)对锁的操

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(全套课件·《操作系统原理教程(第二版).ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|