第二章汤小丹计算机操作系统官方课件第四版资料

合集下载

第2章__进程管理ppt课件计算机操作系统汤小丹梁红兵版

第2章__进程管理ppt课件计算机操作系统汤小丹梁红兵版

– 间断性、失去封闭性、不可再现性
第2 章
进程管理
2.1.3程序并发执行的特性
(1)程序结果的不可再现性。并发程序执行时,结果 随执行的相对速度不同而变化,在不同的时间运行,结 果各不相同。 (2)独立性和制约性。独立性是指每一个程序都是一
个相对独立的实体,用以实现不同的功能。
(3)程序执行的间断性。并发执行的程序之间存在着 相互制约的关系,这就意味着程序执行时间会不连贯。
进程管理
运行态(Running) :进程已获得必要的资源,并占有处理机,处理机正在 执行该进程的程序。
就绪态(Ready) :进程等待系统为其分配 CPU,而 CPU被其他进程占用, 所以暂时不能运行,但此时进程已经具备了执行的所有条件。
阻塞态(Blocked):也可称为等待态、挂起态或睡眠态等,此时进程因等待 某个事件而暂时不能运行,例如等待某个I/O事件的完成,或等待使用某个资源 等。
调度信息:标识进程的优先级,进程正在等待的 事件等。
数据结构信息:标识进程间的联系,如指向该进 程的父进程控制块的指针,指向该进程的子进程列表 的指针等。
第2 章
进程管理
队列指针:在该单元存放下一个进程的PCB的块首址,将处于 同一状态的进程链接成一个队列,便于对进程实施管理。 位置信息:记录进程在内存中的位置和大小信息,如程序段指 针,数据段指针。 通信信息:指进程相互通信时所需的信息,如消息队列 ( 记录 可消费资源的列表)指针,进程间的互斥和同步机制。 特权信息:记录进程访问内存的权限。 存储信息:记录进程在辅存中的位置及大小。 资源占有使用信息:标识进程的可重用资源和可消费资源,是 对进程占有和使用CPU及I/O设备的情况记录。
数目 一个系统中,数十个、数 百个甚至数千个 • 链接组织方式 把具有同一状态的PCB链 接成一个队列; 就绪队列、若干个阻塞队 列、空队列.

汤小丹《计算机操作系统》官方课件 第四版

汤小丹《计算机操作系统》官方课件 第四版
汤小丹《计算机操作系 统》官方课件 第四版
汇报人: 202X-01-05
contents
目录
• 计算机操作系统概述 • 进程管理 • 内存管理 • 文件系统 • 设备管理
计算机操作系统概
01

操作系统的定义与功能
总结词
操作系统的定义与功能
详细描述
操作系统是计算机系统的核心软件,负责管理计算机硬件和软件资源,提供用户与计算机之间的接口。操作系统 的功能包括进程管理、内存管理、文件管理、设备管理和用户界面管理等。
操作系统的分类
总结词
操作系统的分类
详细描述
根据不同的分类标准,操作系统可以分为多种类型。根据运行环境,操作系统可以分为单机操作系统 和网络操作系统;根据功能,操作系统可以分为批处理操作系统、分时操作系统、实时操作系统和通 用操作系统;根据规模,操作系统可以分为个人操作系统和多用户操作系统等。
进程管理
内存管理
03
内存管理的概念与功能
内存管理概念
内存管理是操作系统中用于管理计算 机内存的子系统,负责分配和回收内 存空间,以及管理内存中的数据。
内存管理功能
内存管理的主要功能包括内存分配、 内存回收、地址转换和内存保护等。
内存的分配策略
静态分配
在程序运行前,系统根据程序的大小 和需求一次性分配所需的内存空间, 程序运行期间不再进行内存的重新分 配。
文件的访问控制机制
文件的访问控制机制包括访问控制表(ACL)、能力表( Capabilities)等,用于限制用户对文件的访问权限。
文件的访问安全
文件的访问安全是指通过访问控制机制来确保文件的安全性和完整 性,防止未经授权的访问和修改。
设备管理

计算机操作系统(第四版)汤小丹-期末复习知识点详尽汇总

