第5章操作系统内容摘要:
计算机系统能够同时处理多个具有独立功能的程序。 通常采用并行操作技术 , 使系统中的各种硬件资源尽量做到并行工作。 第 5章 操作系统 所谓程序的并发执行是指两个或两个以上的程序在执行时间上是重叠的。 系统中各个部分不再以单纯的串行方式工作。 换句话说 , 在任一时刻 , 系统中不再只有一个活动 , 而存在着许多并行的活动。 从硬件方面看 , 处理机 , 各种外设 , 存储部件常常并行地工作着;从程序活动方面看 , 则可能有若干程序同时或者相互穿插地在系统中被执行。 程序的并发执行已成为现代操作系统的一个基本特征。 第 5章 操作系统 程序的并发执行虽然卓有成效地增加了系统的处理能力和提高了系统资源的利用率 , 但它带来了一些新的问题 , 也就是产生了与顺序程序不同的新特性 ,这些新特性是: (1) 失去了程序的封闭性。 如前所述 , 程序的顺序执行具有程序的封闭性和由之而来的可再现性 , 而并发执行是否还保持这种封闭性呢。 先来看一个例子。 第 5章 操作系统 设有观察者和报告者并行工作。 在一条单向行驶的公路上经常有卡车通过。 观察者不断对通过的卡车计数。 报告者定时地将观察者的计数值打印出来,然后将计数器重新清 “ 0”。 此时可以写出如下程序,其中 Cobegin和 Coend表示它们之间的程序可以并发执行。 第 5章 操作系统 Begin Count:integer。 Count:=0 Cobegin Observer Begin L1: … Observe next car。 Count:=Count +1。 Goto L1 End。 第 5章 操作系统 Reporter Begin L2: … Print Count。 Count:=0。 Goto L2 End Coend End 第 5章 操作系统 由于观察者和报告者各自独立地并行工作,其中,Count:=Count+1的操作,既可以在报告者的 Print Count和 Count:=0操作之前,也可以在其后,还可以在 Print Count和 Count:=0之间。 既可能出现以下三种执行序列: ① Count :=Count+1。 Print Count。 Count:=0。 ② Print Count。 Count:=0。 Count:=Count+1。 ③ Print Count。 Count:=Count+1。 Count:=0。 假设在开始某个循环之前 , Count的值为 n, 则在完成一个循环后 , 对上述三个执行序列打印机打印的Count值和执行后的 Count值如下表所示: 第 5章 操作系统 执行序列 ① ② ③ 打印的值 n+1 n n 执行后的值 0 1 0 第 5章 操作系统 由上表可见 , 由于观察者和报告者的程序执行速度不同 , 导致了计算结果的不同。 这就是说 , 程序并发执行已丧失了顺序执行所保持的封闭性和可再现性。 (2) 程序与计算不再一一对应。 程序和机器执行程序的活动是两个概念。 程序是指令的有序集合 , 是静态的概念;而机器执行程序的活动是指处理机按照程序执行指令序列的过程。 通常把机器执行程序的活动 ,称为 “ 计算 ”。 显然 , “ 计算 ” 是一个动态的概念。 第 5章 操作系统 在并发执行中 , 允许多个用户作业调用一个共享程序段 , 从而形成了多个 “ 计算 ”。 例如 , 在分时系统中 , 一个编译程序往往同时为几个用户服务 , 该编译程序便对应了几个 “ 计算 ”。 第 5章 操作系统 (3) 间断性。 即并发程序在执行期间具有相互制约关系。 程序在并发执行时 , 总是伴随着资源的共享和竞争 , 从而制约了各个程序的执行速度 , 使本来并无逻辑关系的程序之间产生了相互制约的关系 , 各个程序活动的工作状态与它所处的环境有密切关系。 它随着外界变化而不停地变化 , 并且它不像单道程序系统中顺序执行那样 , 而是走走停停 , 具有执行 ——暂停 ——执行的活动规律。 第 5章 操作系统 3. 多道程序设计 所谓多道程序设计 , 就是允许多个程序同时进入内存并运行。 多道程序设计是操作系统所采用的最基本 、最重要的技术 , 其根本目的是提高整个系统的效率。 衡量系统效率的尺度是系统吞吐量。 所谓吞吐量是指单位时间内系统所处理作业 (程序 )的道数 (数量 )。 如果系统的资源利用率高 , 则单位时间内所完成的有效工作多 , 吞吐量大。 引入多道程序设计后 , 提高了设备资源利用率 , 使系统中各种设备经常处于忙碌状态 , 最终提高系统吞吐量。 第 5章 操作系统 多道程序设计改善了各种资源的使用情况 , 从而增加了吞吐量 , 提高了系统效率 , 但也带来了资源竞争。 因此 , 在实现多道程序设计时 , 必须协调好资源使用者与被使用资源之间的关系 , 即对处理机资源加以管理 , 以实现处理机在各个可运行程序之间的分配与调度;对内存资源加以管理 , 将内存分配给各个运行程序 , 还要解决程序在内存中的定位问题 , 并防止内存中各个程序之间互相干扰或对操作系统的干扰;对设备资源进行管理 , 使各个程序在使用设备时不发生冲突。 第 5章 操作系统 进程 1. 进程的概念 在多道程序的环境下 , 程序的并发执行代替了程序的顺序执行。 程序活动不再处于一个封闭系统中 ,而出现了许多新的特征 , 即独立性 , 并发性 , 动态性以及它们之间的相互制约性。 在这种情况下 , 程序这个静态概念已经不能如实地反映程序活动的这些特征。 为了能更好地描述程序的并发执行 , 引入 “ 进程 ” 的概念来描述系统和用户的程序活动。 第 5章 操作系统 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动 , 进程是系统进行资源分配和调度的一个独立单位。 从操作系统角度来看 , 可将进程分为系统进程和用户进程两类。 系统进程执行操作系统程序 , 完成操作系统的某些功能。 用户进程运行用户程序 , 直接为用户服务。 系统进程的优先级通常高于一般用户进程的优先级。 第 5章 操作系统 2. 进程的特性 (1) 进程与程序的联系和区别。 进程与程序既有联系又有区别。 ① 联系:程序是构成进程的组成部分之一 , 一个进程的运行目标是执行它所对应的程序 , 如果没有程序 , 进程就失去了其存在的意义。 从静态的角度看 ,进程是由程序 、 数据和进程控制块 (PCB)三部分组成的。 第 5章 操作系统 ② 区别:程序是静态的 , 而进程是动态的。 进程是程序的执行过程 , 因而进程是有生命周期的 , 有诞生 , 也有消亡。 因此 , 程序的存在是永久的 ,而进程的存在是暂时的 , 它动态地产生和消亡。 一个进程可以执行一个或几个程序 , 一个程序亦可以构成多个进程。 例如 , 一个编译进程在运行时 , 要执行词法分析 、 语法分析 、 代码生成和优化等几个程序 , 或者一个编译程序可以同时生成几个编译进程 , 为几个用户服务。 进程具有创建其它进程的功能 , 被创建的进程称为子进程 , 创建者称为父进程 , 从而构成进程家族。 第 5章 操作系统 2) 进程的特性。 进程的概念能很好地描述程序的并发执行 , 并且能够揭示操作系统的内部特性。 事实上 , 操作系统的并发性和共享性正是通过进程的活动体现出来的。 进程具有以下特性: ① 动态性。 进程是程序的执行过程 , “ 执行 ” 本身就是动态的。 因此进程由 “ 创建 ” 而产生 , 由 “ 撤消 ” 而消亡 , 因拥有处理机而得到运行。 第 5章 操作系统 ② 并发性。 进程是为了实现系统内并发执行而引入的概念 , 所以并发性是进程与生俱来的特性。 ③ 独立性。 一个进程是一个相对完整的调度单位 ,它可以获得处理机并参与并发执行。 ④ 异步性。 每个进程按照各自独立的 、 不可预知的速度向前推进。 第 5章 操作系统 3. 进程的状态及其状态转换 根据进程在执行过程中的不同情况 , 通常可以将进程分成三种不同的状态。 (1) 运行状态。 是指进程已获得 CPU, 并且在 CPU上执行的状态。 显然 , 这种状态的进程数目不能大于CPU的数目 , 在单 CPU情况下 , 处于运行状态的进程只能有一个。 (2) 就绪状态。 这种状态是指进程原则上是可以运行的 , 只是因为缺少 CPU而不能运行 , 一旦把 CPU 分配给它 , 它就可以立即投入运行。 处于就绪状态的进程可以有多个。 第 5章 操作系统 图 54 进程状态转换图 就绪状态等待状态运行状态等待的事件已发生调度时间片用完等待某事件发生第 5章 操作系统 (3) 等待状态。 也称阻塞状态或睡眠状态。 进程在前进的过程中 , 由于等待某种条件 (例如当前外设资源不够 , 等待其它进程来的信息等 )而不能运行时所处的状态。 在这种情况下 , 既使 CPU空闲 , 这种进程也不能占据 CPU而运行。 引起等待的原因一旦消失 , 进程便转为就绪状态 , 以便在适当的时候投入运行。 处于等待状态的进程可以有多个。 第 5章 操作系统 在任何时刻 , 任何进程都处于且仅处于以上 3种状态之一。 进程在运行过程中 , 由于它自身的进展情况和外界环境条件的变化 , 3种基本状态可以互相转换。 这种转换由操作系统完成 , 对用户是透明的 , 它也体现了进程的动态性。 图 54表示了 3种基本状态之间的转换及其典型的转换原因。 第 5章 操作系统 4. 进程控制块 为了便于系统控制和描述进程的基本情况以及进程的活动过程 , 在操作系统中为进程定义了一个专门的数据结构 , 称为进程控制块 (PCB, Process Control Block)。 系统为每一个进程设置一个 PCB, PCB是进程存在与否的惟一标志。 当系统创建一个进程时 , 系统为其建立一个 PCB;然后利用 PCB对进程进行控制和管理;当进程被撤消时 , 系统收回它的 PCB, 随之该进程也就消亡了。 第 5章 操作系统 进程由程序 、 数据和进程控制块三部分组成。 PCB是进程的 “ 灵魂 ” , 程序和数据是进程的 “ 躯体 ” ,由于现代操作系统提供程序共享的功能 , 这就要求程序是可再入程序 , 且与数据分离。 所谓可再入程序是指 “ 纯 ” 代码的程序 , 即在运行过程中不修改自身。 在通常的操作系统中 , PCB应包含如下一些信息: 第 5章 操作系统 (1) 进程标识名或标识数。 为了标识系统中的各个进程 , 每个进程必须有一个而且是惟一的标识名或标识数。 进程标识名通常用字母或数字组成的串表示 ,进程标识数则是在一定数值范围内的进程编号。 有的系统用进程标识名作为进程的外部标识 , 它通常由创建者给出;用进程标识数作为进程的内部标识 , 通常。第5章操作系统
本资源仅提供20页预览,下载后可查看全文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
相关推荐
第5章数据库设计和er模型
期 教师不变信息 职务 工资 奖金 教师号 教师变动信息 ( b) 图 实体类型的垂直分裂 21 教师 课程 主讲 辅导 1 M N N 图 联系类型的分裂 教师 课程 主讲 M N ( a) ( b) 22 图 不合法的合并 B (a) A C AC BC A C ABC (b) B 23 采用 ER方法的数据库概念设计 之 设计局部 ER模式 需求分析结果 确定局部结构范围 实体定义
第4课时统一多民族国家的巩固和社会的危机
和发展 条件 农业、手工业的发展及商业的繁荣,促使明朝中后期以商品生产为主要目的的纺织业逐步兴起 时间 明代中后期 地区 苏州、松江等江南地区 领域 纺织业部门 特征 以生产商品为目的,具有雇佣性质的资本主义的生产关系 标志 “机户出资,机工出力 ”,机户就是早期资本家,机工就是早期雇佣工人。 他们之间这种雇佣与被雇佣的关系,是资本主义性质的生产关系 发展 到清代