操作系统第二章学习纲要.docx

上传人:b****5 文档编号:5221062 上传时间:2022-12-14 格式:DOCX 页数:21 大小:110.69KB
下载 相关 举报
操作系统第二章学习纲要.docx_第1页
第1页 / 共21页
操作系统第二章学习纲要.docx_第2页
第2页 / 共21页
操作系统第二章学习纲要.docx_第3页
第3页 / 共21页
操作系统第二章学习纲要.docx_第4页
第4页 / 共21页
操作系统第二章学习纲要.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

操作系统第二章学习纲要.docx

《操作系统第二章学习纲要.docx》由会员分享,可在线阅读,更多相关《操作系统第二章学习纲要.docx(21页珍藏版)》请在冰豆网上搜索。

操作系统第二章学习纲要.docx

操作系统第二章学习纲要

第2章进程管理辅导与自测

本章知识点

进程是操作系统中最大体、最重要的概念之一,在运算机系统中,进程不仅是最大体的并发执行的单位,而且也是分派资源的大体单位。

引入进程那个概念,对于咱们理解、描述和设计操作系统具有重要意义。

本章的主要知识点为:

(1)进程的概念

进程是程序在并发环境中的执行进程。

进程最根本的属性是动态性和并发性。

要注意进程与程序的区别。

进程的五个大体特征是:

动态性、并发性、独立性、制约性、结构性。

一个进程实体通常由程序、数据、栈和进程控制块(PCB)这四部份组成。

进程控制块是进程组成中最关键的部份。

每一个进程有唯一的进程控制块。

操作系统按照PCB对进程实施控制和管理。

进程的动态、并发等特征是利用PCB表现出来的。

为了对所有进程进行有效地管理,常将各进程的PCB用适当的方式组织起来。

一般说来,进程队列有以下几种方式:

线性方式、链接方式和索引方式。

进程有三个大体状态:

运行态、就绪态和阻塞态。

在必然的条件下,进程的状态将发生转换。

下图所示为进程的状态及其转换。

图进程状态及其转换

(2)进程管理

就犹如人类的族系一样,系统中众多的进程也存在族系关系:

由父进程创建子进程,子进程再创建子进程,从而组成一棵树形的进程族系图。

进程作为有“生命期”的动态进程,对它们的实施管理主要包括:

创建进程、撤消进程、挂起进程、恢复进程、改变进程优先级、封锁进程、唤醒进程、调度进程等。

在Linux系统中,进程有5种状态。

进程分为系统进程和用户进程。

其中,系统进程只运行在内核模式下;用户进程既能够在用户模式下运行,也能够通过系统挪用等运行在内核模式下。

Linux的task_struct结构相当于其进程控制块。

Linux系统对进程的操作常常利用命令有:

ps、kill、sleep等。

常常利用的系统挪用有:

fork,exec,wait,exit,getpid,sleep,nice等。

(3)进程通信

进程通信是指进程间的信息互换。

按照进程间互换信息量的多少,分为高级进程通信和低级进程通信。

进程的同步与互斥是指进程在推动时的彼此制约关系,属于低级进程通信。

一般来讲同步反映了进程之间的协作关系,往往指有几个进程一路完成一个任务时在时刻顺序上的某种限制,进程彼此之间各自的存在及作用,通过互换信息完成通信。

如接力比赛中一组队员利用接力棒等。

进程互斥表现了进程之间对资源的竞争关系,这时进程彼此之间不必然清楚其它进程的情形,往往指多个任务多个进程间的通信制约,因此利用更普遍。

如打篮球时两边挣抢篮板球等。

咱们用信号量(Semaphore)及P,V操作来实现进程的同步和互斥。

生产者-消费者问题是经典的进程同步和互斥问题。

(4)死锁

死锁是指多个进程循环等待他方占有的资源而无穷期地僵持下去的局面。

运算机系统产生死锁的根本原因就是资源有限且操作不妥。

