操作系统第3章

合集下载

计算机操作系统慕课版第三章课后答案

计算机操作系统慕课版第三章课后答案

计算机操作系统慕课版第三章课后答案
1、高级调度与低级调度的主要任务是什么?为什么引入中级调度?
(1)、高级调度的主要任务是将外存的作业调入内存,又称作业调度。

低级调度的主要任务数为内存中处于就绪态的作业分配处理机。

(2)、为了提高内存的利用率与系统吞吐量。

ps:(中级调度是将作业调出掉回,高级调度是掉入,作业一次掉入,多次掉回,所以中级调度频次更高)
2、何谓作业和JCB?
作业是一组程序与数据和作业说明书,是高级调度的基本单位。

JCB是作业控制块,是作业存在的表示,包含管理,调度所需的全部信息。

ps:(对作业的控制是JCB和作业说明书一起的)
3、在什么情况下需要使用JCB?JCB通常包含了哪些内容?(1)作业进入系统。

(2)包含系统对作业调度,管理的全部信息。

4、在作业调度中应如何确定接纳多少作业和接纳哪些作业?
取决于多道程序度和调度算法。

5、试说明低级调度的主要功能?
从就绪队列中根据调度算法选择一个进程分配处理机。

6、简述引起进程调度的原因?
时间片完了、阻塞了、运行完了、被抢占了。

7、在抢占式调度算法中,应遵循的原则?
优先级、短进程优先、时间片原则。

8、在选择调度算法时应该遵循哪些规则?
公平性、资源利用率、平衡性、强制执行
9、何谓静态优先级?何谓动态优先级?确定优先级的依据是什么?
(1)、静态优先级创建进程时就确定,动态优先级随着时间与环境变化而改变。

(2)、用户要求,进程对cpu io等资源的要求,进程类型。

计算机操作系统第三章自测题-处理机调度与死锁

计算机操作系统第三章自测题-处理机调度与死锁

计算机操作系统第三章⾃测题-处理机调度与死锁1、在单处理器的多进程系统中,进程什么时候占有处理器以及决定占⽤时间的长短是由()决定的。

A、进程运⾏时间B、进程的特点和进程调度策略C、进程执⾏的代码D、进程完成什么功能进程调度的时机与进程特点有关,如进程是否为CPU繁忙型还是I/O繁忙型、⾃⾝的优先级等。

但是仅这些特点是不够的,能否得到调度还取决于进程调度策略,若采⽤优先级调度算法,则进程的优先级才起作⽤。

⾄于占⽤处理器运⾏时间的长短,则要看进程⾃⾝,若进程是I/O 繁忙型,运⾏过程中要频繁访问I/O端⼝,也就是说,可能会频繁放弃CPU。

所以,占⽤CPU的时间就不会长,⼀旦放弃CPU,则必须等待下次调度。

若进程是CPU繁忙型,则⼀旦占有CPU就可能会运⾏很长时间,但是运⾏时间还取决于进程调度策略,⼤部分情况下,交互式系统为改善⽤户的响应时间,⼤多数采⽤时间⽚轮转的算法,这种算法在进程占⽤CPU达到⼀定时间后,会强制将其换下,以保证其他进程的CPU使⽤权。

所以选择B选项。

2、时间⽚轮转算法是为了()A、多个⽤户能及时⼲预系统B、优先级较⾼的进程能得到及时响应C、是系统变得更为⾼效D、需要CPU时间最少的进程最先执⾏时间⽚轮转的主要⽬的是使得多个交互的⽤户能够得到及时响应,使得⽤户以为“独占”计算机的使⽤。

因此它并没有偏好,也不会对特殊进程做特殊服务。

时间⽚轮转增加了系统开销,所以不会使得系统⾼效运转,吞吐量和周转时间均不如批处理。

但是其较快速的响应时间使得⽤户能够与计算机进⾏交互,改善了⼈机环境,满⾜⽤户需求。

