计算机操作系统第三版第2章汇总
操作系统第三版第二章PPT共171页
DHU 白恩健
17
操操作作系系统统课讲程义讲义
为了保证在平分CPU时间的进程之间能够正确执行, 必须在内存中开辟一个区域,将这些通用寄存器的 值和被中断地点的地址保存起来,已备再用。对于 这个区域,可用一个数据结构描述,它存放了对程 序的控制信息,包括:程序的起始地址、程序的断 点地址、通用寄存器的内容、程序的当前状态。 把 这个数据结构与对应的程序一起,命名为进程,这 个记录程序控制信息的数据结构称之为进程控制块。
DHU 白恩健
9
操操作作系系统统课讲程义讲义
程序的并发执行
并发执行是指若干个程序(或程序段) 在一个处理 器上的交替执行,这种交替执行在宏观上表现为 同时执行。目的是为了提高资源利用率。 例3:一个程序由三个程序段组成:输入数据(I)、 计算(C)和结果打印(P)。四个相同类型程序并发执 行:
DHU 白恩健
DHU 白恩健
16
操操作作系系统统课讲程义讲义
多个程序并发执行轮流占有CPU,这种情况下,被 中断的程序如果不把中断点的地址保存下来,不把 通用寄存器的内容保存下来,下次再轮到它执行时, 便不能保证能够从曾被中断的地方继续执行。即便 是从曾被中断的地方继续执行,也不能保证其结果 是正确的。因为在它被中断期间,已有别的程序在 执行,可能已经对通用寄存器的内容进行了变更。
操操作作系系统统课讲程义讲义
第二章 进程管理
本章主要讨论进程的基本概念,进程的描述和进程 控制,并引入了线程的基本概念。 学习要点: (1) 掌握进程的定义及特征 (2) 深入领会进程状态及引起状态变化的典型原因 (3) 掌握进程同步与互斥 (4) 能够灵活运用信号量描述同步问题
DHU 白恩健
1
操操作作系系统统课讲程义讲义
大学计算机基础(第三版) 第2章 计算机基础知识
2.二进制数的逻辑运算
逻辑运算也是以二进制数为基础。基本的逻辑运算有三种: 逻辑乘、逻辑加和取反。
① 逻辑“与” (AND) 也称逻辑乘,用运算符 “∧”或 “·” 表示
0·0=0 0·1=0 1·0=0 1·1=1
0∧0=0 0∧1=0 1∧0=0 1∧1=1
逻辑或(OR运算)又称逻辑加,用运算符 “+”或者“∨”表示。
2.4.1 西文字符的编码 1. ASCII码(American Standard Code for
Information Interchange) 如,数字0~9用ASCII编码表示为30H~39H,H所指
示的是十六进制形式。30H转化成二进制为 0110000,这就是计算机内数字0的ASCII码表示。 如:大写英文字母A~Z的ASCII编码为41H~5AH。
一条指令通常是由操作码和地址码两部分组成,如图2-9所 示
计算机之所以采用二进制,主要是基于下面的 原因。
1.二进制在技术上容易实现 2.二进制数的运算规则特别简单 3.二进制可以使计算机方便地进行逻辑
运算 4. 机器可靠性高 5. 通用性强
2.1.2 二进制数的运算
1.二进制数的算术运算 二进制数的算术运算与十进制数的算术运算方法
是一样的,也有加、减、乘、除四则运算,只是 比十进制数的算术运算更简单。
如图所示。一般规定0表示“+”(正数),1表 示“-”(负数)。
符号位
数值部分
有符号整数
① 原码表示法 X=+0101011 X=-0101011
[X]原=00101011 [X]原=10101011
② 反码表示法 X=+0101011 [X]原=00101011 X=-0101011 [X]原=10101011
计算机操作系统(第三版)2进程管理
Network Optimization Expert Team
2.1.3 程序的并发执行及其特征
1. 程序的并发执行
所谓程序的并发执行是指: 所谓程序的并发执行是指:若干个程序同时在系统 并发执行是指 中执行,这些程序的执行在时间上是重叠的, 中执行,这些程序的执行在时间上是重叠的,一个 程序的执行尚未结束,另一个程序的执行已经开始。 程序的执行尚未结束,另一个程序的执行已经开始。
重点与难点:进程的同步互斥算法与通信 进程的同步互斥算法与通信
Network Optimization Expert Team
2.1 进程的基本概念
2.1.1 前趋图 2.1.2 程序的顺序执行及其特征 2.1.3 程序的并发执行及其特征 2.1.4 进程的特征与状态 2.1.5 进程控制块
Network Optimization Expert Team
Network Optimization Expert Team
程序的顺序执行举例:
– 例1:输入I,计算C,打印P
S1,S2, 例2: S1,S2,S3 S1:a:= S1:a:=x+y S2:b:= S2:b:=a-5 S3:c:= S3:c:=b+1
Network Optimization Expert Team
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信 2.7 线程
Network Optimization Expert Team
教学目的:
掌握进程的概念, 掌握进程的概念,进程的控制过程 掌握进程的同步与通信 掌握进程同步与互斥算法 熟悉线程的基本概念和通信机制
计算机操作系统第三版第2章资料
(Initial Node),把没有后继的结点称为终止结点(Final Node)。
第二章 进 程 管 理
每个结点还具有一个重量(Weight),用于表示该结点所 含有的程序量或结点的执行时间。
Ii→Ci→Pi和S1→S2→S3
P2 P5 P1 P3 P6 P4 P7 (a ) 具有九个结点的前趋图 P8 P9 S2 S1
的方式进行访问,例如,进程试图去写一个只读文件; ③ 非
法指令。程序试图去执行一条不存在的指令。出现该错误的 原因,可能是程序错误地转移到数据区,把数据当成了指令; ④ 特权指令错。用户进程试图去执行一条只允许OS执行的指 令; ⑤ 运行超时。进程的执行时间超过了指定的最大值; ⑥ 等待超时。进程等待某事件的时间, 超过了规定的最大值; ⑦ 算术运算错。进程试图去执行一个被禁止的运算,例如, 被0除;⑧ I/O故障。这是指在I/O过程中发生了错误等。
第二章 进 程 管 理
2.1.3 程序的并发执行及其特征
1. 程序的并发执行
I1 I2 I3 I4
C1
C2
C3
C4
P1
P2
P3
P4
图 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之间,可以 并发执行。
第二章 进 程 管 理
I1
C1
P1
I2
C2
P2
S1
S2
S3
(a ) 程序的顺序执行
(b ) 三条语句的顺序执行
图 2-1 程序的顺序执行
计算机操作系统第三版全部
3.1.2 进程的定义
• 进程与程序的区别与联系: ★进程是一个动态概念,程序是一个静态概念。 ★进程具有并发特征,而程序没有。 ★进程是竞争计算机系统资源的基本单位。 ★不同的进程可以包含同一程序,只要该程序所
对应的数据集不同。
Redhat Linux 9.0的窗口界面
2.4.1Linux的命令控制界面
Linux的命令一般包含9类: 1 系统维护与管理命令 2 文件操作与管理命令 3 进程管理命令 4 磁盘及设备管理命令 5 用户管理命令 6 文档操作命令 7 网络通信命令 8 程序开发命令 9 X Windows管理命令
操作系统原理 Operating System
第1章 操作系统绪论
• 操作系统的概念 • 操作系统的历史 • 操作系统的特性 • 操作系统的基本类型 • 操作系统的功能 • 计算机硬件简介 • 算法的描述 • 研究操作系统的观点
1.1 操作系统概念
• 操作系统的地位 • 引入操作系统的目的 • 操作系统定义
• 操作系统的产生
– 手工操作阶段 – 成批处理阶段 – 执行系统阶段
• 操作系统的完善
– 多道批处理系统 – 分时系统 – 实时处理系统 – 通用操作系统
• 操作系统的发展
– 网络操作系统 – 分布式操作系统 – 多处理机操作系统 – 单用户操作系统 – 面向对象操作系统 – 嵌入式操作系统 – 智能卡操作系统
1.4.6 网络操作系统
建立在宿主操作系统之上,提供网络通讯、网 络资源共享、网络服务的软件包。
host1 NOS1
DOS3 host3
host2 NOS2
Printer
网络操作系统的目标
• 相互通讯
• 资源共享(信息,设备)
计算机操作系统教程(第3版)知识点
名词解释第一章内容:1、操作系统的概念(名词解释):操作系统是位于硬件层之上,所有其他系统软件层之下的一个系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方便用户使用计算机系统。
第二章的内容:1.作业的定义(名词解释)在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。
第三章的内容:1、程序的并发执行定义:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。
增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。
5、死锁的概念:指各并发进程互相等待对方所拥有的资源,且这些并发进程在得到对方资源之前不会释放自己所拥有的资源。
8.线程:线程又被称为轻权进程或轻量级进程。
线程是进程的一部分。
线程是CPU调度的一个基本单位。
第五章内容:1、存储器是由内存和外存组成的,在存储管理系统把进程中那些不经常被访问的程序段和数据放入外存中,待需要访问它们时再将它们调入内存。
2、虚拟存储器:进程中的目标代码、数据等的虚拟地址组成的虚拟空间。
5、用户程序自己控制内外存之间的数据交换的例子是覆盖。
覆盖技术要求用户清楚地了解程序的结构,并指定各程序段调入内存的先后次序。
6、操作系统控制方式又可进一步分为两种,一种呈交换方式,另一种是请求调入方式和预调入方式。
3、覆盖技术与交换技术是在多道环境下用来扩充内存的2钟方法。
第九章内容:2、中断的基本概念:计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
3、根据中断源产生的条件,可把中断分为外中断和内中断。
外中断时指来自处理机和内存外部的中断,内中断主要指在处理机和内存内部产生的中断。
全套课件计算机操作系统教程第三版
1.4操作系统的硬件介绍
• 1.4.1中央处理器(CPU) • 1.4.2存储系统 • 1.4.3 中断机制 • 1.4.4 I/O设备
• 1.4.5 时钟
返回本章首页
1.4.1中央处理器(CPU)
• 计算机的“大脑”是CPU,它从内存中取出指令并执行。 在每个CPU的基本周期中,首先从内存中取出指令,解码 以确定其类型和操作数,然后执行。循环以上过程,程序 得以执行完毕。
机上覆盖一层I/O设备管理软件,用户便可以利用这层
I/O设备管理软件提供给用户的接口来进行数据的输入
和输出,那么用户此时看到的计算机是一台功能强大、
使用方便的计算机,但实际上,计算机的硬件丝毫没
有变化,这样的计算机称为软件扩充的机器,或称软
件虚拟机。
返回本节
1.1.2 作为资源管理的操作系统
• 从作为机器功能扩充的观点看,操作系统是为用户提供基 本的方便的接口,这是一种自顶向下的观点或是自内向外 的观点。但是从用户向机器的观点或自底向上的观点来看, 操作系统则用来管理一个复杂计算机系统的各个部分。现 代计算机包含处理器、存储器、时钟、磁盘、终端、网络 接口、打印机以及许多其他设备。从这个角度来看,操作 系统的任务是在相互竞争的程序之间有序地控制对处理器、 存储器以及其他I/O接口设备的分配。
1.4.2 存储系统
• 1、存储系统的层次结构
•
最高层是CPU中的寄存器,由于采用和CPU相同的材料制造,所以速度和CPU
一样快。但寄存器一般容量比较小,在1KB以下。
•
第二层是高速缓存,它主要被硬件控制使用。当一个程序要读一个存储字时,
通过硬件系统首先检查是否在高速缓存中。如果在,称为高速缓存命中,直接读
《计算机操作系统教程(第三版)》 第2章 作业管理
(2)将源程序和初始数据记录在某种输入介质上。例如 穿成一盘纸带,或在终端设备(包括键盘、显示器)上 直接编辑源程序。 (3)按照一定要求来控制计算机工作,并经过加工最后 算出结果。
二、对作业的处理的几个作业步
(1)编辑(修改):建立新文件或是对原有文件进行修 改。 (2)编译:请求系统把修改好的源程序翻译成浮动目标 模块,并将它放在磁盘上,也可以穿孔输出或二者有之。 (3)链接:请求系统把主程序模块和其他所需要的子程 序和例行程序链接装配在一起,成为一个可执行的完整 的内存映像文件。 (4)运行:将内存映像文件调入内存,并启动之,最后 给出计算结果。 下一页
2.1.3 分时系统作业控制方法—命令
在分时系统(联机工作方式)中,终端与主 机的通信过程大致分为四步:呼叫、联接、通信、 退出。 1.呼叫 2.联接 3.通信 4.退出
(1)呼叫
当终端用户想从终端打入命令或输入信息时,他 首先要进行呼叫,例如通过类似电话拨号的方式 进行呼叫。当呼叫成功后,用户就可以从终端的 键盘上打入各种命令输入到计算机系统,即开始 第二步——联接。
三、作业步之间的关系表现为
( 1 )每个作业步运行的结果产生下一个作业步 所需要的文件。如图2.1所示。
( 2 )一个作业步能否正确地执行,依赖于前一 个作业步是否成功地完成。
下一页
图2.1 作业步之间的关系
返回本节
2.1.2 批处理系统作业运行前的准备——作 业控制语言
在脱机工作方式下系统提供作业控制语言 ( JCL,Job Control Language),它既可以写 成操作说明书的形式,也可穿孔成为作业控制卡 的形式(前者较多地为批处理系统所采用)。 操作系统根据作业申请表来分配作业所需的 资源并注册该作业;通过作业说明书(或作业控 制卡)对作业实施运行控制。一般在批处理系统 中都提供JCL语言。
计算机操作系统(第三版)汤小丹第2章
注意:1)“本章要点”部分,用红字标注的不是期末考试出题范围。
2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原题。
红字标注的习题期末考试不考,仅供考研的同学参考。
3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。
4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。
------------------------------------------------------------第二章要点这一章和第3章是本课程最重要的两章。
2.1 进程的基本概念本小节重点内容是进程的概念、进程的三种状态及转换(围绕P38图2-5理解)、进程控制块FCB的概念及作用、进程就绪队列和阻塞(等待)队列的概念。
其它内容作一般性的了解即可。
2.2 进程控制掌握原语的概念。
其它内容作一般性的了解即可。
2.3 进程同步这一小节是至关重要的,也是相当难的。
(1)P47-50,临界资源问题、临界区的概念、同步机制应遵循的规则。
(2)P50,整型信号量原语的含义,及其缺点。
(3)P51,记录型信号量原语的含义,特点,及其优点(与整形信号量对比)。
(4)P52-53 AND型信号量和信号量集,一般性了解。
(5)P53 2.3.3 信号量的应用,一般性了解。
(6)P55 管程,一般性了解。
2.4 经典进程的同步问题熟练掌握用记录型信号量解生产者—消费者、哲学家进餐、读者--写者问题。
其它解法(AND信号量、信号量集、管程等)可以不看。
2.5 进程通信:一般性了解。
2.6 线程概念性的掌握什么是线程、线程与进程主要的异同、线程的状态、内核线程、用户线程。
对于软件班和数学班的同学,上述概念将结合实验考核,二学历班的同学无此要求。
教材习题1 什么是前驱图?为什么要引入前驱图?答:P35。
前驱图是一个有向无循环图,用于描述进程之间执行的前后关系。
计算机操作系统(第三版)第二章复习课件
③ 给出进程相应程序的算法描述或流程控制,并把P/wait、
V/signal操作加到程序的适当地方。
信号量及P、V操作讨论
某一进程若收不到另一进程给它提供的必要信息就不能继 续下去,这种情况表明了两个进程之间在某些点上要交换信息, 相互交流运行情况。这种制约关系称为同步关系,基本形式是 “进程-进程”。 这种制约关系主要源于进程间的合作,同步设置在不同进 程之间以达到多种进程间的同步 若某一进程要求使用某种资源,而该资源被另一进程使用。 并且这一资源不允许两个进程同时使用,那么该等待已占用资 源释放资源后再使用,这种制约关系称为互斥,基本形式为
同步信号量S
信号量mutex1 信号量mutex2
表示同时在超级市场购物的人数;
表示入口临界资源; 表示出口临界资源。
只要S<=100,顾客便可进入超级市场。S=100 mutex1/ mutex2的初始值为1
Var S, mutex1, mutex2: semaphore; S:=100; mutex1:=1; mutex2:=1 process Pi: begin wait(S); wait(mutex1); 进入口处,取一只篮子; signal(mutex1); 选购商品; wait(mutex2); 结账,并归还篮子; signal(mutex2); signal(S); end
12.进程之间必须互相协调,彼此之间交换信息,这就是进 程之间的通信。 P-V 操作只是低级通信原语,解决大量 信息交换问题要采用高级通信原语。目前常用的高级通 信机构有:消息缓冲通信、管道通信和信箱通信。
13. 进程控制的作用是:对进程在整个生命周期中各种状态 之间的转换进行有效的控制。进程控制是通过原语来实 现的,用于进程控制的原语一般有:创建进程、撤消进 程、阻塞进程、唤醒进程等。 14. 在支持线程的操作系统中,线程是进程的一个实体,是 系统实施调度的独立单位。引入线程的目的是进一步提 高系统的并发度,减少系统的开销。在操作系统中引入 线程概念的主要目的是减少程序并发执行时所需付出的 时空开销,提高程序执行的并发程度。
计算机操作系统教程(张尧学 史美林 张高)(第三版)第二章
精品课程系列-计算机学院版权所有
精品课程系列-计算机学院版权所有
重庆大学计算机学院 《操作系统》教程
用户程序
陷入处理机构
系统子程序
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
精品课程系列-计算机学院版权所有
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
重庆大学计算机学院 《操作系统》教程
用户接口(界面)的发展
精品课程系列-计算机学院版权所有
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
重庆大学计算机学院 《操作系统》教程
–用户程序与陷入(访管)指令访问系统程序及数 据的区别 • 调用中若发生错误,用户程序的错误不影响系 统,系统程序的错误可能引起系统崩溃 • 系统数据用于管理系统状态与系统资源,用户 程序调用中若被修改可能引起系统管理的混乱 • 用户程序调用时现场保护在用户区内——系统 资源的变化不能修改其中的数据。OS调用时现 场保护在OS的内存区内或特定的寄存器中—— 系统资源的变化不能修改其中的数据。 • 用户程序调用时控制权属于用户,OS调用时控 制权属于OS。
• 作业流(job stream) – 在系统控制下,将一批作业依此输入到后援存储器中等待运 行,这样就形成了一个作业流。
精品课程系列-计算机学院版权所有
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
重庆大学计算机学院 《操作系统》教程
操作系统(第三版)OS2_3
第2章
进程管理
整型信号量的应用
Var s:integer:=1; Printer:
repeat
wait(S); print the document on the paper; signal(s); until false
第2章
进程管理
补充作业
进程之间存在着哪几种制约关系?各是 什么原因引起的?下列活动分别属于哪 种制约关系? (1)若干同学去图书馆借书; (2)两队举行篮球比赛; (3)流水线生产的各道工序; (4)商品生产和社会消费。
第2章
进程管理
进程控制块中的信息
• 进程标识符 • 处理机状态
• 进程调度信息
• 进程控制信息
第2章
进程管理
PCB链表队列
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针 由图示可知: P5正在执行; PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9 … 4 3 0 8 7 9 0 15
out
7 6 5
4
0
1
2
3
第2章
进程管理
设有变量Var n: integer;
type item=…;
var buffer: array [0,1,…,n-1] of item;
in, out: 0,1,…,n-1;
counter: 0,1,…,n; no-op是一条空操作指令 nextp用于暂时存放每次刚生产出来的产品;
Dijkstra
第2章
进程管理
经典的生产者—消费者问题
经典的生产者—消费者模型描述的是:有一群生产者进程在生产 产品,并将这些产品提供给消费者进程去消费。 为使生产者进程与消费者进程能并发执行,在两者之间设置了一 个具有n个缓冲区的缓冲池,生产者进程将它所生产的产品放入一 个缓冲区中; 消费者进程可从一个缓冲区中取走产品去消费。尽管所有的生产 者进程和消费者进程都是以异步方式运行的,但它们之间必须保 持同步,即不允许消费者进程到一个空缓冲区去取产品,也不允 许生产者进程向一个已装满产品且尚未被取走的缓冲区投放产 品。
计算机操作系统课件(第三版)课后答案
第二章进程管理5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
13.在创建一个进程时所需要完成的主要工作是什么?(1)操作系统发现请求创建新进程事件后,调用进程创建语句2,申请空白PCB (进程控制块)3,为新进程分派资源;4初始化PCB;d,将新进程插入就绪队列;14. 在撤销一个进程时所需要完成的主要工作是什么?A.os调用进程终止语句B.根据被终止进程的标识符,从PCB集合中检索出该进程的PCB从中读出该进程状态C.若被终止进程正处于执行状态,应立即终止该进程的执行并设置调度标志为真D.若该进程还有子孙进程还应经所有子孙进程终止E.将该进程所拥有的全部资源或者归还给其父进程,或者还给系统F将被终止的进程从所在的队列移出,等待其他进程搜索信息15:试说明引起进程阻塞或被唤醒的主要事件是什么?A.请求系统服务 B.启动某种操作 C.新数据尚未到达 D无新工作可做26. 试修改下面生产者——消费者问题解法中的错误:producer:beginrepeat……produce an item in nextp; wait(mutex);wait(full);buffer(in):=nextp;……signal(mutex);until false;endconsumer:beginrepeat……wait(mutex);wait(empty);nextc:=buffer(out);out:=out+1;signal(mutex);consume item in nextc; until false;e36. 为什么要在OS中引入线程?在OS中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量。
计算机操作系统 第三版 第二章进程管理
一个挂起态
将一个进程挂起后,选择什么样的进程进入内存? 接纳一个新进程。 调入一个以前被挂起的进程。(更倾向于此) 问题是:若所有被挂起的进程都需等待事件的发生 所以对于挂起状态还要区分是否在等待事件的发生。
程控制块Process Control Block
PCB
系统为了管理进程设置的一个专门的数 据结构; 由操作系统创建,创建进程,首先要创 建PCB;
Waiting 等待/阻塞:正在执行的进程由于发生某事
件而暂时无法执行下去,此时进程所处的状态。 Terminated 终止/撤消/退出:进程执行完毕,释放
所占资源的状态。
进程状态(续)
2、进程状态转换
就绪 时间片完 I/O完成 进程调度
阻塞
I/O请求
执行
进程在运行期间并非固定处于某个状态,而是不断
使用两种模式的原因
原语
进程控制是OS内核通过原语来完成的。
原语是指系统态下执行的某些具有特定功能的程 序段。
指一个操作中的所有动作要么全做,要么全不 做。换言之,它是一个不可分割的基本单位, 因此,在执行过程中不允许被中断。 原语在核心态下执行,常驻内存。
进程的创建
引起进程创建的事件
分时OS的用户登录:为该终端用户创建一个进程 批处理系统的作业调度:为被调度的作业创建进程 提供服务:如要打印时建立打印进程 应用请求:由应用程序建立多个进程(并发)
内 核 创 建
创建进程由创建原语完成。
被创建进程称作子进程,创建进程的进程称作父进程;子 进程又可创建自己的子进程,形成一棵有向的进程树—— 进程图。
计算机操作系统原理-第二章用户界面知识点汇总及习题
第二章用户界面2.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。
使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。
独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。
CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。
因此:同一种计算机上的不同操作系统,系统调用指令是相同的。
同一操作系统,在不同的计算机上,系统调用指令是不同的。
(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。
如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。
如:动态连接库(dynamic link library,DLL),系统调用。
由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。
(3)系统调用的调用地址和返回地址不是固定的。
系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。
返回地址,由用户程序中系统调用指令的位置决定。
(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。
执行系统调用时,进入系统态。
从系统调用中返回用户程序时,进入用户态。
状态切换的目的:某些特权指令只能在系统态下执行。
一些地址,只能在系统态下访问。
从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。
中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。
计算机操作系统(第三版) 第二章 ppt
中断类型(2/2)
访管指令/系统调用引发的中断 • 执行I/O,创建进程,分配内存 • 信号量操作,发送/接收消息 • 断点调试
自愿性中断 用户在程序中有意识安排的 中断,是由于用户在编制程序时 因为要求操作系统提供服务,有 意使用“访管”指令或系统调用, 使中断发生
操作系统高级
Operating Systems Advanced Class
北京大学软件与微电子学院 2009春季
第二讲 系统机制
讨论讨论操作系统设计者考虑的硬件问题 讨论操作系统设计者考虑的其他问题
• 中央处理器(CPU) • 中断机制 • 系统调用
一、中央处理器(CPU)
专门设计了一系列基本机制:
处理器中的寄存器
• 寄存器提供了一定的存储能力 • 速度比主存快得多 • 造价高,容量一般都很小 两类寄存器: • 用户可见寄存器,高级语言编译器通过算法分 配并使用之,以减少程序访问内存次数 • 控制和状态寄存器,用于控制处理器的操作 由OS的特权代码使用, 以控制其他程序的执行
用户可见寄存器
机器语言直接引用 包括数据寄存器、地址寄存器以及条件码寄存器 • 数据寄存器(data register)又称通用寄存器 主要用于各种算术逻辑指令和访存指令 • 地址寄存器(address register)用于存储数据 及指令的物理地址、线性地址或者有效地址,用 于某种特定方式的寻址 。如index register 、 segment pointer、stack pointer • 条件码寄存器保存CPU操作结果的各种标记位 如算术运算产生的溢出、符号等等
中断优先级设计原则:一般来说,高速设备的中 断优先级高,慢速设备的中断优先级低。因为高 速设备的中断被处理机优先响应时,可以让处理 机尽快地向它发出下一个I/O请求,提高高速设备 的利用率 如PDP-11机上的UNIX系统把中断级别分为: 时钟中断——中断优先级=6级 磁盘中断——中断优先级=5级 终端等其他外设中断——中断优先级=4级
第三版操作系统22
下一页
第2章 进程管理
进程控制块的作用:
调度进程执行时,需要从该进程的PCB中查出其现行状态及优先级; 调度到某进程后,根据PCB中所保存的处理机状态信息,设置该进 程恢复运行的现场,并根据PCB中的程序和数据的内存始址,找到 其程序和数据; 进程在执行过程中,当需要和与之合作的进程实现同步、通信或访 问文件时,也需要访问PCB; 当进程由于某种原因而暂停执行时,又须将断点的处理机环境保存 在PCB中。
由用户在访问该进程时使用。
第2章 进程管理
处理机状态信息主要是由处理机的各种寄存器中的 内容组成的。 处理机运行时,许多信息都存放在寄 存器中。当处理机被中断时,所有这些信息都必须 保存在PCB中,以便该进程重新执行时,能从断点 继续执行。这些寄存器包括:
通用寄存器:用户可视寄存器,用于暂存信息,用户程序可以访问; 指令计数器:存放了要访问的下一条指令的地址; 程序状态字PSW:其中包含了状态信息,如条件码、执行方 式、终端屏蔽标志等; 用户栈指针:每个用户进程都有一个或若干个与之相关的系 统栈,用于存放过程和系统调用参数及调用地址。栈指针指 向栈顶。
第2章 进程管理
进程阻塞流图
开始 将CPU当前状态存入PCB 设置进程状态为阻塞状态
将PCB置入阻塞队列 转处理机调度
第2章 进程管理
进程唤醒过程
当被阻塞进程所期待的事件出现时,如I/O完成或 其所期待的数据已经到达,则由有关进程(比如, 用完并释放了该I/O设备的进程)调用唤醒原语 wakeup( ),将等待该事件的进程唤醒。其执行过 程为:
精编计算机操作系统第三版全部课件资料
– 具有公共内存的多CPU系统
• 对称多处理机系统(SMP)
– 没有主从关系的多处理机系统
• 多处理机操作系统
– 有效管理和使用多个CPU的操作系统 – 复杂性:多个主动体(CPUs)
• 例子:
– UNIX, Linux, Windows
1.5 操作系统的功能
• 处理机管理 • 存储管理 • 设备管理 • 信息管理(文件系统管理) • 用户接口
1.4.2 分时操作系统(On-line)
HAL Time Sharing OS
终端 终端 …... 终端 界面1:交互式命令语言(eg. shell, command) 界面2:图形用户界面(GUI)
1.4.2 分时操作系统
• 特点:
– 多路性:一个主机与多个终端相连; – 交互性:以对话的方式为用户服务; – 独占性:每个终端用户仿佛拥有一台虚拟机。
2.4.2 Windows的命令控制界面
Windows的命令控制界面分为 两个部分:
窗口交互:通过键盘和鼠标在 图形上操作。
命令解释器:通过cmd.exe为 用户服务。
2.4.2 Windows的命令控制界面
图2.6相互调用批处理示例
2.5 系统调用
系统调用分为6类: 1 设备管理 2 文件管理 3 进程控制 4 进程通信 5 存储管理 6 线程管理
1.6 计算机硬件简介
1.6.1 计算机的基本硬件元素 构成计算机基本硬件元素包含以下4种:处理器、 存储器、输入输出控制与总线、外部设备。
计算机的基本硬件元素
1.6.2 与操作系统相关的几种 主要寄存器
1. 数据寄存器 2. 地址寄存器 3. 条件码寄存器 4. 程序计数器PC 5. 指令寄存器IR 6. 程序状态字PSW 7. 中断现场保护寄存器 8. 过程调用用堆栈
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 进 程 管 理
S1
S3
S4
S2
图 2-4 四条语句的前趋关系
第二章 进 程 管 理
2. 程序并发执行时的特征 1) 间断性 2) 失去封闭性 3) 不可再现性
例如,有两个循环程序A和B,它们共享一个变量N。程 序A每执行一次时,都要做N∶=N+1操作;程序B每执行一次 时, 都要执行Print(N)操作,然后再将N置成“0”。程序A和 B以不同的速度运行。
第二章 进 程 管 理
I1
C1
P1
I2
C2
P2
S1
S2
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
图 2-1 程序的顺序执行
第二章 进 程 管 理
2. 程序顺序执行时的特征 (1) 顺序性: (2) 封闭性: (3) 可再现性:
第二章 进 程 管 理
2.1.2 前趋图
前趋图(Precedence Graph)是一个有向无循环图,记为 DAG(Directed Acyclic Graph),用于描述进程之间执行的前后 关系。图中的每个结点可用于描述一个程序段或进程,乃至 一条语句;结点间的有向边则用于表示两个结点之间存在的 偏序(Partial Order)或前趋关系(Precedence Relation)“→”。
第二章 进 程 管 理
2.1.5 进程控制块
1. 进程控制块的作用
进程控制块的作用是使一个在多道程序环境下不能 独立运行的程序(含数据),成为一个能独立运行的基本单 位,一个能与其它进程并发执行的进程。或者说,OS是 根据PCB来对并发执行的进程进行控制和管理的。
第二章 进 程 管 理
2. 进程控制块中的信息 1) 进程标识符用于惟一地标识一个进程。一个进程通常
第二章 进 程 管 理
第二章 进 程 管 理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程
第二章 进 程 管 理
2.1 进程的基本概念
2.1.1 程序的顺序执行及其特征
1. 程序的顺序执行 仅当前一操作(程序段)执行完后,才能执行后继操作。 例如,在进行计算时,总须先输入用户的程序和数据,然后 进行计算,最后才能打印计算结果。 S1: a ∶=x+y; S2: b ∶=a-5; S3: c ∶=b+1;
第二章动就绪→静止就绪。 (2) 活动阻塞→静止阻塞。 (3) 静止就绪→活动就绪。 (4) 静止阻塞→活动阻塞。
第二章 进 程 管 理
请 求 I/O
释放
活动 阻塞
活动 就绪
激活
挂起
执行 激活 挂起
静止 阻塞
释放
挂 起
静止 就绪
图 2-6 具有挂起状态的进程状态图
2.1.4 进程的特征与状态
1. 进程的特征和定义 1) 结构特征 2) 动态性 :生命周期 3) 并发性 4) 5) 异步性 :不可预知
第二章 进 程 管 理
(1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系 统进行资源分配和调度的一个独立单位。 在引入了进程实体的概念后,我们可以把传统OS中的 进程定义为:“进程是进程实体的运行过程,是系统进行 资源分配和调度的一个独立单位”。
→={(Pi, Pj)|Pi must complete before Pj may start}, 如果(Pi, Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直 接后继。在前趋图中,把没有前趋的结点称为初始结点 (Initial Node),把没有后继的结点称为终止结点(Final Node)。
(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。
第二章 进 程 管 理
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)} 应当注意,前趋图中必须不存在循环,但在图2-2(b)中却有着
第二章 进 程 管 理
2. 进程的三种基本状态 1) 就绪(Ready)状态 2) 3) 阻塞状态
第二章 进 程 管 理
I/ O完成
就绪 时间 片完
进程 调度
阻塞
执行
I/ O请求
图 2-5 进程的三种基本状态及其转换
第二章 进 程 管 理
3. 1) 引入挂起状态的原因 (1) 终端用户的请求。 (2) 父进程请求。 (3) 负荷调节的需要。 (4) 操作系统的需要。
S2→S3, S3→S2
第二章 进 程 管 理
2.1.3 程序的并发执行及其特征
1. 程序的并发执行
I1
I2
I3
I4
C1
C2
C3
C4
P1
P2
P3
P4
图 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之间,可以 并发执行。
第二章 进 程 管 理
每个结点还具有一个重量(Weight),用于表示该结点所 含有的程序量或结点的执行时间。
Ii→Ci→Pi和S1→S2→S3
P2
P5
S1
P1
P3
P8
P9
P6
S2
P4 S3
P7
(a) 具有九个结点的前趋图
图 2-2 前趋图
(b) 具有循环的前趋图
第二章 进 程 管 理
对于图 2-2(a)所示的前趋图, 存在下述前趋关系: P1→P2, P1→P3, P1→P4, P2→P5, P3→P5, P4→P6, P4→P7, P5→P8, P6→P8, P7→P9, P8→P9
(1) 内部标识符。在所有的操作系统中,都为每一个进 程赋予一个惟一的数字标识符,它通常是一个进程的序号。 设置内部标识符主要是为了方便系统使用。