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

合集下载

计算机操作系统课件(第四版)第二章资料

计算机操作系统课件(第四版)第二章资料

索引方式

系统根据所有进程的状态建立相应的索引表 就绪索引表、阻塞索引表等,索引表在内存的首地址记 录在内存的一些专用单元中。
PCB1
PCB2 PCB3 PCB4
执行指针
PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5
就绪队列指针
阻塞队列指针
PCB5
PCB6 PCB7 PCB8
进程控制信息: 程序和数据的地址 同步和通信机制 资源清单 链接指针

PCB数目

4、进程控制块的组织方式
一个系统中的PCB数目可为数十个、数百个甚至数千个
线性方式

把所有的PCB都组织在一张线性表中,将表的首地址放 在内存的专用区中。
链接方式

把具有同一状态的PCB,用其链接字链接成一个队列 就绪队列、若干个阻塞队列、空队列
进程的结构图示:
进程控制块
PCB 动态特征的集中反映
程序段
描述要完成的功能
数据段
操作对象及工作区
进程的其他定义:
进程是一个具有一定独立功能的程序在一个 数据集合上的一次动态执行过程。 进程是并发程序的一次执行过程。是系统进 行资源分配和调度的独立单位。 进程是可以和别的计算并发执行的计算。
2.2 进程的描述
进程的定义和特征 进程的基本状态和转换 挂起操作和状态转换 进程管理中的数据结构
2.2.1、进程的定义和特征 进程的定义 进程的特征
进程的定义
进程: 进程是进程实体的运行过程,是系统进行资 源分配和调度的一个独立单位。 进程实体=程序段+相关的数据段+PCB Linux 进 程 组 成
进程的挂起状态
活动 就绪
调度 释放 I/O请求

操作系统教程第四版(孙钟秀)全部课件

操作系统教程第四版(孙钟秀)全部课件
• 虚化的例子—虚拟设备、虚拟存储器、虚拟屏幕( 终端)、虚拟信道 、虚拟文件 。
10
3) 资源抽象
• 资源抽象用于处理系统的复杂性,重点解决资源 的易用性。
• 资源抽象指通过创建软件来屏蔽硬件资源物理特 性和接口细节,简化对硬件资源的操作、控制和 使用的一类技术。
• 单级资源抽象与多级资源抽象。
资源抽象
(处理系统的复杂性, 解决资源的易用性)
8
1)资源复用
(1)空分复用共享 --该资源可进一步分割成更多和 更小的单位供进程使用。如内存、磁盘。
(2)时分复用共享--并不把资源进一步分割成更小的 单位,进程可在一个时间片内独占使用整个物理 资源。如处理器。
9
2) 资源虚化
• 是对资源进行转化、模拟或整合,把物理上的一 个资源变成逻辑上的多个对应物的一类技术。
工作流程如下: 操作员集中一批用户提交的作业,由管理程序将 作业从纸带或卡片机输入到磁带上,每当一批作 业输入完成后,管理程序自动把磁带上的第一个 作业装入主存,并把控制权交给作业。当该作业 执行完成后,作业又把控制权缴回管理程序,管 理程序再调入磁带上的第二个作业到主存执行
40
管理程序阶段(2)
2
1.1.1 操作系统的定义和目标
操作系统是管理系统资源、控制程序执行,改善 人机界面,提供各种服务,合理组织计算机工作 流程和为用户有效使用计算机提供良好运行环境 的最基本的一种系统软件。
3
操作系统的主要目标
方便用户使用 扩充机器功能 管理系统资源 提高系统效率 构筑开放环境
中断处理
设备驱动
作业定序
命令和JCL语言解释器
用 户 程 序 区
管理程序的主存组织

2024版计算机操作系统第四版ppt课件

2024版计算机操作系统第四版ppt课件