3、()有利于CPU繁忙型的作业,⽽不利于I/O繁忙型的作业。

A、时间⽚轮转算法B、先来先服务调度算法C、短作业优先算法D、优先级调度算法先来先服务(FCFS)调度算法是⼀种最简单的调度算法,当在作业调度中采⽤该算法时,每次调度是从后备作业队列中选择⼀个或多个最先进⼊该队列的作业,将它们调⼊内存,为它们分配资源、创建进程,然后放⼊就绪队列。

计算机操作系统课后习题答案第三章(第四版)

计算机操作系统课后习题答案第三章(第四版)

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

操作系统题目第3章

操作系统题目第3章

第三章处理机调度与死锁1、时间片轮转调度算法是为了()。

A、多个用户能及时干预系统B、使系统变得高效C、优先级较高的进程得到及时响应D、需要CPU时间最少的进程最先做2、()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。

A、时间片轮转调度算法B、先来先服务调度算法C、短作业(进程)优先算法D、优先权调度算法3、下面有关选择进程调度算法的准则中不正确的是()。

A、尽快响应交互式用户的请求B、尽量提高处理器利用率C、尽可能提高系统吞吐量D、适当增长进程就绪队列的等待时间4、设有4个作业同时到达,每个作业的执行时间均为2h,它们的一台处理器上按单道式运行,则平均周转时间为()。

A、1hB、5hC、2.5hD、8h5、若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()。

A、FCFS调度算法B、短作业优先调度算法C、时间片轮转调度算法D、多级反馈队列调度算法E、剥夺式优先级调度算法6、()优先级是在创建进程时确定的,确定之后在整个运行期间不在改变。

A、先来先服务B、动态C、短作业D、静态7、现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3,且T1<T2<T3。

系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()A、T1+T2+T3 B、(3×T1+2×T2+T3)/3C、(T1+T2+T3)/3D、(T1+2×T2+3×T3)/38、设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时达到,并在同一个处理器上以单道方式运行,则平均周转时间最小的执行顺序是()A、J1,J2,J3B、 J3 ,J2,J1C、J2,J1,J3D、 J1 ,J3 ,J29、采用时间片轮转调度算法分配CPU时,当处于运行状态的进程用完一个时间片后,它的状态是()状态。

第3章 操作系统安全

第3章 操作系统安全

第3章 操作系统安全 章 2. 没有口令或使用弱口令的账号 大多数系统都把口令作为第一层和惟一的防御线。 由于用户的ID是很容易获得的,因此,如果攻击者能 够确定一个账号名和密码,就能够进入网络。所以使 用弱口令(易猜的口令)、缺省口令和没有口令的账号是 很严重的安全问题,都应从系统中清除。 另外,很多系统有内置的或缺省的账号,这些账 号在软件的安装过程中通常口令是不变的。攻击者通 常会查找并利用这些账号达到破坏系统的目的。因此, 所有内置的或缺省的账号都应从系统中移出。
第3章 操作系统安全 章 如果系统认为具有某一个安全属性的用户不适于 访问某个文件,那么任何人(包括文件的拥有者)都无法 使该用户具有访问该文件的权力。 强制访问控制不仅施加给用户自己客体的严格的 限制,也使用户受到自己的限制。为了防范特洛伊木 马,系统必须要这样做。即便是不再存在特洛伊木马, 强制访问控制也有用,它可以防止在用户无意或不负 责任操作时,泄露机密信息。
第3章 操作系统安全 章 (4) 任何离开网络的数据包不能把网络内部的地址 作为目的地址。 (5) 任何进入或离开网络的数据包不能把一个私有 地址(Private Address)或在RFC1918中列出的属于保留 空间(包括10.x.x.x/8、172.16.x.x/12 或192.168.x.x/16 和 网络回送地址127.0.0.0/8.)的地址作为源或目的地址。 (6) 阻塞任意源路由包或任何设置了IP选项的包。
Байду номын сангаас
第3章 操作系统安全 章 为了保护计算机系统,应在外部路由或防火墙上 设置过滤规则,以对流进和流出网络的数据进行过滤 提供一种高层的保护。过滤规则如下: (1) 任何进入网络的数据包不能把网络内部的地址 作为源地址。 (2) 任何进入网络的数据包必须把网络内部的地址 作为目的地址。 (3) 任何离开网络的数据包必须把网络内部的地址 作为源地址。