计算机操作系统(第四版)汤小丹-期末复习知识点详尽汇总

具有作业调度和进程调度的调度队列模型子主题资源利用率:CPU利用率=CPU有效工作时间/CPU总工作时间平衡性:协调CPU和IO,使系统资源都经常处于忙碌状态策略强制执行高优先权优先,重要计算先来先服务短作业优先的优缺点实时调度的算法把内存中暂时不能运行的程序,或暂时不用的程序和数据换出到外存1.将逻辑地址的页号和页表长度进行比较,如果页号大于页表长度,发生越界中断2.如果小于页表长度,则页表始址+页号*位置得到物理块号3.物理块号*页面大小+页内地址=得到物理地址快表、联想寄存器、TLB1.将逻辑地址的页号与页表寄存器的页表长度进行比较,如果页号大于页表长度,越界中断1.将逻辑地址的段号和段表长度进行比较,如果段表长度<段号,产生越界中断请求分页的内存分配(请求调入软件)最小物理块的确定:作业正常运行所需要的最小物理块内存分配策略固定分配局部置换:只分可变分配局部置换:先分可变分配全局置换:没有内存,可换他人物理块分配算法:如何为不同的进程分配物理块预测页策略:预计不久之后会被访问的页优先调入内存,可一次调入多页,但是预测效率低下请求调页策略:需要的页面不在内存,发出请求,一次调入一页从打开文件表的表目删除直接-->物理地址哈希文件目录管理的要求1.实现按名存取2.允许文件重名3.提高检索速度4.文件共享基本信息类使用信息类为每一个用户建立一个单独的用户文件目录缺点用户相互隔离,无法合作创建者不用链接创建一个Link文件,存有共享文件的路径非创建者,连接到Link1.顺序访问容易消除了磁盘的外碎片,提高了外存的利用率(内碎片是消除不了的,因为每个盘块的大小固定)显式的“显”在哪里:链接文件各盘块的指针显式地存放在内存的一张链接表隐式的“隐”在哪里:下一个盘块号存在于上一个盘块中,而不是显示地放在外存有多少扇区,优点:支持直接访问优点大大加快了对大型文件的查找速度分配和回收:与内存的动态分区分配算法相同。

《操作系统-汤小丹-第四版》第2章

《操作系统-汤小丹-第四版》第2章
采用进程或线程作为程序执行的 基本单位,通过时间片轮转、优 先级调度等方式实现并发执行。
共享性的概念与实现方法
共享性Байду номын сангаас念
指系统中的资源(如硬件、软件和数 据)可以被多个并发执行的程序共同 使用。
实现方法
采用虚拟技术将物理资源转化为逻辑 资源,通过资源分配和回收算法实现 资源的共享使用。
并发与共享的关系
文件系统的层次模型是指将文件系统的功能划分为多个层次,每一层都建立在下一层的基础上,并向上一层 提供服务。这种层次结构有利于文件系统的设计和实现。
文件系统的实现
文件系统的实现包括文件系统的数据结构和算法设计,以及文件系统的代码实现。在实现过程中,需要考虑 文件系统的效率、可靠性、安全性等因素。
文件系统的性能优化
线程状态
就绪状态、运行状态、阻塞状态。
线程同步与通信
互斥锁、条件变量、信号量等机 制。
处理器的调度与分配
调度策略
先来先服务、优先级调度、时间片轮转等。
分配方式
非抢占式、抢占式。
调度与分配的实现
通过硬件和软件的支持,如时钟中断、进程切换等机制。
内核的功能与结构
内核功能
进程管理、内存管理、设备管 理、文件管理、网络通信等。
04
05
手工操作阶段
批处理系统阶段 分时系统阶段
实时系统阶段
网络操作系统和 分布式操…
此阶段没有操作系统,用 户直接控制计算机硬件进 行操作。
为了解决人机矛盾及CPU 和I/O设备之间速度不匹配 的矛盾,出现了批处理系 统。
为了满足用户同时、交互 地使用计算机的需求,出 现了分时系统。
为了满足实时控制和实时 信息处理的需求,出现了 实时系统。

