操作系统 第2章
合集下载
第二章 操作系统用户界面

作业说明书包含:作业的基本描述、作业控 制描述和资源要求描述。体现用户的控制意 图。
图2.2 作业说明书的主要内容
2.2.3 一般用户的输入输出方式
联机输入输出方式
脱机输入输出方式 直接耦合方式
SPOOLING系统
网络联机方式
联机输入输出方式
用户和系统通过交互会话来输入作业。
外围设备直接和主机连接。由主机直接控制输入输 出;I/O与作业处理不能并行。降低了CPU效率 一台主机可以连接一台或多台外围设备。在单台设 备和主机相连接进行作业输入输出时,由于外围设 备的输入输出速度远远低于CPU处理速度,有可能 造成CPU资源的浪费。
联机作业控制的命令种类
环境设置 执行权限管理 系统管理 文件管理 编辑、编译、链接装配、执行命令 通信 资源要求
2.3 命令控制界面
现代操作系统,大都提供联机控制方式和批 处理方式。 批处理方式:指传统的作业控制语言编写的 作业说明书方式,也指那些把不同的交互命 令按一定格式组合后的命令文件方式。
陷阱处理机构、陷阱指令
必须为实现各种系统调用功能的子程序编造 入口地址表,每个入口地址都与相应的系统 子程序名对应。
由陷阱处理程序把陷阱指令中所包含的功能 号与该入口地址表中的有关项对应起来,从 而由系统调用功能号驱动有关系统子程序执 行。
陷阱处理机构、陷阱指令
在进入系统调用处理之前,陷阱处理机构要 保存处理机现场。在系统调用处理结束之后, 陷阱处理机构还要恢复处理机现场。
2.6 Linux与Windows的系统调用
2.6.1 Linux的系统调用
图2.2 作业说明书的主要内容
2.2.3 一般用户的输入输出方式
联机输入输出方式
脱机输入输出方式 直接耦合方式
SPOOLING系统
网络联机方式
联机输入输出方式
用户和系统通过交互会话来输入作业。
外围设备直接和主机连接。由主机直接控制输入输 出;I/O与作业处理不能并行。降低了CPU效率 一台主机可以连接一台或多台外围设备。在单台设 备和主机相连接进行作业输入输出时,由于外围设 备的输入输出速度远远低于CPU处理速度,有可能 造成CPU资源的浪费。
联机作业控制的命令种类
环境设置 执行权限管理 系统管理 文件管理 编辑、编译、链接装配、执行命令 通信 资源要求
2.3 命令控制界面
现代操作系统,大都提供联机控制方式和批 处理方式。 批处理方式:指传统的作业控制语言编写的 作业说明书方式,也指那些把不同的交互命 令按一定格式组合后的命令文件方式。
陷阱处理机构、陷阱指令
必须为实现各种系统调用功能的子程序编造 入口地址表,每个入口地址都与相应的系统 子程序名对应。
由陷阱处理程序把陷阱指令中所包含的功能 号与该入口地址表中的有关项对应起来,从 而由系统调用功能号驱动有关系统子程序执 行。
陷阱处理机构、陷阱指令
在进入系统调用处理之前,陷阱处理机构要 保存处理机现场。在系统调用处理结束之后, 陷阱处理机构还要恢复处理机现场。
2.6 Linux与Windows的系统调用
2.6.1 Linux的系统调用
操作系统第二章总结

第二章
多道程序目的:是为了提高系统利用率和增强系统的处理能力。
程序的特点:1)执行并发性(独立程序轮流占用CPU,而且同时处于活动状态)
2) 相互制约性(A—>B,B—>A间接:A—>B—>C直接)
3)状态多变性
并发并行的区别:并发宏观上看同一时间内多个程序一起运行
微观上是多个程序轮流执行
并行:多个程序真正在同一时间内一起运行
进程的定义:指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调度的一次独立单位
※进程与程序的关系:进程是执行过程,程序是进程的基础;
进程是动态的过程,程序是静态的;
不同进程可以执行同一程序;
进程有生命周期;
进程有并发性;
进程间会相互制约
系统进程与用户进程的区别:1)系统的相互关系由操作系统负责协调,用户则由用户自己
2)系统进程可以管理软,硬件的资源,但用户对某种资源需向系统申请
3)系统优先级高
4)系统进程运行在核心态,用户进程运行在用户态
※进程的状态和状态变迁:创建,运行,就绪,阻塞,撤销
就绪/挂起(进程在外存)阻塞/挂起(进程在外存)
进程控制块PCB:进程的唯一标识标识信息
现场保护区信息
调度信息
管理信息
原语:进程的创建和撤销,进程的阻塞与唤醒,进程的挂起与激活
线程:指进程中实施处理机调度和分配的基本单位
线程优点:1)线程在进程内共享程序和资源,无需进行资源分配。
2)同一进程中的不同线程的切换是在其地址中进行的
3)线程可以在进程中访问该进程的所有资源,不用进行切换
4)同进程的线程可以相互共享资源,不用通过系统内核。
第二章 操作系统