计算机操作系统课件(第四版)第三章

计算机操作系统课件(第四版)第三章

9
3.1.3、中级调度
中级调度(中程调度) 目的:提高内存利用率和系统吞吐量 按一定的算法将外存上已具备运行条件的挂起进
程换入内存,挂到就绪队列上,准备执行;而将 内存中处于阻塞状态的某些进程换出至外存。
2021/4/14 星期三
10
3.2、调度队列模型
调度队列模型 选择调度方式和调度算法的若干准则
RR
周转时间
4
6
9 10
q=4
带权周转时间 1 2 2.25 5
周转时间
= 完成时间 – 到达时间
带权周转时间 = 周转时间 / 服务时间
2021/4/14 星期三
E 平均
4 4 17 13 11.8 3.33 3.46 17 13 8.4 3.33 2.5
33
2、多级反馈队列调度算法 原理:
设置多个就绪队列,并为各个队列赋予不同的优 先级和不同长度的时间片;
2021/4/14 星期三
34
时间 片完
时间 片完
就绪队列一 就绪队列二 就绪队列三
进程
调度
进程完成
CPU
时间 片完
…… 就绪队列 n
多级反馈队列调度算法示意图
2021/4/14 星期三
入内存运行。 短进程优先(SPF) 从就绪队列中选出估计运行时间最短的进程,将
处理机分配给它,使它立即执行。 直到运行完成进程才会让出处理机--非抢占式。 缺点: 对长作业不利,有可能长期不被调度; 完全没考虑作业的紧迫程度(某些特殊的); 用户做出的估计时间带有很大的主观性。
2021/4/14 星期三
第三章 处理机调度与死锁
第一节 处理机调度的层次 第二节 调度队列模型和调度准则 第三节 调度算法 第四节 实时调度 第五节 产生死锁的原因和必要条件 第六节 预防死锁的方法 第七节 死锁的检测和解除

操作系统第3章进程调度习题

第3章进程调度习题【例】在三种基本类型的操作系统中,都设置了进程调度,在批处理系统中还应设置( )调度【答案】AA 作业B 进程C 中级D 多处理机【例】下列算法中,()只能采用非抢占调度方式【解答】CA 高优先权法B 时间片轮转法C FCFS调度算法D 短作业优先算法【例】最适合分时系统的进程调度算法是()【解答】DA FCFSB SSJFC 优先数法D 轮转法【例】进程调度是从()选择一个进程投入运行。

【解答】AA 就绪队列B 等待队列C 作业后备队列D 提交队列【例】进程调度主要负责()【解答】BA 选作业进入内存B 选一进程占有CPUC 建立一进程D 撤销一进程【例】“可抢占”和“不可抢占”的优先级调度算法相比()【解答】BA 前者开销小B 前者开销大C 两者开销大致相同D 两者开销不能相比【解析】因为“可抢占”优先级调度时钟保证在处理机上运行的是优先级最高的进程,这样,当处理机正在运行某个进程时,很可能会被其他优先级更高的进程抢占引起处理机调度,和不可抢占算法相比,前者的调度次数会更频繁,而每调度一次都会引起保护现场,恢复现场的工作,所以可抢占的优先级调度算法开销更大。

【例】()优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变A 先来先服务B 静态C 动态D 短作业【答案】B【例】若进程P一旦被唤醒就能够投入运行,系统可能为( )A 分时系统,进程P的优先级最高B 抢占调度方式,就绪队列上的所有进程的优先级皆比P的低C 就绪队列为空队列D 抢占调度方式,P的优先级高于当前运行的进程【分析】1 在分析系统中,进程调度是按照轮转方式进行的。