【操作系统】《计算机操作系统》汤小丹第2章进程的描述和控制

【操作系统】《计算机操作系统》汤小丹第2章进程的描述和控制

【操作系统】《计算机操作系统》汤⼩丹第2章进程的描述和控制博主:海底淤泥1.什么是前趋图?为什么要引⼊前趋图? 前趋图:⼀个有向⽆循环图,它⽤于描述进程之间的先后顺序 作⽤:更好描述程序的顺序和并发执⾏情况2.试画出下⾯四条语句的前趋图S1:a=x+y S2:b=z+1 S3:c=a-b S4:w=c+1 S1->S3 S2->S3 S3->S43.为什么程序并发执⾏会产⽣间断特征? 程序在并发执⾏时,由于它们共享系统资源,以及为完成同⼀项任务相互合作,⾄使在这些并发程序之间形成了相互制约的关系4.程序并发执⾏时为什么会失去封闭性和可再现性? 失去封闭性:当系统存在着多个可以并发执⾏的程序时,系统中的各种资源将为它们所共享,⽽这些资源的状态也由这些程序来改变,导致其中任意程序运⾏时,其环境都必然会受到其他程序的影响。

失去可再现性:程序并发执⾏时,由于失去了封闭性,其计算结果必然将与并发程序的执⾏速度有关,从⽽使程序的执⾏失去了可再现性5.在操作系统中为什么要引⼊进程的概念?它会产⽣什么影响? 为了使程序并发执⾏,并且可以对并发执⾏的程序加以描述和控制,⼈们引⼊了“进程”的概念。

影响:使程序并发执⾏,进程实体和其他进程实体并发执⾏6.试从动态性、并发性、和独⽴性上⽐较进程和线程 动态性:进程实体有⼀定⽣命期,是动态的;⽽程序是⼀组有序指令集合,并存放在某种介质上,其本⾝不具有活动意义,是静态的 并发性:进程可以并发执⾏,没有PCB的程序是不能并发执⾏的 独⽴性:进程实体是⼀个能独⽴运⾏,独⽴获得资源和独⽴接受调度的基本单位。

未建⽴PCB的程序不能作为⼀个独⽴的单位参与运⾏7.试说明PCB的作⽤具体表现在什么⽅⾯,为什么说PCB是进程存在的唯⼀标志? PCB描述进程是基本情况和活动过程,进⽽控制和管理进程。

创建进程:创建进程实体的PCB 撤销进程:撤销进程实体的PCB8.PCB提供了进程管理和进程调度所需要的哪些信息?1.进程标识符2.处理机状态3.进程调度信息4.进程控制信息9.进程控制块的组织⽅式有哪⼏种?1.线性⽅式2.连接⽅式3.索引⽅式10.何谓操作系统内核?内核的主要功能是什么? 通常将⼀些硬件紧密相关的模块、各种常⽤设备的驱动程序以及运⾏频率较⾼的模块,都安排在紧靠硬件的软件层次中,将它们常驻内存,被称为操作系统内核 功能:1.对重要软件进⾏保护,防⽌遭到其他程序的破坏 2.提⾼OS的运⾏效率11.试说明进程在三个基本状态之间转换的经典原因 就绪->执⾏:进程调度 执⾏->就绪:时间⽚完 执⾏->阻塞:I/O请求 阻塞->就绪:I/O完成12.为什么要引⼊挂起状态?该状态有哪些性质? 原因:1.终端⽤户的需要 2.⽗进程的请求 3.负荷调节的需要 4.操作系统的需要 性质:1.若程序正在执⾏,将暂停执⾏ 2.若原本处于就绪状态,则该程序不接受调度13.在进⾏进程切换时,所要保存的处理机状态信息有哪些?1.通⽤寄存器2.指令计数器3.程序状态字PSW4.⽤户栈指针14.试说明引起进程创建的主要事件。

第二章 汤小丹 计算机操作系统 官方课件 第四版