分布式处理系统的应用
如云计算、大数据处理等。
分布式文件系统与数据库系统
分布式文件系统的基本概念
01
将文件分布在多个计算机节点上,通过网络进行访问和
管理。
分布式数据库系统的基本概念
02
将数据库分布在多个计算机节点上,通过网络进行访问
和管理,同时保持数据的一致性和完整性。
分布式文件系统和数据库系统的关键技术
文件共享是指多个用户或进程可以同时访问和使用同一文件。
文件保护
文件保护是指操作系统采取一定的措施,防止文件被非法访问、修 改或破坏。
共享与保护的实现方法
操作系统可以通过访问控制列表(ACL)、权限位和加密等机制来 实现文件的共享和保护。
文件操作及实现方法
文件操作
文件操作包括文件的创建、打开、读/写、定位和关闭等。
调度算法的性能评价指标
包括系统吞吐量、处理机利用率、周转时间、响应时间等。
典型的多处理机调度算法
如最短作业优先算法、最高响应比优先算法等。
分布式处理系统的特点与分类
分布式处理系统的特点
自治性、并发性、资源共享、透 明性等。
分布式处理系统的分类
根据系统中计算机的类型和互连 方式,可分为同构型分布式系统 和异构型分布式系统。
并行处理系统的基本结构 包括多个处理单元、互连网络、存储器等部件,通过相互 协作完成并行任务。
并行处理系统的分类 根据处理单元的数量和互连方式,可分为共享内存系统和 分布式内存系统。
多处理机调度算法及性能评价
多处理机调度算法的种类
包括静态调度算法和动态调度算法,其中动态调度算法又可分为集中式调度和分布式调度。
进程调度算法的实现需要考虑系统 效率、公平性和实时性等因素。

操作系统-第2章(3) (第四版)

操作系统-第2章(3) (第四版)

原语Receive(P1,m1) 表示接收由P1发来的消息m1。 形式: 对称形式:一对一 非对称形式:多对一 (顾客/服务员) 如:提供打印服务的进程; Receive (id,message); 有缓冲(有界,无界),无缓冲;
第二章 进 程 管 理
2. 消息缓冲队列通信机制(直接通信)
消息缓冲通信:是一种直接通信方式,一种可直接以较高的效率传递 较多数据的信息交换方式,被广泛应用于本地进程之间的通信。 每当发送进程欲发送消息时,便形成一个消息缓冲区,其结构如下: typedef struct message buffer { int sender; 发送者进程标识符 int size; 消息长度 char *text; 消息正文 struct message_buffer *next 指向下一个消息缓冲区的指针 }; 消息缓冲区是内存中的一个区域,其中可以存放一条消息。 发送进程可以把消息填写到消息缓冲区中,并把该消息缓冲区插入到 接收进程的消息链上,以待接收进程进行加工处理。
线

进程的概念和结构是传统操作系统工作的基础。但是,随着计算机体 系结构从早期的单处理机结构发展到目前的多处理机结构,在多任务的环 境中,为了减少处理机的空转时间以及处理机调度切换时的时间和空间开 销,提高系统的并行能力,因此产生了更小的控制单位:线程。
第二章 进 程 管 理 补充:
多线程的概念首先是在多处理机的并行处理中提出来的。传统的多处 理机由若干台处理机组成,每台处理机每次运行单个现场,即每台处理机 有一个有限硬件资源的单一控制线路。在这样的多处理机系统中,在进行 远程访问期间会出现等待现象,处理机在这段时间间隔内处于空闲状态。 为了提高处理机的并行操作能力,提出多线程的概念。在每台处理机上建 立多个运行现场,这样每台处理机的有多个控制线路,为解决处理机长时 间等待的问题提供了一种有效的机制。一个控制线路就是一个线程,线程 可以用一个现场表示,现场由程序计数器(PC)、寄存器组和所要求的现 场状态状态字组成。

《计算机操作系统》第2章.ppt

《计算机操作系统》第2章.ppt
IC-MSP<2.0>
main()
CPU调度流程图
系统运行函数
初始化系统 进程列表
系统运行 标志为1
No
退出程序
❖一个线程可以创建和撤销另一个线程; ❖同一进程中的多个线程之间可以并发执行; ❖线程同样有就绪、阻塞和执行三种基本状态。
IC-MSP<2.0>
线程与进程的比较
❖线程是调度和分配的基本单位,而进程是资源拥 有的基本单位; ❖进程间可并发执行,进程中的线程亦可并发执行; ❖进程的调度与切换都是由操作系统内核完成,而 线程则既可由操作系统内核完成,也可由用户程序 进行。
计算机操作系统
回顾
操作系统概论
操作系统基本概念和发展史
操作系统类型
批处理
分时、实时 网络 分布式
操作系统接口及接口实例
IC-MSP<2.0>
第2 章
进程与线程
IC-MSP<2.0>
本章目标
掌握进程的概念 掌握进程调度的原理 掌握进程通信机制 了解线程的概念
IC-MSP<2.0>
什么是进程
IC-MSP<2.0>
进程的三种基本状态
等待态 就绪态
运行态
IC-MSP<2.0>
进程状态的变迁
进进进进
进进1 进进
进进进进
进进3 进进
进进进进进进
进进
进进2 进进
IC-MSP<2.0>
进程调度的概念 进程调度也称为处理机调度,它协调和控制 各进程对CPU的使用。相应的进程调度程序可叫 分配程序或低级调度程序。
IC-MSP<2.0>
IC-MSP<2.0>

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

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