系统并不登记进程的优先级2 在抢占调度方式中,P的优先级高于就绪队列上的所有进程,但不一定高于当前的运行进程,所以也不一定能立即运行3 无论哪种调度方式,若就绪队列为空队列,P被唤醒并插入后都会成为该队列的唯一进程,但这并不是说P可以立即获得处理机。

第三章 操作系统进程管理(张尧学)

回头来,我们再看看操作系统的第三个特性: 不确定性*:程序的执行过程不可预测
第24页
3.1.2 进程概念
操作系统的特性之一是并发与共享,即在系统中 (内存)同时存在几个相互独立的程序,这些程序在 系统中既交叉地运行,又要共享系统中的资源,这就 会引起一系列的问题,包括:对资源的竞争、运行程 序之间的通信、程序之间的合作与协同等等。
第23页
3.程序并发执行的相互制约 在多道程序设计的环境下,程序是并发执行的。即
系统中有多道程序在“同时”执行,这些程序之间要 共享系统的资源,程序之间有共享资源(通信)的关 系。共享与竞争产生一系列的矛盾,这些矛盾实际上 是一种相互制约,有直接的,也有间接。
(1)资源共享 (间接制约关系) (2)进程合作 (直接制约关系)
要解决这些问题,用程序的概念已经不能描述程序 在内存中运行的状态,必须引人新的概念--进程。
第25页
一. 进程的定义
1. 定义 • 行为的一个规则叫做程序,程序在处理机上执行时所发
生的活动称为进程(Dijkstra)。 • 进程是这样的计算部分,它是可以和其它计算并行的一
个计算。(Donovan) • 进程(有时称为任务)是一个程序与其数据一道通过处
操作系统的重要任务之一是使用户充分、有效地利用系统资源。 如何描述计算机程序的执行过程和作为资源分配的基本单位才
能充分反映操作系统的执行并发、资源共享及用户随机的特点 呢?这个概念就是进程。
第3页
进程管理就是针对CPU的管理(即处理机管理);处理机管理 是操作系统的基本管理功能之一,它所关心的是处理机的分配 问题。也就是说把CPU(中央处理机)的使用权分给某个程序, 通常把这个正准备进入内存的程序称为作业,当这个作业进入 内存后我们把它称为进程。处理机管理分为作业管理和进程管 理两个阶段去实现处理机的分配,常常又把直接实行处理机时 间分配的进程调度工作作为处理机管理的主要内容。

第3章 WindowsXP操作系统


3.2.1 用“资源管理器”管理信息资源
2.文件夹 文件夹又称为“目录”,是系统组织和管理文件的一种形 式,用来存放文件或上一级子文件夹。它本身也是一个文 件。文件夹的命名规则与文件名相似,但一般不需要加扩 展名。 用户双击某个文件夹图标,即可以打开该文件夹,查看其 中的所有文件及子文件夹。 3.文件的类型 在Windows XP中,文件按照文件中的内容类型进行分类, 主要类型如表3-1所示。文件类型一般以扩展名来标识。
桌面的操作 窗口与对话框的操作 应用程序的启动 剪贴板的使用 Windows XP的帮助系统
3.1.1 桌面的操作
3.1.1 Windows XP的桌面
桌面是Windows XP操作系统的基本界面。 中文Windows XP 桌面通常由屏幕背景、图标和任务栏等组 成,用户可以根据需要将应用程序和文件夹的图标放置 在桌面上。
任务2:
当你同时打开了“我的文档”和“我的电脑”两个应用程序 的窗口时,你如何在桌面上排列并显示它们呢? [操作步骤] (1)在任务栏的空白处单击鼠标右键,弹出任务栏的快捷菜单。 (2)选择“层叠窗口”,将打开的两个窗口按先后的顺序依次 排列在桌面上,每个窗口的标题栏和左侧国家边缘是可见 的。 (3)选择“横向平铺窗口”,即各个窗口均以相同大小横向排 列在桌面上。 (4)选择“纵向平铺窗口”,即各个窗口均以相同大小纵向排 列在桌面上。
3.1.3 应用程序的使用
2. 应用程序切换的方法:
①用鼠标单击应用程序窗口中的任何位置。 ②按Alt+Tab键在各应用程序之间切换。 ③在任务栏上单击应用程序的任务按钮。
3. 关闭应用程序的方法:
①在应用程序的“文件”菜单中选择“关闭”选项。 ②双击应用程序窗口左上角的控制菜单框。 ③单击应用程序窗口左上角的控制菜单框,在弹出的控制菜 单中选择“关闭”选项。 ④单击应用程序窗口右上角的“关闭”按钮。 ⑤按Alt+F4键。

