操作系统原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正在运行。(在系统中,总只有一个进程处 于此状态)
就绪状态:已经准备就绪,一旦得到CPU,
就立即可以运行。(有多个进程处于此状态)
封锁状态:正在等待某个事件的发生(如等
待I/O的完成),而暂停执行,这时,即使给 它CPU时间,它也无法执行。
运行

就绪
挂起

进程的状态变化
PCB
基本内容的确定
进程的组成
n:=0; K1
n:=n+1; K2
程序B打印0
…… … ……
程序B
打印n S
程序B打印1
程序并发执行的特点
二、程序与计算不再一一对应
在程序顺序执行时,一个程序总是对应 一个具体的计算,但在程序的并发执行时, 可能有多用户共享使用同一个程序,但处理 (计算)的对象却是不同的,例如,在多用 户环境下,可能同时有多个用户调用C语言 的编译程序,这就是典型的一个程序对应多 个用户源程序的情况。
分时系统与多道批处理系统相比,具有完 全不同的特征,由上所述可以归纳成以下 几点:
(1)多路性 (2)独立性 (3)及时性 (4)交互性
什么是操作系统 操作系统的性质
操作系统是控制和管理计 算机系统内各种硬件和软件资 源、有效地组织多道程序运行 的系统软件(或程序集合),是用 户与计算机之间的接口。
的顺序;
同一独占资源上的不同作业的处理步骤不能
同时执行。
程序的顺序执行与并发执行
假设有一个程 序 由 S0 ~ Sn+1 个 语句,先顺序执 行 S0 , 然 后 并 发 执行 S1~Sn语句, 最后顺序执行 Sn+1 。
程序并发执行的特点
一、失去了程序的 封闭性
程序A
如果程序执行 的结果是一个与时 间无关的函数,即 具有封闭性。
进程状态 变迁关系 进程映像:PCB的实现、核心栈与
用户栈(图2-10 UNIX进程映像结 构)
进程环境
用户级环境 寄存器环境 系统级环境
1、进程与程序的区别 2、进程的组成 3、进程的同步与互斥
进程控制原语
Fork() Wait(stat_addr) Exit exec
进程在活动中会相互制约
要解决这些问题,用程序的概念已经不能描述程序 在内存中运行的状态,必须引人新的概念--进程。
进程的定义
行为的一个规则叫做程序,程序在处理机上执行时 所发生的活动称为进程(Dijkstra)。
进程是这样的计算部分,它是可以和其它计算并行 的一个计算。(Donovan)
进程(有时称为任务)是一个程序与其数据一道通 过处理机的执行所发生的活动。(Alan.C. Shaw)
程序顺序执行的特点(续)
3 可再现性
程序执行的结果与初始条件有关,而与执行时间 无关。即只要程序的初始条件相同,它的执行结 果是相同的,不论它在什么时间执行,也不管计 算机的运行速度。
O=f(I), f是与时间无关的函数
程序的并发执行
例: 在系统中有n个作业,每个作业都有三个
处理步骤,输入数据、处理、输出,即 Ii,Ci,Pi (i=1,2,3,...,n)。
图1.4 脱机批处理系统
在单道批处理系统中,内存中仅有一道作业,中断和通道 技术出现以后,虽然可以实现输入/输出设备与中央处理机 并行操作,但由于属于同一道作业的可并发执行的进程不 多,大多数进程是有同步关系的,这使系统中仍有较多的 空闲资源,致使系统的性能较差。为了进一步提高资源的 利用率和系统对作业的吞吐量,在60年代中期,引入了多 道程序设计技术,由此而形成了多道批处理系统。单道程 序与多道程序的执行过程如图1.5和图1.6所示。
存储程序式计算机模型的基本方案是,如要使计算 机能够自动地计算,必须有一个存储器用来存储程 序和数据;同时要有一个运算器,用以执行指定的 操作;有一个控制器,以便实现自动操作;另外, 辅以输入/输出部件,以便输入原始数据和输出计 算结果。于是形成了现代计算机的基本组成形式。 如图1.1所示。
图1.1 存储程序计算机的组成
资源
程序的并发执行定义
若干个程序段同时在系统中运行,这些程序的 执行在时间上是重迭的,一个程序段的执行尚未结 束,另一个程序段的执行已经开始,即使这种重迭 是很小的,也称这几个程序段是并发执行的。
P Q R
并发执行区
程序的并发执行分析
优点:程序的并发执行提高了资源的利用率。
注意有限制规则:
同一作业的处理步骤的执行必须严格按照规定
操作系统的发展过程
按技术发展与分支划 分类别
操作系统的类型
早期批处理 执行系统 多道成批系统 分时、实时系统、个人机系统 多处理机、分布式系统
无操作系统的计算机
从第一代计算机诞生到20世纪50年代中期还未出 现操作系统,这时的计算机采用人工操作方式。其 过程是:
图1.2 手工操作计算机
单道批处理系统与多道批处理 系统及执行系统
注意区别不能同时与有先后次序两种制 约。
程序并发执行的特点
程序并发执行的相互制约示例
并发活动——进程的引人
操作系统的特性之一是并发与共享,即在系统中 (内存)同时存在几个相互独立的程序,这些程序 在系统中既交叉地运行,又要共享系统中的资源, 这就会引起一系列的问题,包括:对资源的竞争、 运行程序之间的通信、程序之间的合作与协同等符。
在操作系统中引入多道程序设计技 术以后,会使系统具有以下特征。
(1)多道性 (2)无序性 (3)宏观上并行、微观上串行 (4)调度性
分时系统
分时技术是把处理机的时间分成很短的时间片,这 些时间片轮流地分配给各个联机的各作业使用。如 果某作业在分配给它的时间片用完时仍未完成,则 该作业就暂时中断,等待下一轮运行,并把处理机 的控制权让给另一个作业使用。这样在一个相对较 短的时间间隔内,每个用户作业都能得到快速响应, 以实现人机交互。
进 程 是 执 行 中 的 程 序 。 ( Ken Thompson and Dennis Ritchie )
进程,即是程序在并发环境中的执行过程 。
进程与程序的区别(1)
进程是动态概念;程序是静态概念 进程具有并发性,宏观上同时运行;程序本
身具有顺序性,程序的并发执行是通过进程 实现的 进程具有独立性,是一个能独立运行的单位, 是系统资源分配的基本单位,是运行调度的 基本单位;程序本身没有此特性
以以下下软软件件哪是些操是作操系作统系:统
UUNNIIXX WDoOrdS LDOiSnux VWB inOdffoiwces 98FoxPWroindows WNinTdows 98 Windows NT
Linux PowerPoint
设置OS的目的
扩充机器功能,方便用户使用。 提高系统效率。
所有进程都是相互独立的 进程以异步方式并发执行
同步
同步是进程间共同完成 一项任务时直接发生相互 作用的关系
——同步进程间具有合作关系 ——在执行时间上必须按一定 的顺序协调进行
互斥
互斥是并发执行的多 个进程由于竞争同一资源 而产生的相互排斥的关系
——互斥进程彼此在逻辑上 是完全无关的
——它们的运行不具有时间 次序的特征
程序 数据集合
进程与PCB的关系
每个进程有唯一的PCB 系统中所有进程都有自己的 PCB 操作系统依据PCB管理进程
进程与PCB的关系
操作系统利用PCB实现进程 的动态和并发 PCB是进程存在的唯一标志
Pcb-addr
Pcb表组织
a
pcb1