THANK YOU
感谢观看
避免死锁、检测并恢复 死锁、预防死锁。
按顺序申请资源、请求 和持有、预先分配、静 态重分配。
检测死锁、停止进程、 撤销进程、恢复进程。
避免“请求和持有”、 避免“不剥夺”。
03
内存管理
内存的基本概念
内存
01
计算机中重要的硬件资源之一,用于存储运行中的程
序和数据。
内存种类
02 RAM、ROM、Cache等。
设备管理主要是对计算机设备进行管理,包括设备的分配、使 用、维护等。
02
进程管理
进程的基本概念
1 2
进程
程序关于某个数据集合上的一次运行活动,是系 统进行资源分配和调度的基本单位。
进程的特征
独立性、并发性、异步性、结构特征。
3
进程的状态
就绪状态、等待状态、运行状态、结束状态。
进程的创建和终止
进程的创建
内存共享
02
03
内存锁定
多个程序可以共享一些公共的内 存区域,ቤተ መጻሕፍቲ ባይዱ实现数据交换和协作 。
一些关键数据和代码可以被锁定 在内存中,防止被其他程序修改 或破坏。
04
文件系统
文件的基本概念
文件
文件是计算机中存储信息的单位,由数据项、 数据格式和数据结构组成。
文件类型
根据使用需求和存储内容,文件可分为文本文 件、二进制文件、图像文件等。
01
02
03
虚拟内存
通过将内存分为多个逻辑 分区,实现了一种类似于 硬盘的内存管理方式。
页面置换算法
当内存空间不足时,操作 系统会将一些不常用的页 面置换到硬盘上,以释放 内存空间。
页面调度

计算机操作系统(第四版)第二章进程通信

计算机操作系统(第四版)第二章进程通信

高级通信:用户可以直接利用操作系统所提供的一组 通信命令,高效地传送大量数据的一种通信方式。
2
进程的同步与互斥是一种通信方式,一进 程可通过修改变量或信号量告知另一进程,它 是否可以继续执行下去。利用生产者——消费 者算法,生产者进程可以传送一批数据给消费 进程,或者说生产者通过缓冲区与消费者进行 通信,但P、V操作只能传递信号,信号本身不 包含任何数据,而进程不当还容易导致进程死 锁,因此,称这些同步机构为低级通信机构。
5
1 共享存储器系统
共享存储器系统:相互通信的进程通过共 享某些数据结构或存储区进行通信,因而可进 一步分为: 基于共享数据结构的通信方式;(低效,只 适于传递少量数据) 基于共享存储区的通信方式。为了传送大量 数据,在存储区中划出一块共享存储区,诸进 程可通过对共享存储区进行读或写数据实现通 信。
进程通信
1
进程通信:指进程间的信息交换。 按通信内容可以划分为2种 低级通信:进程之间控制信息的交换称为低级通信。 一般只传送一个或几个字节的信息,达到 控制进程执行速度的作用。(进程的同步和互斥)
信号量机制作为同步工具是卓有成效的,但作为通信工具则不够理想, (效率低。通信对用户不透明。)
15
管道 是指用于连接一个读进程和一个写进 程,以实现它们之间通信的一个共享文 件,又称pipe文件。 向管道(共享文件)提供输入的发 送进程(即写进程),以字符流形式将 大量的数据送入管道;而接收管道输出 的接收进程(即读进程),可从管道接 收数据,由于发送和接收都是利用管道 进行通信的,故称为管道通信。
1 在发送进程把消息写入缓冲区和把缓冲区挂入消息队列时, 应禁止其他进程对缓冲区消息队列的访问。同理,接收进程 取消息时也禁止其他进程访问缓冲区消息队列 2 当缓冲区中没有信息存在时,接收进程不能接收到任何消息

操作系统教程第四版(孙钟秀)全部课件