一种原因是竞争资源引发的死锁,另一种原因是由于进程推动顺序不适合引发的死锁。

产生死锁的四个必要条件是:

互斥条件,不可抢占条件,占有且申请条件,循环等待条件。

若是在运算机系统中同时具有这四个必要条件时,那么会发生死锁。

一般地,解决死锁的方式分为死锁的预防、避免、检测与恢复三种。

《进程管理》学习重点和要求

  考核学生对进程概念、进程的状态及其转换、进程的组成、竞争条件和临界区、进程的同步与互斥、信号量和P、V操作及其一般应用、死锁的概念和产生死锁的必要条件等的内容学习情形。

  【掌握】

  1.进程的概念:

进程是程序在并发环境中的执行进程。

  进程与程序的主要区别。

进程最大体的属性是动态性和并发性。

  2.进程的状态及其转换

  进程的3种大体状态是:

运行态、就绪态和阻塞态。

掌握教材33页的进程状态及其转换图。

  3.进程的同步与互斥的概念。

能够简单理解为:

同步是协作,互斥是竞争。

  4.信号量和P、V操作及其一般应用。

  运用信号量机制和P、V操作,解决并发进程一般的互斥和同步问题。

解决此类问题的一般方式:

  

(1)按照问题给出的条件,肯定进程有几个或几类;

  

(2)肯定进程间的制约关系——是互斥,仍是同步;

  (3)各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值;

  (4)用P、V操作写出相应的代码段;

  (5)验证代码的正确性:

设以不同的顺序运行各进程,是不是能保证问题的圆满解决。

切忌按固定顺序执行各进程。

  【理解】

  1.多道程序设计概念及其长处。

  2.进程的一般组成,应深切理解进程控制块的作用。

每一个进程有惟一的进程控制块。

  进程管理的大体命令:

ps、kill、sleep。

  4.理解进程临界资源和临界区的概念,进程进入临界区的调度原则。

信号量概念,P、V操作执行的动作。

  5.死锁的概念;死锁的4个必要条件:

互斥条件、不可抢占条件、占有且申请条件、循环等待条件。

  【了解】

  进程结构,见教材41页图。

  2.进程间的3种高级通信:

共享内存、管道文件和消息传递。

典型例题解析

【例1】判断题:

并发是并行的不同表述,其原理相同。

()

答案×。

分析并发是指多道程序的执行在时刻上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。

但对单CPU系统而言,每一时刻只有一个程序在CPU上运行(有可能现在其他的程序在进行输入、输出)。

也就是说,占有CPU的只能有一个程序。

因此,并发实际上是“在宏观上并行执行,在微观上串行执行”。

而并行是真正意义上的并行执行,因此二者的含义是不同的。

【例2】在操作系统中引入“进程”概念的主要目的是()。

A.改善用户编程环境B.提高程序的运行速度

C.描述程序动态执行进程的性质D.使程序与计算进程一一对应

答案C

分析操作系统中多道程序的引入,使得它们在并发执行时共享系统资源,一路决定这些资源的状态,因此系统中各道程序在执行进程中就出现了彼此制约的新关系,程序的执行出现“走走停停”的新状态。

这些都是在程序的动态进程中发生的。

而程序本身是机械能够翻译或执行的一组动作或指令,它或写在纸面上,或寄存在磁盘等介质上,是静止的。

很显然,直接从程序的字面上无法看出它何时运行、何时停顿,也看不出它是不是影响其它程序或必然受其它程序的影响。

因此,用程序那个静态概念已不能如实反映程序并发执行进程中的这些特征。

为此,人们引入进程的概念来描述程序动态执行进程的性质,这是引入“进程”概念的主要目的。

【例3】下列进程状态的转换中,不正确的是()。

A.就绪→阻塞B.运行→就绪

C.就绪→运行D.阻塞→就绪

答案A

分析回答这道题要明白进程的3种大体状态,和它们之间的转换关系。