b

pcb2
N个
……
空间大小
-1
pcbi

……
UNIX的进程映像
数功能; 核心只负责客户与服务器的通信; 适用于 分布式系统; 注意对关键基础服务的处理.
1。8 UNIX系统的特点和结构
UNIX的主要特点 UNIX系统结构 UNIX系统核心结构
一、操作系统的有关概念 二、进程管理 三、存储器管理
进程概念
程序的顺序执行 与并发执行
程序的顺序执行
概念 一个程序由若干个程序段组成,而这些程序段
这些作业系统中执行时是对时间的偏序, 有些操作必须在其它操作之前执行,这是有 序的,但有些操作是可以同时执行的。
程序的并发执行
例如: P1与I2,C1与 I2,I3与P1是可以同时执 行的。
I1、C1、P1的执行必 须严格按照I1,C1,P1的 顺序。
时 I1、 I2、 I3、 I4 间 轮流使用同一输入设备。
程序并发执行的特点
程序与计算不再一一对应示例
程序A
程序B
Call C
程序C
Call C
…… …
……
程序A和B在执行过程中都调用了程序C
程序并发执行的特点
三、程序并发执行可以相互制约
在多道程序设计的环境下,程序是并发 执行的。即系统中有多道程序在“同时”执 行,这些程序之间要共享系统的资源,程序 之间有合作(通信)的关系。合作与竞争产 生一系列的矛盾,这些矛盾实际上是一种相 互制约,有直接的,也有间接。
操作系统的共同性质
1、从功能上看
具 有 五 大 功 能 ---- 存 储 器管理、处理机管理、设 备管理、文件管理、用户 接口
2、从层次上看
是裸机之上的第一层软 件,为其他软件的建立和 运行提供基础。
用户
...
其他软件 操作系统
裸机
1。4节
3、从服务上看 提供众多基础服务,
方便用户使用,构成软 件平台。
——临界资源和临界区 ——信号量 ——P、V操作
临界资源
一次仅允许一个进程使用的 共享资源
如:打印机、内存单元、表 格
临界区
在每个进程中访问临界资源 的那段程序 有限进入原则 唯一原则 有限离开原则
进程间的通信
——临界资源和临界区 ——信号量 ——P、V操作
信号量
信号量是一种数据结构 一般由两个成员组成:
的执行必须是顺序的,这种程序执行的方式就称为 程序的顺序执行。
例如:
程序顺序执行的特点
1 顺序性
处理机严格按照Βιβλιοθήκη 序所规定的顺序执行,即每个 操作必须在下一个操作开始之前结束。
2 封闭性
程序一旦开始执行,其计算结果不受外界的影响, 当程序的初始条件给定之后,其后的状态只能由 程序本身确定,即只有本程序才能改变它。
进程与程序的区别(2)
进程和程序无一一对应关系,一个进程可顺序 执行多个程序;一个程序可由多个进程共用
进程异步前进,会相互制约;程序不具备此特 性
进程实体具有一定结构,组成进程映象;程序 没有这种结构
进程与程序的区别示例
例子: 光盘(CD、VCD、DVD) 光盘(程序)-放光盘的活动(进程)
理解进程概念
4、从内部特征上看
---支持并发性 ---实现资源共享 ---完成进程的异步前进
以多道成批系统为例
并发 共享 不确定性
1.3 OS的服务功能
程序执行 I/O操作 文件系统管理 出错检测 资源分配 统计 保护
一 系统调用
是应用程序与OS的接口 进程或作业控制:实现进程或作业的所有活动 文件管理和设备管理 信息维护:用户与系统交互信息
所谓批处理系统是指加载在计算机上的一个系统软 件,在它的控制下,计算机能够自动地成批地处理 一个或多个用户的作业。
首先出现的是联机批处理系统。如下图所示。
脱离主机控制的输入/输出批处理 系统
在外设处理数据时,主机处理“忙等”状态,这样 高速的主机与慢速的外设矛盾就显现出来。为了克 服与缓解主机与外设的矛盾。我们引入脱机批处理 系统,即脱离主机控制的输入/输出批处理系统。 如图1.4所示。
进程的运行状态及其变迁 进程的组成 进程映像 进程环境
进程的运行状态及其变迁
进程在系统中的活动规律是: 执行-暂停-执行
进程的运行状态反映进程的动态性。 进程的三种基本状态:
运行状态 就绪状态 封锁状态(又称不可运行、挂起)
进程的三种基本状态
运行状态 :进程得到CPU控制权,它的程序
二 系统程序
文件管理 状态信息 文件修改 程序设计语言支持 程序装入与执行 工具性软件 命令解释程序的实现方法
1.5操作系统逻辑结构设计
分层实现的软件设计 方法
1.5操作系统逻辑结构设计
单块结构 层次结构:分层实现的软件设计方法. 虚拟机 客户/服务器模型:再用户进程方式下实现系统的多
操作系统原理
课程使用的媒体
1、《操作系统原理》教材 2、《操作系统原理实验大纲》指导教 材 3、《操作系统课件》多媒体教案
一、操作系统的有关概念 二、进程管理 三、存储器管理
计算机发展简史 操作系统的发展过程
计算机发展简史
按硬件发展划分为四代。
对计算规律的模拟
存储程序式计算机
存储程序式计算机模型
相关文档
最新文档