操作系统教程第四版(孙钟秀)全部课件
4
计算机系统的层次结构(1)
用户1
用户2
用户3
用户4
… 用户n
财务系统 航空订票 上网浏览 电子商务 … 科学计算 (应用软件)
编译程序 汇编程序 数据库 … 实用程序 (支撑软件)
操作系统 (系统软件)
计操算作机系硬统件 (系统软件)
5
计算机系统的层次结构(2)
• 硬件层
提供基本的可计算性资源,如处理器、寄存器、存储器 及各种I/O设备。
设设 备备
时分复用共享 空分复用共享
物理计算机
17
1.1.3 操作系统的作用与功能
➢ 操作系统的作用:对内是“管理员”,对外是“ 服务员”:
OS作为用户接口和服务提供者 OS作为作为扩展机或虚拟机 OS作为资源管理者和控制者
18
OS作为用户接口和服务提供者
• 操作系统提供友善的人机接口,使得用户能够方 便、可靠、安全、高效地使用硬件和运行应用程 序;
数据卡或数据带 • 产生计算结果,执行结果从打印机上或卡片机上
输出
38
人工操作阶段的缺点
• 用户上机独占全机资源,造成资源利用率不 高,系统效率低下
• 手工操作多,浪费处理机时间,也极易发生 差错
• 数据的输入,程序的执行、结果的输出均联 机进行,从上机到下机的时间拉得非常长
39
1.2.2 管理程序阶段(1)
算机系统的主存储器并启动进行计算的方法
从宏观上看是并行的 从微观上看是串行的
• 引入多道程序设计技术的目的:可以提高CPU的利 用率,充分发挥计算机硬件的并行性。
44
多道程序设计例(1)
时间
78
130 150
操作系统中,能分配给用户使用的硬件和软件设施 总称为资源,包括两类:硬件资源和信息资源。

操作系统(第四版)第02-2章