通过下图能够看到,凡是图中有箭头指向的转换都是可行的,而没有箭头指向的则不可能。

因此A是不正确的。

图进程状态及其转换

若是有的同窗记不住这张图,那就从理解的角度进行试探。

第一要理解3种状态的含义,然后再理解它们之间的转换。

例如:

运行的进程能变成绩绪吗?

能够,若是运行进程的时刻片到了,就必修让出CPU,转换为就绪态。

就绪的进程能变成阻塞吗?

不能够,就绪态的进程已经具有了运行条件,只在等待CPU,怎么可能还退回到还不具有运行条件的阻塞态呢?

因此,若是理解了,这张图就可以够自己画出来,并非需要死记硬背。

【例4】进程控制块是描述进程状态和特性的数据结构,一个进程()。

A.能够有多个进程控制块B.能够和其他进程共用一个进程控制块

C.能够没有进程控制块D.只能有唯一的进程控制块

答案D

分析进程控制块(PCB)是一个用于描述进程动态性质的数据结构。

操作系统按照PCB对进程实施控制和管理。

进程的动态、并发等特征也是通过PCB表现出来的。

进程由程序、数据、栈和PCB组成。

组成进程的有关程序和数据集合是进程得以存在的物质基础,它们是进程的实体;PCB用于标识和刻画实体的存在和转变,是进程存在的唯一标志。

当系统创建一个新进程时,就为它成立一个PCB;当进程终止后,系统回收为其分派的PCB,该进程在系统中就不存在了。

【例5】在执行V操作时,当信号量的值(),应释放一个等待该信号量的进程。

A.小于0B.大于0C.小于等于0D.大于等于0

答案C

分析P,V操作能够实现对临界区的管理要求。

它由P操作原语和V操作原语组成(原语是不可中断的进程),对信号量进行操作,具体概念如下:

P(S):

①将信号量S的值减1,即S=S-1;

②若是S≥0,则该进程继续执行;不然该进程置为阻塞状态,排入阻塞队列。

V(S):

①将信号量S的值加1,即S=S+1;

②若是S>0,则该进程继续执行;不然释放队列中第一个等待信号量的进程。

信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。

信号量的值与相应资源的利用情形有关。

当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待利用该资源的进程个数。

注意,信号量的值仅能由P,V操作来改变。

一般来讲,信号量S≥0时,S表示可用资源的数量。

执行一次P操作意味着请求分派一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必需等待别的进程释放该类资源,它才能运行下去。

而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S≤0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。

【例6】有9个生产者,6个消费者,共享容量为8的缓冲区。

在那个生产者-消费者问题中,互斥利用缓冲区的信号量mutex的初值应该为()。

A.1B.6C.8D.9

答案A

分析进程的互斥是指当有若干个进程都要利用某一共享资源时,任何时刻最多只允许一个进程去利用,其它要利用该资源的进程必需等待,直到占用资源者释放了该资源。

进程的互斥表现了并发进程之间访问共享资源时存在的竞争关系。

在运算机系统中必需互斥利用的资源很多,如读卡机、磁带机、打印机等硬件资源和一些公共变量、表格、队列、数据等软件资源。

利用信号量和P,V操作实现进程互斥的一般模型是:

进程P1进程P2……进程Pn

………………

P(mutex);P(mutex);P(mutex);

临界区;临界区;临界区;

V(mutex);V(mutex);V(mutex);

……………………

其中信号量mutex用于互斥,初值为1。

利用P,V操作实现进程互斥时应该注意的是:

(1)每一个程序顶用户实现互斥的P、V操作必需成对出现,先做P操作,进临界区,后做V操作,出临界区。

如有多个分支,要认真检查其成对性。

(2)互斥信号量的初值一般为1。

另外,P、V操作应别离紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。

在本题中,既然是问互斥信号量,其初值应为1,选项中的6,8,9都是迷惑答题者的,若是对同步和互斥不能专门好地理解,就很难选择。