第二章  汤小丹  计算机操作系统 官方课件 第四版
对于具有下述四条语句的程序段:
S1: a :=x+2 S2: b :=y+4 S3: c :=a+b S4: d :=c+b 可画出图2-4所示的前趋关系。可以看出:S3必须在a和b 被赋值后方能执行;S4必须在S3之后执行;但S1和S2则可以 并发执行,因为它们彼此互不依赖。
14
第二章 进程的描述与控制
8
第二章 进程的描述与控制
这样,上述的三个程序段间就存在着这样的前趋关系: Ii→Ci→Pi,其执行的顺序可用前趋图2-2(a)描述。
即使是一个程序段,也可能存在着执行顺序问题,下面 示出了一个包含了三条语句的程序段:
S1: a :=x+y; S2: b :=a-5; S3: c :=b+1; 其中,语句S2必须在语句S1后(即a被赋值)才能执行,语句S3 也只能在b被赋值后才能执行,因此,三条语句存在着这样 的前趋关系:S1→S2→S3,应按前趋图2-2(b)所示的顺序执行。
12
第二章 进程的描述与控制
图2-3 程序并发执行时的前趋图
13
第二章 进程的描述与控制
由图2-3可以看出,存在前趋关系Ii→Ci,Ii→Ii+1,Ci→Pi, Ci→Ci+1,Pi→Pi+1,而Ii+1和Ci及Pi-1是重叠的,即在Pi-1和Ci以 及Ii+1之间,不存在前趋关系,可以并发执行。
3
第二章 进程的描述与控制
进程(或程序)之间的前趋关系可用“→”来表示,如果 进程Pi和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,也可写 成Pi→Pj,表示在Pj开始执行之前Pi 必须完成。此时称Pi是Pj 的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有 前趋的结点称为初始结点(Initial Node),把没有后继的结点 称为终止结点(Final Node)。此外,每个结点还具有一个重量 (Weight),用于表示该结点所含有的程序量或程序的执行 时间。

汤小丹计算机操作系统官方课件第四版计算机操作系统课件PPT课件

汤小丹计算机操作系统官方课件第四版计算机操作系统课件PPT课件
第17页/共101页
3. 运行时动态链接(Run-time Dynamic Linking) 在许多情况下,应用程序在运行时,每次要运行的模块可能是不相同 的。但由于事先无法知道本次要运行哪些模块,故只能是将所有可能要运 行到的模块全部都装入内存,并在装入时全部链接在一起。显然这是低效 的,因为往往会有部分目标模块根本就不运行。比较典型的例子是作为错 误处理用的目标模块,如果程序在整个运行过程中都不出现错误,则显然 就不会用到该模块。
多层结构的存储器系统 1. 存储器的多层结构 对于通用计算机而言,存储层次至少应具有三级:最高层为CPU寄
存器,中间为主存,最底层是辅存。在较高档的计算机中,还可以根据具 体的功能细分为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可 移动存储介质等6层。如图4-1所示。
第2页/共101页
• 图4-1 计算机系统存储层次示意 第3页/共101页
第30页/共101页
• 图4-9 内存回收时的情况 第31页/共101页
• 图4-10 内存回收流程 第32页/共101页
基于顺序搜索的动态分区分配算法 1. 首次适应(first fit,FF)算法 我们以空闲分区链为例来说明采用FF算法时的分配情况。FF算法要
求空闲分区链以地址递增的次序链接。在分配内存时,从链首开始顺序查 找,直至找到一个大小能满足要求的空闲分区为止。然后再按照作业的大 小,从该分区中划出一块内存空间,分配给请求者,余下的空闲分区仍留 在空闲链中。若从链首直至链尾都不能找到一个能满足要求的分区,则表 明系统中已没有足够大的内存分配给该进程,内存分配失败,返回。
第4页/共101页
主存储器与寄存器 1. 主存储器 主存储器简称内存或主存,是计算机系统中的主要部件,用于保存进

计算机操作系统(第四版)汤小丹课后

计算机操作系统(第四版)汤小丹课后

第一章1. 设计现代 OS 的主要目标是什么?OS 的作用可表现在哪几个方面?)OS 作为计算机系统资源的管理者 )OS 实现了对计算机资源的抽象3 .为什么说 OS 实现了对计算机资源的抽象?同实现了对计算机资源的抽象。