操作系统 第3章 调度与死锁


等待事件
2. 具有高级和低级的调度队列模型 作业 后 备 调度 时间片完 队 列
就绪队列
cpu
进程完成
进程调度
阻塞队列
等待事件
特点 :1)具有进程调度、作业调度 2)根据阻塞原因设置了多个阻塞队列
3.同时具有三级调度的调度队列模型
批量作业 后备队列 交互型作业 作 业 调 度 时间片完
就绪队列
中级调度 就绪挂起队列
进程
P1 P2 P3 P4
• 非抢先式SJF
到达时间 0.0 2.0 4.0 5.0
P1 P3 7 8
执行时间 7 4 1 4
P2 12 P4 16
0
3
• 平均等待时间 = (0 + 6 + 3 + 7)/4 = 4 • 平均周转时间=(7+10+4+11)/4=8 • 平均带权周转时间=
• 3. SJF的变型 – “最短剩余时间优先”SRT(Shortest Remaining Time)(允许比当前进程剩 余时间更短的进程来抢占) – “最高响应比优先”HRRN(Highest Response Ratio Next)(响应比R = (等待时间 + 要求执行时间) / 要求 执行时间,是FCFS和SJF的折衷)
• 面向系统的准则
系统吞吐量高 处理机利用率好 资源的平衡利用
周转时间
• 批处理系统的重要指标。 • 作业从提交到完成(得到结果)所经历的时间 为周转时间。 • 包括:在外存后备队列中等待,CPU上执行, 就绪队列和阻塞队列中等待,结果输出等待。 • 平均周转时间T和平均带权周转时间(带权周 转时间W是 T(周转)/ (CPU执行)) • 平均周转时间: T 1 n T
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程标识符 上下文数据 内存指针 I/O状态信息

进程状态
调度信息 程序计数器
30
3.2 进程控制

进程控制是进程管理中最基本的功能

在操作系统中,不同功能都是通过执行各种原 语(Primitive)操作实现 原语是由若干条指令构成、可完成特定功能的 程序段。
原语是原子操作,是一个不可分割的基本单元, 在执行过程中不会被中断。
24
3.1.4 进程状态
(3)运行态:进程已获得所需资源并占据处 理器,处理器正在执行该进程。 (4)阻塞态:也称为等待态、挂起态或睡眠 态,进程在等待某个事情的发生而暂时不能运 行,例如等待某个I/O操作的完成。 (5)终止态:进程或者因为执行结束或者因 为被撤销而从可执行进程组中退出。
25
3.1.4 进程状态


44
3.3.2 多线程
31


3.2.1 进程创建

引起进程创建的事件:
(1)批处理作业
(2)用户登录
(3)提供服务
(4)进程派生
32
3.2.1 进程创建

创建一个新进程的具体步骤:
(1)系统为新建进程申请一个空白的进程控 制块,获得一个唯一的进程标识符。 (2)系统为新建进程分配运行所需的资源, 包括:内存、处理器时间、I/O设备等。
38
3.2.3 进程阻塞和唤醒
2. 进程唤醒