【例7】两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或成立某个条件后再向前执行,这种关系是进程间的()关系。

A.同步B.互斥C.竞争D.合作

答案A

分析进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有取得另一个进程的消息时应等待,直到消息抵达才被唤醒。

同步是进程间一路完成一项任务时直接发生彼此作用的关系。

如此的例子在日常生活中不胜列举,比如接力比赛中运动员的默契配合,工业生产中流水作业的每道工序的前后执行,和运算机系统中对一个缓冲区的读和写等等。

当并发进程存在协作的关系时,必需互通消息,完成进程的同步。

能实现进程同步的机制称为同步机制,该机制能把其他进程需要的消息发送出去,也能测试自己需要的消息是不是抵达。

P,V操作是典型的同步机制之一。

用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。

用P,V操作实现进程同步时,挪用P操作测试消息是不是抵达,挪用V操作发送消息。

利用PV操作实现进程同步时应该注意的是:

(1)分析进程间的制约关系,肯定信号量种类。

在维持进程间有正确的同步关系情形下,哪个进程先执行,哪些进程后执行,彼其间通过什么资源(信号量)进行协调,从而明确要设置哪些信号量。

(2)信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。

(3)同一信号量的P、V操作要成对出现,但它们别离在不同的进程代码中。

本题中进程的同步表现的是合作关系,但答案不能选D,要利用操作系统的术语“同步”。

【例8】设有一台运算机,有两条I/O通道,别离接一台卡片输入机和一台打印机。

卡片机把一叠卡片一一输入到缓冲区B1中,加工处置后再搬到缓冲区B2中,并在打印机上打印结果。

问:

①系统要设几个进程来完成那个任务?

各自的工作是什么?

②这些进程间有什么样的彼此制约关系?

③用P、V操作写出这些进程的同步算法。

分析咱们画一个草图来帮忙咱们理解这道题:

 

从图中能够看出,从“卡片机”到“打印机”共需要3个操作,即输入、处置、输出。

这3个动作就是完成任务的3个进程。

下面咱们看看这些进程之间有什么样的制约关系。

能够看出,这3个进程之间是同步关系,合作完成从输入到输出的工作任务。

对其中任何一个进程,要处置好与其关联的两头设备的协调工作。

以“输入进程”为例,它与卡片机缓和冲区B1关联,将卡片机的卡片输入到缓冲区B1,在不考虑卡片机的情形下,就要考虑缓冲区的情形,即是满仍是空,是空缓冲区,输入进程就可以够输入信息,若是缓冲区满,则要等待“处置进程”将B1中的信息取走,使之为空,输入进程才能继续工作。

依此类推,能够找出另外2个进程的制约关系。

一般来讲,处置进程同步需要2个信号量,“输入进程”和“处置进程”同步,需要2个信号量,解决缓冲区B1的协调操作问题;而“处置进程”和“输出进程”同步,还需要2个信号量,解决缓冲区B2的协调操作问题。

因此,共需要4个信号量。

本题中“处置进程”的算法有一些难度,因为它需要协调两个缓冲区的工作,考虑的因素比较多,算法复杂些。

答案

①系统可设三个进程来完成那个任务:

R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中掏出信息,进行加工处置,以后将结果送到缓冲区B2中;P进程负责从缓冲区B2中掏出信息,并在打印机上印出。

②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全数取走,才能继续读入信息;C进程受R进程和P进程的约束:

B1中信息放满后C进程才可从中掏出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:

B2中信息放满后P进程才可从中掏出它们,进行打印。

③信号量含义及初值:

B1full——缓冲区B1满,初值为0;

B1empty——缓冲区B1空,初值为0;

B2full——缓冲区B2满,初值为0;

B2empty——缓冲区B2空,初值为0;

说明

前面咱们说过:

信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。

以本题为例,若是R进程的算法如下:

则信号量B1empty初值应为1。

表示B1缓冲区初始为空闲状态。

若是C进程的算法如下:

则信号量B2empty初值应为1。

表示B2缓冲区初始为空闲状态。

【例9】死锁的四个必要条件中,无法破坏的是()。

A.互斥条件B.不可抢占条件

C.占有且申请条件D.循环等待条件

答案A

分析互斥条件、不可抢占条件、占有且申请条件和循环等待条件是死锁发生时的4个必要条件,咱们明白,只要破坏这4个必要条件中的任意一个条件,死锁就不会发生。

打破互斥条件,就是允许进程同时访问某些资源。

可是,有的资源是不允许被同时访问的,如打印机等,这是由资源本身的属性所决定的,因此这种方式并无实用价值。

而其他三个条件是完全能够破坏的。

练习题

一、选择题(选择一个正确答案的代码填入括号中)

1.顺序程序和并发程序的执行相较,()。

A.大体相同B.有点不同

C.并发程序执行整体上执行时刻快

D.顺序程序执行整体上执行时刻快

2.在单一处置机上,将执行时刻有重叠的几个程序称为()。

A.顺序程序B.多道程序

C.并发程序D.并行程序

3.在单CPU的系统中,若干程序的并发执行是由()实现的。

A.用户B.程序自身

C.进程D.编译程序

4.进程与程序之间有紧密联系,但又是不同的概念。

二者的一个本质区别是()。

A.程序是静态概念,进程是动态概念

B.程序是动态概念,进程是静态概念

C.程序保留在文件中,进程寄存在内存中

D.程序顺序执行,进程并发执行

5.在操作系统中,进程的最大体的特征是()。

A.动态性和并发性B.顺序性和可再现性

C.与程序的对应性D.执行进程的封锁性

6.多个进程的实体能存在于同一内存中,在一段时刻内都取得运行。

这种性质称作进程的()。

A.动态性B.并发性

C.调度性D.异步性

7.进程是程序的执行进程,能够处于不同的状态。

这种性质称作进程的()。

A.动态性B.并发性

C.调度性D.异步性

8.在下列特性中,不是进程的特性的是()。

A.异步性B.调度性

C.操作性D.动态性

9.某进程由于需要从磁盘上读入数据而处于阻塞状态。

当系统完成了所需的读盘操作后,现在该进程的状态将()。

A.从就绪变成运行B.从运行变成就绪

C.从运行变成阻塞D.从阻塞变成就绪

10.一个进程被唤醒意味着()。

A.该进程从头占有了CPUB.进程状态变成就绪

C.它的优先权变成最大D.其PCB移至就绪队列的队首

11.在单处置机系统中,处于运行状态的进程()。

A.只有一个B.能够有多个

C.不能被挂起D.必需在执行完后才能被撤下

12.已经取得除()之外的所有运行所需资源的进程处于就绪状态。

A.存储器B.打印机C.CPUD.磁盘空间

13.进程从运行状态变成阻塞状态的原因是()。

A.输入或输出事件发生B.时刻片到

C.输入或输出事件完成D.某个进程被唤醒

14.为了描述进程的动态转变进程,采用了一个与进程相联系的(),按照它而感知进程的存在。

A.进程状态字B.进程优先数

C.进程控制块D.进程起始地址

15.进程在系统中存在的唯一标志是()。

A.所运行的程序B.所运行的程序和数据

C.进程队列D.进程控制块

16.进程的动态、并发等特征是利用()表现出来的。

A.程序B.数据

C.程序和数据D.进程控制块

17.进程间的大体关系为()。

A.彼此独立与彼此制约B.同步与互斥

C.并行执行与资源共享D.信息传递与信息缓冲

18.在一段时刻内,只允许一个进程访问的资源称为()。

A.共享资源B.临界区

C.临界资源D.共享区

19.操作系统中有一组常称为特殊系统挪用的程序,其操作具有不可分割性,在操作系统中称为()。