进程通信 进程之间的联系称之为进程通信,用通信原语进行描述。进程 间的基本关系是同步和互斥两种。同步反映了进程间的合作关 系,同步的例子是一个进程需要以另一个进程的输出作为自己 的输入。互斥反映了进程间的竞争关系,互斥的例子是两个进 程可能同时使用同一资源。
死锁 当两个或两个以上的进程因争用系统资源而无休止地互相等待 时,就发生进程死锁,这是系统的一种出错状态,应采取预防 措施避免出现死锁现象。 预防死锁的方法有:静态预先分配所有资源法、有序资源分配 法和受控资源分配法。
网络操作系统(Network operating system):运 行在局域网上的操作系统。目前,常用的网络操 作系统有NetWare和Windows NT等。 分布式操作系统(Distributed operating system): 通过网络将物理上分布的具有自治功能的计算机 系统或数据处理系统互连,实现信息交换和资源 共享,协同完成任务。 单用户操作系统(Single-user operating system):按同时管理的作业数,单用户操作系 统可分为单用户单任务操作系统和单用户多任务 操作系统。单用户单任务操作系统只能同时管理 一个作业运行,CPU运行效率低,如DOS;单用 户多任务操作系统允许多个程序或作业同时存在 和运行。
操作系统的组成
进程管理
进程是是程序的一次执行过程,是系统进行资源分配和调度的 独立单位。 进程与程序具有不同的属性,概括如下: 程序是指令的集合,进程是指令的执行; 程序是静态的概念,进程是动态的概念; 程序存储需要介质,进程执行需要处理机; 程序是永存的,进程的生命是有限的。 进程由三部分组成:进程控制块、程序和数据的集合。
《计算机操作系统》第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>
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>
操作系统课件 第2章 进程

第二章 进 程 管 理
对于具有下述四条语句的程序段: S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b 请画出前趋关系图。
S1 S3 S2 S4
第二章 进 程 管 理
2.2 程序并发执行时的特征
1) 间断性 相互制约性)-后面的模块等待前面的模块 间断性(相互制约性 - 相互制约性 传来的结果,然后才执行(如打印模块等待 计算模块完成)。走走停停。 2) 失去封闭性 :多个程序共享系统中的各种资源, 因而这些资源的状态将由多个程序来改变, 致使程序的运行已失去了封闭性。 结果是一个程序运行时会受到另一个程序的 结果是 影响。 3) 不可再现性 :程序在并发执行时,由于失去了封 闭性,也将导致失去其可再现性
第二பைடு நூலகம் 进 程 管 理
新进程
接纳
就绪 时间片完 I/O完成 进程调度
阻塞 I/O请求
执行
完成
结束
图 2-5 进程的三种基本状态及其转换
(教材讲5种)
第二章 进 程 管 理
作业调度
作业后备队列
阻塞队列
外存
进程就绪队列
一些 阻塞队列
内存
处理器 (CPU)
第二章 进 程 管 理
3.7五状态 五状态进程模型 五状态
第二章 进 程 管 理
3.4进程与程序的区别 进程与程序的区别
程序是静态的, 1)程序是静态的 进程是动态的; 是根本区别) 1)程序是静态的,进程是动态的;(是根本区别) 程序是有序代码的集合;进程是程序的执行。 程序是有序代码的集合;进程是程序的执行。 2)进程和程序不是一一对应的 2)进程和程序不是一一对应的 ; • 一个程序可对应多个进程 即多个进程可执行同一程序 ; 一个程序可对应多个进程,即多个进程可执行同一程序 • 一个进程可以执行一个或几个程序 3)进程是暂时的 程序的永久的:进程是一个状态变化的过程, 进程是暂时的, 3)进程是暂时的,程序的永久的:进程是一个状态变化的过程, 程序可长久保存。 程序可长久保存。 4)进程与程序的组成不同 进程的组成包括程序、 进程与程序的组成不同: 4)进程与程序的组成不同:进程的组成包括程序、数据和进程 控制块(即进程状态信息)。 控制块(即进程状态信息)。 5)进程具有创建其他进程的功能 而程序没有。 进程具有创建其他进程的功能, 5)进程具有创建其他进程的功能,而程序没有。
计算机操作系统 第二章 进程管理(2)