当被阻塞进程等待的事件发生,如等待的I/O操作已完成, 或者等待的操作完成时,则操作系统会通过唤醒原语将等 待该事件的进程唤醒。 唤醒原语(Wakeup primitive)的具体步骤:

(1)根据进程标识符从等待该事件的阻塞队列中找到需要 唤醒的进程PCB。 (2)将PCB中的进程状态阻塞改成就绪,并将该进程插入 到就绪队列中。
2. 进程激活 激活,对应于挂起,是让被挂起的进程重新活跃 起来,也就是把进程从外存调入到内存中。当系 统中出现了引起激活的事件时,操作系统会利用 激活原语将挂起进程激活。 激活原语(Active primitive)的具体步骤: (1)根据进程标示符,在PCB集合中找到需要激 活的进程。 (2)检查激活进程的状态。
34

终止原语的具体步骤:
3.2.2 进程终止
(1)根据需要终止进程的进程标识符,从PCB集合中查找 对应的进程,从中读出该进程的状态。
(2)若被终止进程正处在执行状态,则应立即终止该进程 的执行,并设置相应的调度信息,用于指示该进程被终止 后应重新进行调度。 (3)将被终止进程所拥有的所有资源归还给其父进程,或 者归还给系统。
9
3.1.2 程序的并发执行及其特征
1. 程序的并发执行
为了提高计算机的利用率、处理速度和系统的 吞吐量,并行处理技术和并发程序设计技术在计 算机中已经得到了广泛应用,成为了现代操作系 统的基本特征之一。 I I I I
1 2 3 4
C1
C2
C3
C4
P1
P2
P3
P4
图 3.2 多道程序并发执行
10
28
3.1.4 进程状态
新建
许 允
进入
挂起 分派

允许

激活 挂起就绪 就绪 挂起
运行 超时
释放
终止
事件发生
事件发生
激活 挂起




挂起阻塞
阻塞
图3.6 引入挂起的进程状态转换模型
29
3.1.5 进程控制块

进程控制块(Process control block, PCB)是操 作系统用来记录进程状态和相关信息,控制进 程运行的数据结构,是进程的唯一标识符 在PCB中,主要包含如下的信息:
43
3.3.1 线程简介

在操作系统中引入进程的目的,是为了使多个程序能 并发执行,以提高资源利用率和系统吞吐量。 在操作系统中再引入线程,则是为了减少程序在并发 执行时所付出的时空开销,使操作系统具有更好的并 发性。 通常把调度和分派的基本单位称做线程或轻量级进程 (Light weight process, LWP),而把资源分配的基本单 位称做进程或者任务。
20


3.1.4 进程状态
分派 进入 退出
非运行
运行
暂停
(a) 状态变迁图
21
3.1.4 进程状态
进入
队列
分派
处理器
退出
(b) 排队图
22
什么在排队
进入 队列 分派 处理器 退出
是它--PCB (process control block)
进程控制块(描述进程进关信息的数据结构)
3.1.4 进程状态


一个进程可以包含多个程序,一个程序也可以 被多个进程执行。
19
3.1.4 进程状态
1. 两状态模型

包含运行态(Running)和非运行态(Not running)两种进程状态 创建了一个新进程之后,它会以非运行态加入 到系统中,等到操作系统为其分派处理器
当前处于运行态的进程会不时地中断,由系统 中的分派器选择处于非运行状中的某一个进程 运行
35
3.2.2 进程终止
(3)若被终止进程还拥有子孙进程,则将其 所有子孙进程一并终止。 (4)归还PCB所占据的空间。
36
3.2.3 进程阻塞和唤醒
1. 进程阻塞