A.初始化程序B.原语

C.子程序D.控制模块

20.操作系统中利用信号量和P、V操作,()。

A.只能实现进程的互斥B.只能实现进程的同步

C.可实现进程的互斥和同步D.可完成进程调度

21.若是进程Pa对信号量S执行P操作,则信号量S的值应()。

A.加1B.减1C.等于0D.小于0

22.若是信号量S的值是0,现在进程A执行P(S)操作,那么,进程A会()。

A.继续运行

B.进入阻塞态,让出CPU

C.进入就绪态,让出CPU

D.继续运行,并唤醒S队列头上的等待进程

23.在操作系统中,对信号量S的P操作原语的概念中,使进程进入相应阻塞队列等待的条件是()。

A.S>0B.S=0C.S<0D.S≠0

24.信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。

A.10B.8C.6D.4

25.若P、V操作的信号量S初值为2,当前值为-1,则表示有()个等待进程。

A.0B.lC.2D.3

26.在进程通信中,利用信箱方式互换信息的是()。

A.低级进程通信B.高级进程通信

C.共享内存方式D.管道文件方式

27.系统出现死锁的原因是()。

A.运算机系统发生了重大故障

B.有多个封锁的进程同时存在

C.若干进程因竞争资源而无停止地循环等待着,而且都不释放已占有的资源

D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数

28.两个进程争夺同一个资源()。

A.必然死锁B.不必然死锁

C.不会死锁D.以上说法都不对

二、判断题(正确的划√,错误的划×。

1.简单地说,进程是程序的执行进程。

因此,进程和程序是一一对应的。

()

2.进程和程序是两个截然不同的概念。

()

3.程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位分派系统资源。

()

4.进程控制块(PCB)是专为用户进程设置的私有数据结构,每一个进程仅有一个PCB。

()

5.进程执行的相对速度不能由进程自己来控制。

()

6.进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行顺序上的协调。

()

7.信号量机制是一种有效的实现进程同步与互斥的工具。

信号量只能由P、V操作来改变。

()

8.V操作是对信号量执行加1操作,意味着释放一个单位资源,若是加1后信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变成阻塞状态,不然现进程继续进行。

()

9.利用信号量的P,V操作,进程之间能够互换大量信息。

()

10.系统产生死锁的根本原因是资源有限且操作不妥。

因此,当系统提供的资源少于并发进程的需求时,系统就产生死锁。

()

“练习与试探”解答(P68)

1.大体概念和术语

进程、进程互斥、进程同步、临界资源、临界区、死锁

进程是程序在并发环境中的执行进程。

进程互斥:

各个进程彼此不明白对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生彼此制约。

进程同步:

各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的一路存取来协同完成一项任务。

临界资源:

一次仅允许一个进程利用的资源。

临界区:

在每一个进程中访问临界资源的那段程序。

死锁是指在一个进程集合中的每一个进程都在等待仅由该集合中的另一个进程才能引发的事件而无穷期地僵持下去的局面。

2.大体原理和技术

(1)在操作系统中为何要引入进程概念?

它与程序的区别和联系是什么?

在操作系统中,由于多道程序并发执行时共享系统资源,一路决定这些资源的状态,因此系统中各程序在执行进程中就出现了彼此制约的新关系,程序的执行出现“走走停停”的新状态。

这些都是在程序的动态进程中发生的。

用程序那个静态概念已不能如实反映程序并发执行进程中的这些特征。

为此,人们引入“进程”这一概念来描述程序动态执行进程的性质。

进程与程序的主要区别是:

·进程是动态的;程序是静态的。

·进程有独立性,能并发执行;程序不能并发执行。

·二者无一一对应关系。

·进程异步运行,会彼此制约;程序不具有此特征。

但进程与程序又有紧密的联系:

进程不能离开具体程序而虚设,程序规定了相应进程所要完成的动

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1