操作系统(第四版)第02-2章
第二章之进程的同步与通信
2.3.1 进程同步的基本概念
举例: 例一:搬椅子和坐椅子 同学甲 同学乙 ……… ………. if 有空椅子 then 坐下 if 有空椅子 then 搬走 ……… ……….
例二:民航售票(X为某航班的票数)
终端 A
B 终端
主机
终端 C D 终端
例三:交通流量的统计(S表示通过的车
相互感知程度 相互不感知(完全 不了解其它进程 的存在) 间接感知(双方都 与第三方交互, 如共享资源) 直接感知(双方直 接交互,如通信)
交互关系
一个进程对其他 进程的影响
竞争(competition) 一个进程的操作 对其他进程的结 果无影响 通过共享进行协 作 通过通信进行协 作 一个进程的结果 依赖于从其他进 程获得的信息 一个进程的结果 依赖于从其他进 程获得的信息
软件解法 (4)
Peterson算法
进程P 进程Q ………… ………… pturn:=true; qturn:=true; turn:=2; turn:=1; while(qturn && turn=2)while(qturn && turn=1) 临界区 临界区 pturn:=false; qturn:=false; ………… …………
被广泛应用于单处理机和多处理机系统,以及 计算机网络中。
锁机制仅能表示“开”与“关”两种状态;上
锁程序中反复测试W状态,浪费了处理机的时 间;锁机制只能解决互斥,不能用于同步。信 号量同步机制能完满地解决上述问题。
信号量:semaphore
是一个数据结构 定义如下:
struc semaphore { int value;/*整型变量,仅由P、V操作修改 pointer_PCB queue; /*进程等待队列 }

操作系统课件第四版第二章

操作系统课件第四版第二章

一、操作系统内核
通常将一些与硬件紧密相关的模块(如中断处理程 序等)、各种常用设备的驱动程序以及运行频率较高的
模块(如时钟管理、进程调度和许多模块所公用的一些
操作),都安排在紧靠硬件的软件层次中,将它们常驻
内存,即通常被称为的OS内核。
这样安排的目的在于:一是便于对这些软件进行保
护;二是可以提高OS的运行效率。
4. 一个状态转换的发生,是否一定导致另一个转换发 生,列出所有的可能。
增加两种基本状态
• 创建( 新new)状态
– OS 已完成为创建一进程所必要的工作 • 已构造了进程标识符 • 已创建了管理进程所需的表格 – 但还没有允许执行该进程 (尚未同意)
• 因为资源有限
• 终止(退出exit)状态
④ 阻塞—就绪
事件完成
【思考题】
1 .如果一个单处理机系统中有 n 个进程并发执行,在 不考虑程序状态过渡的情况下,执行的进程最多几 个?最少几个?就绪进程最多几个?最少几个?阻 塞进程最多几个?最少几个? 2. 某一时刻,处于执行状态的进程为 0 个,且当前处 理机空闲,处于就绪状态的进程有几个? 3. 有没有这样的状态转换,为什么? 阻塞 —> 执行; 就绪 —> 阻塞
二、进程的创建
1. 进程的层次结构
在 OS 中,允许一个进程创建另一个进程,通常 把创建进程的进程称为父进程,而把被创建的进程称 为子进程。子进程可继续创建更多的孙进程,由此便 形成了一个进程的层次结构。
值得注意的是:在 Windows 中不存在任何进程层
次结构的概念,所有进程都具有相同的地位。
2. 进程图
挂起
活动
调度
释放
挂起 事件 发生 活动

汤小丹计算机操作系统官方课件第四版计算机操作系统课件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. 主存储器 主存储器简称内存或主存,是计算机系统中的主要部件,用于保存进

计算机操作系统(第四版)第2章 进程的描述与控制1

计算机操作系统(第四版)第2章  进程的描述与控制1

14
进程:
资源拥有者,动态的。 (目标:协同完成同一个任务 (目标:协同完成同 个任务!)
15
线 线程
一般不拥有资源,是受派遣者 (只负责 从这条线过的 必须缴费) (只负责:从这条线过的,必须缴费)
16
进程的基本概念
程序并发执行时,必会共享系统资源。进程,是 描述程序执行时的动态特征
P32
2.1前趋图程序执行 2.2 进程的描述

N=N+1 N N 1 n+1 1 print(N) n+1 N=0 N=0 0
(2)N:=N+1在print(N)和N=0之后,得到的N值分别为: N:=N+1在print(N)和N=0之后 得到的N值分别为:

print(N) n N 0 N=0 0 N=N+11
I3 C3 P3
9个∆t
t0Δt t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t
21
顺序执行与并发执行

任意程序都存在着 Ii→Ci→Pi 这样的前驱关系,因 而对一个用户程序的输入 而对 个用户程序的输入、计算和打印这三个操 计算和打印这三个操 作,必须顺序执行。 但在多道环境下并不存在或并不要求Pi→Ii+1 关系, 即Ii 、 Cj 和 Pk(i≠j≠k)之间并不存在前驱关系。
17
程序的顺序执行及其特征 1. . 程序的顺序执行

程序的执行:顺序执行和并发执行; 一个应用程序分成若干个程序段,各程序段之间,必 须按照某种先后次序顺序执行。 用结点(Node)代表各程序段的操作(I代表输入操作,C代 表计算操作,P代表打印操作),用箭头指示操作的先后 次序; 次序

计算机操作系统(第四版)第二章进程的概念

计算机操作系统(第四版)第二章进程的概念

I1
4
C1
P1
I2
C2
P2

程序的顺序执行:一个具有独立功能的程序独占处理机直 至得到最终结果的过程称为程序的顺序执行。
S1: a:=x+y; S2: b:=a-5;//s2必须是s1执行后再执行 S3: c:=b+1;//s3必须是s2执行后再执行

S1 、S2、 S3必须按照顺序依次执行。
2.程序顺序执行时的特征
3
创建状态和终止状态 1.创建状态 是一个进程刚刚建立,但还没有将它 送入就绪队列时的状态 2.终止状态 当一个进程已经正常结束或异常结束, OS已经将它从就绪队列中移出,但还没 有将它撤消时的状态。
28
创建
许可
释放 中断或 时间片用完
终止 获得CPU 正在运行
万事具备, 只欠“东风” CPU I/O完成或 事件发生 欠缺某些条件
S1
S3
S2
S4
10
程序的并发执行及其特征 1.程序的并发执行
一组逻辑上相互独立的程序或程序段在执行过程中, 其执行时间在客观上相互重叠,即一个程序段的执行,尚 未结束,另一个程序段的执行已经开始的这种执行方式。 程序的并发执行可分为两种: (1) 在计算机系统支持并行操作时,如采用多道程序 设计技术,则内存中多道程序处于并发执行状态。
2.进程的三种基本状态
1)就绪(Ready)状态 当进程已经分配到除CPU以外的所有必要的资源后,只 要能获得处理机,就可以立即执行。这时的进程的状态称 为就绪状态。 2)执行状态(Running)(运行状态) 指进程已获得处理机,其程序正在执行。在单处理机 系统中,只能有一个进程处于执行状态。(在多处理机中, 可能有多个进程处于执行状态。)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1.3 程序并发执行 1. 程序的并发执行 我们通过一个常见的例子来说明程序的顺序执行和并发
执行。在图2-2中的输入程序、计算程序和打印程序三者之 间,存在着Ii→Ci→Pi这样的前趋关系,以至对一个作业的输 入、计算和打印三个程序段必须顺序执行。但若是对一批作 业进行处理时,每道作业的输入、计算和打印程序段的执行 情况如图2-3所示。
段完成特定的功能,它们在执行时,都需要按照某种先后次 序顺序执行,仅当前一程序段执行完后,才运行后一程序段。 例如,在进行计算时,应先运行输入程序,用于输入用户的 程序和数据;然后运行计算程序,对所输入的数据进行计算; 最后才是运行打印程序,打印计算结果。我们用结点(Node) 代表各程序段的操作(在图2-1中用圆圈表示),其中I代表输 入操作,C代表计算操作,P为打印操作,用箭头指示操作的 先后次序。
2.1 前趋图和程序执行
在早期未配置OS的系统和单道批处理系统中,程序的执 行方式是顺序执行,即在内存中仅装入一道用户程序,由它 独占系统中的所有资源,只有在一个用户程序执行完成后, 才允许装入另一个程序并执行。可见,这种方式浪费资源、 系统运行效率低等缺点。
2.1.1 前趋图 为了能更好地描述程序的顺序和并发执行情况,我们先
图2-4 四条语句的前趋关系
2. 程序并发执行时的特征 在引入了程序间的并发执行功能后,虽然提高了系统的 吞吐量和资源利用率,但由于它们共享系统资源,以及它们 为完成同一项任务而相互合作,致使在这些并发执行的程序 之间必将形成相互制约的关系,由此会给程序并发执行带来 新的特征。 (1) 间断性。 (2) 失去封闭性。 (3) 不可再现性。
图2-2 程序顺序执行的前趋图
2. 程序顺序执行时的特征 由上所述可以得知,在程序顺序执行时,具有这样三个 特征:① 顺序性:指处理机严格地按照程序所规定的顺序执 行,即每一操作必须在下一个操作开始之前结束;② 封闭性: 指程序在封闭的环境下运行,即程序运行时独占全机资源, 资源的状态(除初始状态外)只有本程序才能改变它,程序一 旦开始执行,其执行结果不受外界因素影响;③ 可再现性: 指只要程序执行时的环境和初始条件相同,当程序重复执行 时,不论它是从头到尾不停顿地执行,还是“停停走走”地 执行,都可获得相同的结果。程序顺序执行时的这种特性, 为程序员检测和校正程序的错误带来了很大的方便。
进程(或程序)之间的前趋关系可用“→”来表示,如果 进程Pi和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,也可写 成Pi→Pj,表示在Pj开始执行之前Pi 必须完成。此时称Pi是Pj 的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有 前趋的结点称为初始结点(Initial Node),把没有后继的结点 称为终止结点(Final Node)。此外,每个结点还具有一个重量 (Weight),用于表示该结点所含有的程序量或程序的执行 时间。
图2-3 程序并发执行时的前趋图
由图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之间,不存在前趋关系,可以并发执行。
对于具有下述四条语句的程序段:
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则可以 并发执行,因为它们彼此互不依赖。
这样,上述的三个程序段间就存在着这样的前趋关系:
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)所示的顺序执行。
在图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)}
介绍用于描述程序执行先后顺序的前趋图。所谓前趋图 (Precedence Graph),是指一个有向无循环图,可记为 DAG(Directed Acyclic Graph),它用于描述进程之间执行的 先后顺序。图中的每个结点可用来表示一个进程或程序段, 乃至一条语句,结点间的有向边则表示两个结点之间存在的 偏序(Partial Order)或前趋关系(Precedence Relation)。
应当注意,前趋图中是不允许有循环的,否则必然会产 生不可能实现的前趋关系。如图2-1(b)所示的前趋关系中就 存在着循环。它一方面要求在S3开始执行之前,S2必须完成, 另一方面又要求在S2开始执行之前,S3必须完成。显然,这 种关系是不可能实现的。
S2→ 程序的顺序执行 通常,一个应用程序由若干个程序段组成,每一个程序
2.2 进 程 的 描 述
2.2.1 进程的定义和特征 1. 进程的定义 在多道程序环境下,程序的执行属于并发执行,此时它
们将失去其封闭性,并具有间断性,以及其运行结果不可再 现性的特征。由此,决定了通常的程序是不能参与并发执行 的,否则,程序的运行也就失去了意义。为了能使程序并发 执行,并且可以对并发执行的程序加以描述和控制,人们引 入了“进程”的概念。
相关文档
最新文档