缺点:
(1)进程在等待进入临界区时也要耗费处理器时间, 不能实现“让权等待” (2)可能出现进程“饥饿”
2.3.2 信号量机制
新的同步工具——信号量和P、V操作。
信号量:是一种数据结构,代表可用资源实 体的数目。
信号量只能通过初始化和两个标准的原语: P(wait(S))、V((signal(S))来访问。 P原语相当于进入区操作,V原语相当于退 出区操作。
AND同步机制
AND同步机制的基本思想是:进程运行时所 需要的所有资源,要么全部分配给它,使用完 毕后一起释放;要么一个都不分配给它。实现 时,采用原子操作:要么全部分配到所有资源, 要么一个也不分配到。 称AND型信号量P原语为:
Swait(Simultaneous wait)
V原语为Ssignal(Simultaneous signal)。
SP原语描述
Swait(S1,S2,„,Sn) /* SP原语描述 */ {while(1) {if(S1>=1&&S2>=1&&„&&Sn>=1) {for(i=1;i<=n;i++) Si--; /* 先确信可满足所有资源要求再减1操作 */ berak; } else /* 资源不够时 */ {将进程放入第一个信号量小于1的阻塞队列Si.sqeue; 将PC中的地址回退到SP开始处; 阻塞进程; } } }
第二章 进程管理(2)
2.3 进程同步
多进程并发执行时,由于资源共享或进程合 作,使进程间形成间接相互制约和直接相互制 约关系,这需要用进程互斥与同步机制来协调 两种制约关系。 进程同步的主要任务:协调进程执行次序, 使并发执行的诸进程间能有效地共享资源和相 互合作,使程序的执行具有可再现性。
操作系统原理教程第2章

超线程的工作
– 超线程处理器被视为两个分离的逻辑处理器,应用程序
不须修正就可使用这两个逻辑处理器. – 每个逻辑处理器都可独立响应中断.第一个逻辑处理器 可追踪一个软件线程,而第二个逻辑处理器则可同时追 踪另一个软件线程. – 由于两个线程共同使用同样的执行资源,因此不会产生 一个线程执行的同时,另一个线程闲置的状况.
要进行合理的控制和协调才能正确执行
资源共享关系 相互合作关系
进程的同步与互斥
进程同步与互斥的概念 进程同步机制应遵循的原则 利用锁机制实现同步
进程同步与互斥的概念
临界资源
– 在系统中有许多硬件或软件资源,在一段时间内只允许一个进程访
问或使用,这种资源称为临界资源.
临界区
– 每个进程中访问临界资源的那段代码称为临界区
信号量的操作
(1)P操作:记为P(S),描述为:
– – – – – – – –
P(S) { S=S-1; if (S<0) W(S); } V(S) { S=S+1; if (S<=0) R(S); }
(2)V操作:记为V(S),描述为:
利用PV操作实现互斥 利用PV操作实现互斥
概念:
– 互斥信号量是根据临界资源的类型设置的.有几种
进程的定义
– 一个程序在一个数据集合上的一次运行过程.所以
一个程序在不同数据集合上运行,乃至一个程序在 同样数据集合上的多次运行都是不同的进程.
进程的特征
– – – – –
动态性 并发性 独立性 异步性 结构性
进程的状态
进程的三种基本状态 进程的其它两种状态 进程状态间的转换
进程的三种基本状态
就绪状态
– 【例2-5】有4位哲学家围着一个圆桌在思考和进餐,
第2章(win10版)操作系统

处理机管理:处理机包括中央处理器,主存 储器,输入-输出接口,加接外围设备就构 成完整的计算机系统。
存储器管理(内存分配) 文件管理(文件目录、文件组织、文件操
作和文件保护) 设备管理
早期操作系统的分类
批处理操作系统(不再干预、不具有交互性、提 高CPU的利用率)
分时操作系统(多个用户共享计算机) 实时系统(及时响应外部事件)
2.1.3 典型操作系统介绍
1.DOS简介 DOS(Disk Operation System,磁盘操作系统)
是一种单用户、单任务的计算机操作系统。
2.Windows简介
Windows是Microsoft公司在20世纪80年代末推出的基 于图形的、多用户多任务图形化操作系统,
对计算机的操作是通过对“窗口”、“图标”、 “菜单”等图形画面和符号的操作来实现的。用户的 操作不仅可以用键盘,更多的是用鼠标来完成。
1993年Windows NT 3.1发布,这个产品是基于 OS/2 NT的基础编制的,由微软和IBM联合研制。
1995年推出了全新的真正脱离DOS平台的 Windows 95,Windows 95是一个混合的16位/32 位Windows系统,其版本号为4.0,由微软公司 发行于1995年8月24日。
系统属性设置(远程设置)
1
将远程协助功能取消, 不允许远程连接到此计
算机。
2Байду номын сангаас
将所有磁盘状态设为关 闭。
系统属性设置(隐藏文件夹显示设置)
1. 查看--选项
2. 选择常规,在快速访 问中不显示最近使用 的文件 和常用文件夹
3. 选择查看,显示所有 的隐藏文件或文件夹
系统特色:虚拟桌面
windows10新增了Multiple Desktops功能 。该功能可让用户在同个操作系统下使 用多个桌面环境,即用户可以根据自己的 需要,在不同桌面环境间进行切换。微 软还在“Taskview”模式中增加了应用 排列建议选择——即不同的窗口会以某
存储器管理(内存分配) 文件管理(文件目录、文件组织、文件操
作和文件保护) 设备管理
早期操作系统的分类
批处理操作系统(不再干预、不具有交互性、提 高CPU的利用率)
分时操作系统(多个用户共享计算机) 实时系统(及时响应外部事件)
2.1.3 典型操作系统介绍
1.DOS简介 DOS(Disk Operation System,磁盘操作系统)
是一种单用户、单任务的计算机操作系统。
2.Windows简介
Windows是Microsoft公司在20世纪80年代末推出的基 于图形的、多用户多任务图形化操作系统,
对计算机的操作是通过对“窗口”、“图标”、 “菜单”等图形画面和符号的操作来实现的。用户的 操作不仅可以用键盘,更多的是用鼠标来完成。
1993年Windows NT 3.1发布,这个产品是基于 OS/2 NT的基础编制的,由微软和IBM联合研制。
1995年推出了全新的真正脱离DOS平台的 Windows 95,Windows 95是一个混合的16位/32 位Windows系统,其版本号为4.0,由微软公司 发行于1995年8月24日。
系统属性设置(远程设置)
1
将远程协助功能取消, 不允许远程连接到此计
算机。
2Байду номын сангаас
将所有磁盘状态设为关 闭。
系统属性设置(隐藏文件夹显示设置)
1. 查看--选项
2. 选择常规,在快速访 问中不显示最近使用 的文件 和常用文件夹
3. 选择查看,显示所有 的隐藏文件或文件夹
系统特色:虚拟桌面
windows10新增了Multiple Desktops功能 。该功能可让用户在同个操作系统下使 用多个桌面环境,即用户可以根据自己的 需要,在不同桌面环境间进行切换。微 软还在“Taskview”模式中增加了应用 排列建议选择——即不同的窗口会以某
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
图 2-1
程序的顺序执行
第二章 进 程 管 理 2. 程序顺序执行时的特征 (1) 顺序性:处理机的操作严格按照程序所规定的顺序 执行,即每一操作必须在上一个操作结束之后开始。 (2) 封闭性:程序是在封闭的环境下执行的,即程序运 行时独占全机资源,资源的状态(除初始状态外)只有本程序 才能改变它。程序一旦开始执行,其执行结果不受外界因素 影响。 (3) 可再现性:只要程序执行时的环境和初始条件相同, 当程序重复执行时,不论它是从头到尾不停顿地执行,还是 “停停走走”地执行,都将获得相同的结果。 程序顺序执行时的特性,为程序员检测和校正程序的错 误带来了很大的方便。
第二章 进 程 管 理
就绪 时间片完 I/O 完成 进程调度
阻塞
I/O 请求
执行
图2-5 进程的三种基本状态及其转换
第二章 进 程 管 理 3. 挂起状态 1) 引入挂起状态的原因
在不少系统中进程只有上述三种状态,但在另一些系统中,
又增加了一些新状态,最重要的是挂起状态。引入挂起状态的 原因有: (1) 终端用户的请求。当终端用户在自己的程序运行期间 发现有可疑问题时,希望暂时使自己的程序静止下来。亦即,
第二章 进 程 管 理 2) 执行状态 进程已获得CPU,其程序正在执行。在单处理机系统中, 只有一个进程处于执行状态; 在多处理机系统中,则有多个 进程处于执行状态。 3) 阻塞状态 正在执行的进程由于发生某事件而暂时无法继续执行时, 便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把 这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。 致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等。通 常将这种处于阻塞状态的进程也排成一个队列。有的系统则根 据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。
第二章 进 程 管 理 2. 进程的三种基本状态 进程执行时的间断性决定了进程可能具有多种状态。 事实上,运行中的进程可能具有以下三种基本状态。 1) 就绪(Ready)状态 当进程已分配到除CPU以外的所有必要资源后,只要 再获得CPU,便可立即执行,进程这时的状态称为就绪状 态。在一个系统中处于就绪状态的进程可能有多个,通常 将它们排成一个队列,称为就绪队列。
第二章 进 程 管 理 5) 异步性 这是指进程按各自独立的、 不可预知的速度向前推进, 或说进程实体按异步方式运行。 现在我们再来讨论进程的定义。曾有许多人从不同的角 度对进程下过定义,其中较典型的进程定义有:
(1) 进程是程序的一次执行。
(2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系统 进行资源分配和调度的一个独立单位。
第二章 进 程 管 理 (1) N:=N+1在Print(N)和N:=0之前,此时得到的N值分 别为n+1,n+1,0。
(2) N:=N+1在Print(N)和N:=0之后,此时得到的N值分 别为n,0,1。
(3) N:=N+1在Print(N)和N:=0之间,此时得到的N值分 别为n,n+1,0。 上述情况说明,程序在并发执行时,由于失去了封闭性, 其计算结果已与并发程序的执行速度有关,从而使程序的执 行失去了可再现性,亦即,程序经过多次执行后,虽然它们 执行时的环境和初始条件相同,但得到的结果却各不相同。
制,人们引入了“进程”的概念。为了能较深刻地了解什么
是进程,我们将先对进程的特征加以描述。
第二章 进 程 管 理 1) 结构特征 通常的程序是不能并发执行的。为使程序(含数据)能独立 运行,应为之配置一进程控制块,即PCB(Process Control Block);而由程序段、相关的数据段和PCB三部分便构成了进 程实体。在早期的UNIX版本中,把这三部分总称为“进程映 像”。值得指出的是,在许多情况下所说的进程,实际上是 指进程实体,例如,所谓创建进程,实质上是创建进程实体 中的PCB;而撤消进程,实质上是撤消进程的PCB,本教材中 也是如此。
应当注意,前趋图中必须不存在循环,但在图2-2(b)中却 有着下述的前趋关系: S2→S3,S3→S2
第二章 进 程 管 理
P2 P5 P1 P3 P6 P4 P7 (a) 具有九个结点的前趋图 P8 P9 S2 S1
S3
(b) 具有循环的图
图 2-2 前趋图
第二章 进 程 管 理 2.1.3 程序的并发执行及其特征 1.程序的并发执行 在图2-1中的输入程序、计算程序和打印程序三者之间, 存在着Ii→Ci→Pi这样的前趋关系,以至对一个作业的输入、 计算和打印三个操作,必须顺序执行,但并不存在Pi→Ii+1的 关系,因而在对一批程序进行处理时,可使它们并发执行。 例如,输入程序在输入第一个程序后,在计算程序对该程序 进行计算的同时,可由输入程序再输入第二个程序,从而使 第一个程序的计算操作可与第二个程序的输入操作并发执行。 一般来说,输入程序在输入第i+1个程序时,计算程序可能正 在对第i个程序进行计算,而打印程序正在打印第i-1个程序的 计算结果。图2-3示出了输入、计算和打印这三个程序对一批 作业进行处理的情况。
可以并发执行。对于具有下述四条语句的程序段:
S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+b
第二章 进 程 管 理
S1 S3 S2 S4
图 2-4
四条语句的前趋关系
第二章 进 程 管 理 2.程序并发执行时的特征 1) 间断性 程序在并发执行时,由于它们共享系统资源,以及为完 成同一项任务而相互合作,致使在这些并发执行的程序之间, 形成了相互制约的关系。例如,图2-3 中的I、C和P是三个相 互合作的程序,当计算程序完成Ci-1的计算后,如果输入程 序I尚未完成Ii的处理,则计算程序就无法进行Ci的处理,致 使计算程序必须暂停运行。又如,当打印程序完成Pi的打印 后,若计算程序尚未完成Ci+1的计算,则打印程序就无法对 Ci+1的计算结果进行打印。一旦使程序暂停的因素消失后(如 Ii已处理完成),计算程序便可恢复执行对Ci的处理。简而言 之,相互制约将导致并发程序具有“执行—暂停—执行”这 种间断性的活动规律。
第二章 进 程 管 理 2.1.4 进程的特征与状态
1. 进程的特征和定义 在多道程序环境下,程序的执行属于并发执行,此时它 们将失去其封闭性,并具有间断性及不可再现性的特征。这
决定了通常的程序是不能参与并发执行的,因为程序执行的
结果是不可再现的。这样,程序的运行也就失去了意义。为 使程序能并发执行,且为了对并发执行的程序加以描述和控
第二章 进 程 管 理 2.1.2 前趋图 前趋图(Precedence Graph)是一个有向无循环图,记为 DAG(Directed Acyclic Graph),用于描述进程之间执行的前后 关系。图中的每个结点可用于描述一个程序段或进程,乃至 一条语句;结点间的有向边则用于表示两个结点之间存在的 偏序(Partial Order,亦称偏序关系)或前趋关系(Precedence Relation)“→”。
第二章 进 程 管 理 2) 动态性 进程的实质是进程实体的一次执行过程,因此,动态性是 进程的最基本的特征。动态性还表现在:“它由创建而产生, 由调度而执行,由撤消而消亡”。可见,进程实体有一定的生
命期,而程序则只是一组有序指令的集合,并存放于某种介质
上,其本身并不具有运动的含义,因而是静态的。
第二章 进 程 管 理 3) 并发性 这是指多个进程实体同存于内存中,且能在一段时间内 同时运行。并发性是进程的重要特征,同时也成为OS的重要 特征。引入进程的目的也正是为了使其进程实体能和其它进 程实体并发执行;而程序(没有建立PCB)是不能并发执行的。
4) 独立性
在传统的OS中,独立性是指进程实体是一个能独立运行、 独立分配资源和独立接受调度的基本单位。凡未建立PCB的程 序都不能作为一个独立的单位参与运行。
第二章 进 程 管 理 →={(Pi,Pj)|Pi must complete before Pj may start},如果 (Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是 Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结 点(Initial Node),把没有后继的结点称为终止结点(Final Node)。此外,每个结点还具有一个重量(Weight),用于表示 该结点所含有的程序量或结点的执行时间。在图2-1(a)和21(b)中分别存在着这样的前趋关系: Ii→Ci→Pi 和 S1→S2→S3
使正在执行的进程暂停执行;若此时用户进程正处于就绪状态
而未执行,则该进程暂不接受调度,以便用户研究其执行情况 或对程序进行修改。我们把这种静止状态称为挂起状态。
第二章 进 程 管 理 (2) 父进程请求。有时父进程希望挂起自己的某个子进 程,以便考查和修改该子进程,或者协调各子进程间的活动。
第二章 进 程 管 理
S1: a:=x+y;
S2: b:=a-5; S3: c:=b+1; 其中,语句S2必须在语句S1之后(即a被赋值)才能执行;同样,
语句S3也只能在b被赋值后才能执行。因此,这三条语句应按
图2-1(b)所示的顺序执行。
第二章 进 程 管 理
I1
CHale Waihona Puke 1P1I2C 2
P2
S1
S2
第二章 进 程 管 理 2) 失去封闭性 程序在并发执行时,是多个程序共享系统中的各种资源, 因而这些资源的状态将由多个程序来改变,致使程序的运行 失去了封闭性。这样,某程序在执行时,必然会受到其它程
序的影响。例如,当处理机这一资源已被某个程序占有时,
另一程序必须等待。
第二章 进 程 管 理 3) 不可再现性 程序在并发执行时,由于失去了封闭性,也将导致其再 失去可再现性。例如,有两个循环程序A和B,它们共享一个 变量N。程序A每执行一次时,都要做N:=N+1操作;程序B每 执行一次时,都要执行Print(N)操作,然后再将N置成“0”。 程序A和B以不同的速度运行。这样,可能出现下述三种情况 (假定某时刻变量N的值为n)。