4 .试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1 )不断提高计算机资源的利用率; (2 )方便用户;(3 )器件的不断更新换代; (4 )计算机体系结构的不断发展。

5 .何谓脱机 I/O 和联机I/O ?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在 外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

机控制完成,是在脱离主机的情况下进行的。

而联机I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7 .实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令, 在用户能接受的时延内将结果返回给用户。

解决方法: 针对及时接收问题,可以在系统中设置多路卡,端上输入的数据; 为每个终端配置缓冲区, 暂存用户键入的命令或数据。

答: (1)有效性(2)方便性 (3 )可扩充性 (4)开放性答: (1)OS 作为用户与计算机硬件系统之间的接口答:OS 首先在裸机上覆盖一层 I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件, 实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共该方式下的输入输出由外围CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业; 主机的使主机能同时接收用户从各个终针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。

汤小丹计算机操作系统官方第四PPT课件

汤小丹计算机操作系统官方第四PPT课件

页面置换算法
FIFO(先进先出)算法
选择最早进入内存的页面进行置换。
LRU(最近最少使用)算法
选择最近一段时间内最久未使用的页面进行 置换。
OPT(最佳)算法
选择将来最久不会被访问的页面进行置换, 需要预知未来的页面访问序列。
04
文件系统
文件的概念与类型
文件的基本概念
文件是存储在外部介质上的数据集合,是操作 系统进行数据管理的基本单位。
06
操作系统安全与保 护
操作系统安全概述
安全威胁的类型
病毒、蠕虫、木马、黑客攻击等。
操作系统安全的重要性
保护系统资源,防止未经授权的访问和破坏 。
安全策略的制定
访问控制、加密、防火墙等。
访问控制技术
访问控制的概念
通过身份认证和权限管理, 控制用户对系统资源的访问 。
访问控制的实现方式
自主访问控制、强制访问控 制、基于角色的访问控制等 。
担。
中断驱动I/O方式
利用中断机制实现CPU与I/O设备的 并行工作,提高CPU的利用率。
通道控制方式
使用通道控制器管理多个I/O设备, 实现更高效的I/O操作。
设备分配技术
独占设备分配
为进程分配独占设备,确保进程对设备的独占性 访问。
共享设备分配
允许多个进程共享同一设备,通过时间片轮转或 优先级调度等方式实现设备的共享访问。
设备访问控制
提供设备访问接口,对用户或 应用程序的设备访问请求进行 控制和管理。
设备性能优化
对设备的性能进行监测和分析 ,提供性能优化建议,提高设 备的运行效率。
I/O控制方式
程序I/O方式
通过程序直接控制I/O操作,适用于简 单的、低速的I/O设备。

计算机操作系统汤小丹第2章

计算机操作系统汤小丹第2章

注意:1)“本章要点”部分,用红字标注的不是期末考试出题范围。

2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原题。

红字标注的习题期末考试不考,仅供考研的同学参考。

3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。

4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。

------------------------------------------------------------第二章要点这一章和第3章是本课程最重要的两章。

进程的基本概念本小节重点内容是进程的概念、进程的三种状态及转换(围绕P38图2-5理解)、进程控制块FCB的概念及作用、进程就绪队列和阻塞(等待)队列的概念。

其它内容作一般性的了解即可。

进程控制掌握原语的概念。

其它内容作一般性的了解即可。

进程同步这一小节是至关重要的,也是相当难的。

(1)P47-50,临界资源问题、临界区的概念、同步机制应遵循的规则。

(2)P50,整型信号量原语的含义,及其缺点。

(3)P51,记录型信号量原语的含义,特点,及其优点(与整形信号量对比)。

(4)P52-53 AND型信号量和信号量集,一般性了解。

(5)P53 2.3.3 信号量的应用,一般性了解。

(6)P55 管程,一般性了解。

经典进程的同步问题熟练掌握用记录型信号量解生产者—消费者、哲学家进餐、读者--写者问题。

其它解法(AND信号量、信号量集、管程等)可以不看。

进程通信:一般性了解。

线程概念性的掌握什么是线程、线程与进程主要的异同、线程的状态、内核线程、用户线程。