进程阻塞是指进程在执行过程中因等待某个事 件的发生或等待某个操作的完成而不得不让出 处理器。 引起进程阻塞的主要事件有:
(1)请求系统服务。
3.1.2 程序的并发执行及其特征
前趋图的引入:前趋图是一个有向无环 (Directed Acyclic Graph, DAG) 考虑具有以下四条语句的一个程序段: S1: a:=x+2; S2: b:=y+4;
S2 S1 S3 S4
S3: c:=a+b;
S4: d:=c+b;
图 3.3 四条语句的前趋图
2.五状态模型

包括就绪态(Ready)、运行态(Running)、阻塞态 (Blocked)、新建态(New)和终止态(Terminate) 进程状态描述:

(1)新建态:刚刚创建的新进程,通常是指进程控制块 已经创建,但还没有加载到系统内存中的进程。
(2)就绪态:进程等待系统为其分派处理器,而此时处 理器被其它进程占据,所以该状态进程不能执行,但已经 具备了除处理器之外的进程执行所需要的所有条件。
11
S1: a:=x+2; S2: b:=y+4; S3: c:=a+b; S4: d:=c+b;
S1 S3 S2 S4
S1: a:=x+2; S2: b:=y+4; S3: c:=a+b; S4: d:=c+b;
3.1.2 程序的并发执行及其特征
2. 程序并发执行的特征
(1)间断(异步)性:程序在并发执行时,由于它们共 享系统资源,以及为了完成同一任务而相互合作,致使这 些并发程序之间形成了相互制约的关系。 (2)失去封闭性:程序在并发执行时,多个程序共享系 统中的各种资源,因此,系统资源的状态将由多个程序来 改变,致使程序失去了封闭性。 (3)不可再现性:程序在并发执行时,由于失去了封闭 性,也将导致其失去执行的可再现性。
新建 允许进入 分派 就绪
事件发生
运行 超时
待 等
释放
终止


阻塞
图3.5 五状态模型
26
进程状态间可能的转换及原因有:





新建→就绪:系统纳入一个新进程。 就绪→运行:进程被调度程序选中,占据处理器而进入运 行状态。 运行→终止:进程运行结束或被撤销则退出系统进入终止 态。 运行→就绪:进程分配的占据处理器的时间片已经用完, 或者是具有更高优先级的进程进入系统,当前正在运行的 进程被抢占了处理器,此时进程从运行态转换到就绪态。 运行→阻塞:进程在等待系统分配资源或者等待某些事件 的发生,进程让出处理器由运行态转入阻塞态。 阻塞→就绪:处于阻塞队列中的进程等待的资源可用或者 等待的事件发生之后,进程从阻塞态转换到就绪态,等待 处理器选中它运行。
(3)进程控制块(PCB)初始化。 (4)设置链接,如果就绪队列允许新进程插 入,则将新进程插入就绪队列。
33
3.2.2 进程终止

引起进程终止的事件: (1) 正常完成 (8) I/O错误 (2) 运行超时 (9) 无效指令 (3) 等待超时 (10)特权指令 (4) 内存不足 (11)操作员或操作系统干涉 (5) 越界错误 (12)父进程请求 (6) 保护错误 (13)父进程终止 (7) 算术错误
27
3.1.4 进程状态

挂起状态的引入
内存是有限的不能容纳所有的进程,对于内存中的 多个进程,处理器依次选中运行,当一个进程正在等待 I/O事件发生时,处理器转移到另一个进程。但是,处理 器的速度比I/O要快很多,有可能内存中所有进程都在等 待I/O事件的完成,导致处理器处于空闲状态。
一种可行的解决问题的办法是引入挂起 (Suspend)的概念。
14
不可再现性
下面是两个并发执行的程序A,B,描述如下
3.1.3 进程的概念及其特征
已有的进程定义:


进程是程序的一次执行;
进程是可以和别的计算并发执行的计算;

进程是定义在一个数据结构上,并能够在其上 进行操作的一个程序;
进程是程序在一个数据集合上运行的过程,它 是系统进行资源分配和调度的一个独立单位。
17

3.1.3 进程的概念及其特征
相关文档
最新文档