对于软件班和数学班的同学,上述概念将结合实验考核,二学历班的同学无此要求。

教材习题1 什么是前驱图为什么要引入前驱图答:P35。

前驱图是一个有向无循环图,用于描述进程之间执行的前后关系。

引入前驱图可以比较直观的描述多道程序进程之间的不确定(异步)关系。

计算机操作系统第四版 汤小丹 教案 PPT

计算机操作系统第四版 汤小丹 教案 PPT

图1-3 脱机I/O示意图
1.2.2 单道批处理系统 1. 单道批处理系统(Simple Batch Processing System)
的处理过程 为实现对作业的连续处理,需要先把一批作业以脱机方
式输入到磁带上,并在系统中配上监督程序(Monitor),在它 的控制下,使这批作业能一个接一个地连续处理。
1.3.3 虚拟(Virtual) 1. 时分复用技术 (1) 虚拟处理机技术。 (2) 虚拟设备技术。
2. 空分复用技术 20世纪初,电信业中就已使用频分复用技术来提高信 道的利用率。它是指将一个频率范围比较宽的信道划分成 多个频率范围较窄的信道(称为频带),其中的任何一个频带 都仅供一对用户通话。早期的频分复用技术只能将一条物 理信道划分为几条到几十条话路,后来又很快发展到成千 上万条话路,每条话路供一对用户通话。再后来在计算机 中也把空分复用技术用于对存储空间的管理,用以提高存 储空间的利用率。
第一章 操作系统引论
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
10
图1-2 I/O软件隐藏了I/O操作实现的细节
1.1.3 推动操作系统发展的主要动力 1.不断提高计算机资源利用率 2. 方便用户 3. 器件的不断更新换代 4. 计算机体系结构的不断发展 5. 不断提出新的应用需求
1.2.5 实时系统(Real Time System) 1. 实时系统的类型 随着计算机应用的普及,实时系统的类型也相应增多,
下面列出当前常见的几种: (1) 工业(武器)控制系统。 (2) 信息查询系统。 (3) 多媒体系统。 (4) 嵌入式系统。
2. 实时任务的类型 (1) 周期性实时任务和非周期性实时任务。 (2) 硬实时任务和软实时任务。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
第二章 进程的描述与控制
在图2-1(a)所示的前趋图中,存在着如下前趋关系: P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6, P4→P7,P5→P8,P6→P8,P7→P9,P8→P9 或表示为: P={P1, P2, P3, P4, P5, P6, P7, P8, P9} ={(P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7), (P5, P8), (P6, P8), (P7, P9), (P8, P9)}
9
第二章 进程的描述与控制
图2-2 程序顺序执行的前趋图
10
第二章 进程的描述与控制
2. 程序顺序执行时的特征 由上所述可以得知,在程序顺序执行时,具有这样三个 特征:① 顺序性:指处理机严格地按照程序所规定的顺序执 行,即每一操作必须在下一个操作开始之前结束;② 封闭性: 指程序在封闭的环境下运行,即程序运行时独占全机资源, 资源的状态(除初始状态外)只有本程序才能改变它,程序一 旦开始执行,其执行结果不受外界因素影响;③ 可再现性: 指只要程序执行时的环境和初始条件相同,当程序重复执行 时,不论它是从头到尾不停顿地执行,还是“停停走走”地 执行,都可获得相同的结果。程序顺序执行时的这种特性, 为程序员检测和校正程序的错误带来了很大的方便。
第二章 进程的描述与控制
第二章 进程的描述与控制
2.1 前趋图和程序执行 2.2 进程的描述 2.3 进程控制 2.4 进程同步 2.5 经典进程的同步问题 2.6 进程通信 2.7 线程(Threads)的基本概念 2.8 线程的实现 习题
1第二章 进程的描Fra bibliotek与控制2.1 前趋图和程序执行
在早期未配置OS的系统和单道批处理系统中,程序的执 行方式是顺序执行,即在内存中仅装入一道用户程序,由它 独占系统中的所有资源,只有在一个用户程序执行完成后, 才允许装入另一个程序并执行。可见,这种方式浪费资源、 系统运行效率低等缺点。
11
第二章 进程的描述与控制
2.1.3 程序并发执行 1. 程序的并发执行 我们通过一个常见的例子来说明程序的顺序执行和并发
执行。在图2-2中的输入程序、计算程序和打印程序三者之 间,存在着Ii→Ci→Pi这样的前趋关系,以至对一个作业的输 入、计算和打印三个程序段必须顺序执行。但若是对一批作 业进行处理时,每道作业的输入、计算和打印程序段的执行 情况如图2-3所示。
12
第二章 进程的描述与控制
图2-3 程序并发执行时的前趋图
13
第二章 进程的描述与控制
由图2-3可以看出,存在前趋关系Ii→Ci,Ii→Ii+1,Ci→Pi, Ci→Ci+1,Pi→Pi+1,而Ii+1和Ci及Pi-1是重叠的,即在Pi-1和Ci以 及Ii+1之间,不存在前趋关系,可以并发执行。
2
第二章 进程的描述与控制
2.1.1 前趋图 为了能更好地描述程序的顺序和并发执行情况,我们先
介绍用于描述程序执行先后顺序的前趋图。所谓前趋图 (Precedence Graph),是指一个有向无循环图,可记为 DAG(Directed Acyclic Graph),它用于描述进程之间执行的 先后顺序。图中的每个结点可用来表示一个进程或程序段, 乃至一条语句,结点间的有向边则表示两个结点之间存在的 偏序(Partial Order)或前趋关系(Precedence Relation)。
8
第二章 进程的描述与控制
这样,上述的三个程序段间就存在着这样的前趋关系: Ii→Ci→Pi,其执行的顺序可用前趋图2-2(a)描述。
即使是一个程序段,也可能存在着执行顺序问题,下面 示出了一个包含了三条语句的程序段:
S1: a :=x+y; S2: b :=a-5; S3: c :=b+1; 其中,语句S2必须在语句S1后(即a被赋值)才能执行,语句S3 也只能在b被赋值后才能执行,因此,三条语句存在着这样 的前趋关系:S1→S2→S3,应按前趋图2-2(b)所示的顺序执行。
3
第二章 进程的描述与控制
进程(或程序)之间的前趋关系可用“→”来表示,如果 进程Pi和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,也可写 成Pi→Pj,表示在Pj开始执行之前Pi 必须完成。此时称Pi是Pj 的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有 前趋的结点称为初始结点(Initial Node),把没有后继的结点 称为终止结点(Final Node)。此外,每个结点还具有一个重量 (Weight),用于表示该结点所含有的程序量或程序的执行 时间。
对于具有下述四条语句的程序段:
S1: a :=x+2 S2: b :=y+4 S3: c :=a+b S4: d :=c+b 可画出图2-4所示的前趋关系。可以看出:S3必须在a和b 被赋值后方能执行;S4必须在S3之后执行;但S1和S2则可以 并发执行,因为它们彼此互不依赖。
14
第二章 进程的描述与控制
6
第二章 进程的描述与控制
图2-1 前趋图
7
第二章 进程的描述与控制
2.1.2 程序顺序执行 1. 程序的顺序执行 通常,一个应用程序由若干个程序段组成,每一个程序
段完成特定的功能,它们在执行时,都需要按照某种先后次 序顺序执行,仅当前一程序段执行完后,才运行后一程序段。 例如,在进行计算时,应先运行输入程序,用于输入用户的 程序和数据;然后运行计算程序,对所输入的数据进行计算; 最后才是运行打印程序,打印计算结果。我们用结点(Node) 代表各程序段的操作(在图2-1中用圆圈表示),其中I代表输 入操作,C代表计算操作,P为打印操作,用箭头指示操作的 先后次序。
5
第二章 进程的描述与控制
应当注意,前趋图中是不允许有循环的,否则必然会产 生不可能实现的前趋关系。如图2-1(b)所示的前趋关系中就 存在着循环。它一方面要求在S3开始执行之前,S2必须完成, 另一方面又要求在S2开始执行之前,S3必须完成。显然,这 种关系是不可能实现的。
S2→S3,S3→S2
相关文档
最新文档