3进程管理
操作系统实验,实验3, 进程管理 (1)
在图形界面上利用终端通过命令“su - ”切换到超级用户,编辑文件 “job”; 按组合键[Ctrl+Alt+F2]切换到第二个虚拟终端(超级用户); 输入命令“at –f job now+1 minute”,设置1分钟后执行at调度内容; 稍等后观察at调度的执行效果,再切换到第一个虚拟终端观察at调度 的执行效果;
切换到第一个虚拟终端观察at调度的执行效果(5分钟后系统将执行重 启调度任务)。
[操作要求2] 设置一个调度,要求1分钟后执行文件job中的作业。 文件job的内容为: find /home/jkx/ -name “*.c” > /home/jkx/fdresult wall user jkx, all code files have been searched out! Please check out. [操作步骤]
续表
守 护 进 程 innd Usenet新闻服务器 功 能 说 明
linuxconf
lpd named netfs network
允许使用本地WEB服务器作为用户接口来配置机器
打印服务器 DNS服务器 安装NFS、Samba和NetWare网络文件系统 激活已配置网络接口的脚本程序
nfsd
portmap postgresql routed sendmail
事件(例如xinetd和lpd)
启动守护进程有如下几种方法
在引导系统时启动 人工手动从shell提示符启动
系统启动script的执行期间 被启动(/etc/rc.d) 任何具有相应执行 权限的用户
使用crond守护进程启动
执行at命令启动
守护进程一般由系统在开机时通过脚本或root
进程管理
{
Flag[i]=FALSE;
}
process i;/*i-0 or i=1*/
……………..
Enter-crtsec(i);/*进入临界区*/
IN CRTICAL SECTION
Leave-crtsec(i);/*离开临界区*/
……………
【解答】
一次仅允许一个进程使用的资源称为临界资源,在进程中对于临界资源访问的程序段称为临界区。从概念上讲,系统中各进程在逻辑上是独立的,他们可以按各自独问题的共行进程,它们之间必须互相排斥,以保证不会同时进入临界区。这种算法是不安全的。因为,在进入临界区的操作Enter-crtsec( )不是一个原子操作,如果两个进程同时执行完其循环(此前两个flag均为FALSE),则这两个进程可以同时进入临界区。
分析:本题的第一部分是检查考生对基本概念的记忆与理解,在本题的分数中占的比较小,是解答本题的基础。题目的第二部分时一个典型的生产者—消费者问题,其中的难点在于PB既是生产者优势消费者,处理不好可能造成同步错误或死锁。
【解答】
P、V操作可用下面的伪码进行描述:
PROCEDUREP(S)
BEGIN
Lock out interrupts;
(3)一个进程可以执行一个或几个程序;反之,同一个程序可能由几个进程同时执行。
(4)进程具有并发性,它能真实地描述并发执行的活动,而程序不具备这种特征。
(5)进程具有创建其它进程的功能,程序不具备这种功能。
(6)进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位
3操作系统中为什么引入进程?
4.唤醒原语(active primitive)
当阻塞队列中的进程等待的事件发生时,都必须调用唤醒原语,以便把等待进程从阻塞中解脱出来获得重新参加调度的资格。
作业三(进程管理)
一、单项选择题1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。
A、进程被进程调度程序选中B、等待某一事件C、等待的事件发生D、时间片用完2.分配到必要的资源并获得处理机时的进程状态是B。
A、就绪状态B、执行状态C、阻塞状态D、撤消状态3.P、V操作是A。
A、两条低级进程通信原语B、两组不同的机器指令C、两条系统调用命令D、两条高级进程通信原语4.对进程的管理和控制使用B。
A、指令B.原语C、信号量D、信箱通信5.进程的并发执行是指若干个进程B。
A、同时执行B、在执行的时间上是重叠的C、在执行的时间上是不可重叠的D、共享系统资源6.若P、V操作的信号量S初值为2,当前值为一1,则表示有B等待进程。
A.0个B.1个7.程序的顺序执行通常在A①的工作环境中,具有②C特征;程序的并发执行在B③的工作环境中,具有④D特征。
A 、单道程序B、多道程序C、程序的可再现性D、资源共享8.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是_①D;由运行状态变为阻塞状态的条件是②B。
A、时间片用完B、等待某事件发生C、等待的某事件已发生D、被进程调度程序选中9.下列的进程状态变化中, C 变化是不可能发生的。
A、运行──就绪B、运行──等待C、等待──运行D、等待──就绪10.一个运行的进程用完了分配给它的时间片后,它的状态变为A。
A、就绪B、等待C、运行D、由用户自己确定11.用P、V操作管理临界区时,信号量的初值应定义为C。
A、一1B、0C、1D、任意值12.用V操作唤醒一个等待进程时,被唤醒进程的状态变为B。
A、等待B、就绪C、运行D、完成13.进程间的同步是指进程间在逻辑上的相互B关系。
A、联接B、制约C、继续D、调用14.D是一种只能进行P操作和V操作的特殊变量。
A、调度B、进程C、同步D、信号量15.B是解决进程间同步和互斥的一对低级通信原语。
A、lock和unlockB、P和VC、W和SD、Send和Receive16.下面对进程的描述中,错误的是D。
chap3 进程管理-Linux环境高级程序设计-黄茹-清华大学出版社
3
3.1 程序与进程
3.1.1 程序的结构
• 程序→可执行文件 • file
• size 代码区 静态数据区 BSS区
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
4
程序的构成
代码区:存放CPU执行的机器代码。 通常是可共享的、只读的。另外,还 规划了局部变量的相关信息。 静态数据区:包含了在程序中明确被 初始化的全局变量、已经初始化的静 态变量和常量数据。 BSS区:未被初始化数据区。存入的是 未初始化的全局变量和未初始化静态 变量。这些变量在程序开始运行之前, 其中的数据被内核初始化为0或者 NULL。
}
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
17
3.3.1 shell如何运行程序
• 通过ps命令和例1,我们能够看到,shell本身是一个 进程
• exit命令可以退出shell • shell是一个无穷循环,等待执行输入的命令、程序
或脚本 • 执行一条命令的过程:
➢接收输入的命令 ➢新建一个进程,用来运行该命令 ➢将命令对应的程序从磁盘中加载到新进程中执行 ➢等待新进程运行结束
2021/3/23 Linux高级编程 西安邮电大学计算机学院 黄茹
12
2021/3/23
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
13
3.3 shell
• shell是一个管理进程和运行程序的程序 • 三个功能:
➢运行程序 ➢管理输入输出 ➢可编程
• 关于进程的两个基本系统调用
4
#define TASK_STOPPED
8
ps命令中S对应列为进程状态。
操作系统复习资料全第二章 进程管理(3)-经典同步问题
信号量S的值除初始化(为资源数目)外,其值只能通过原
语wait和signal,也称P、V操作来改变。
整型信号量的P、V操作描述
wait和signal
wait(S): while S≤0 do no-op S∶=S-1; signal(S): S∶=S+1; 解释:P或wait操作:当S≤0时,说明无资源可用,一直测试直到其他进程 释放该类资源。
1. 至多只允许有四位哲学家同时去拿左边的筷子,最终能保证至少 有一位哲学家能够进餐。(增加一个总资源信号量S=4)
2. 仅当哲学家的左、右两只筷子均可用时,才允许他拿起筷子进餐 (AND型信号量)。
3. 规定奇数号哲学家先拿他左边的筷子,然后再去拿右边的筷子; 而偶数号哲学家则相反。按此规定,将是1、 2号哲学家竞争1号 筷子;3、4号哲学家竞争3号筷子。即五位哲学家都先竞争奇数 号筷子,获得后,再去竞争偶数号筷子,最后总会有一位哲学家 能获得两只筷子而进餐。
1. 利用记录型信号量解决读者 为实现Reader与Writer进程间在读或写时的互斥而设置了一个互 斥信号量Wmutex; 设置一个整型变量Readcount表示正在读的进程数目; 当 Readcount=0 时,表示尚无 Reader 进程在读时, Reader 进 程才需要执行 Wait(Wmutex) 操作。若 wait(Wmutex) 操作成功, 做Readcount+1和读文件操作; 当Reader进程在执行了Readcount减1操作后其值为0时,才须 执行signal(Wmutex)操作,以便让Writer进程写; 又因为Readcount是一个可被多个 Reader进程访问的临界资源, 因此,应该为它设置一个互斥信号量rmutex。
精品文档-计算机操作系统教程(第二版)(徐甲同)-第3章
第3章 进程管理 图 3.1 程序的顺序执行
第3章 进程管理
显然,程序的顺序执行具有如下特性: (1) 当顺序程序在处理机上执行时,处理机严格地顺序执行 程序规定的动作。每个动作都必须在前一动作结束后才能开始。 除了人为的干预造成机器暂时停顿外,前一动作的结束就意味着 后一动作的开始。程序和机器执行程序的活动严格一一对应。 (2) 一个程序在机器中执行时,它独占全机资源,除了初始 状态外,只有程序本身规定的动作才能改变这些资源的状态。
第3章 进程管理
2. 程序和机器执行程序的活动不再一一对应 程序和机器执行程序的活动是两个概念。程序是指令的有序 集合,是静态的概念;而机器执行程序的活动是指指令序列在处 理机上的执行过程,或处理机按照程序执行指令序列的过程。通 常把机器执行程序的活动称为“计算”。显然,“计算”是一个 动态的概念。
程序和数据集合两部分是进程存在的物质基础,即进程的实 体。
第3章 进程管理
进程控制块(或任务控制块)包含了进程的描述信息和控制信 息,是进程的动态特性的集中反映。不同的操作系统其进程控制 块的内容及信息量也不同。在小型机、微型机等比较简单的操作 系统中,PCB只占用十几个单元;而在一些大、中型机的操作系 统中,PCB的内容可能占用几十甚至上百个单元。
第3章 进程管理
直接制约关系通常是在彼此之间有逻辑关系的两个并发执行 的程序之间发生的。例如,一个正在执行的程序段需要另一程序 段的计算结果,只有当另一程序段在某一时刻送来计算结果时, 正在执行的程序段才能继续执行下去。否则它就一直等待,无法 执行。两个并发程序段以间接方式发生制约关系是由竞争使用同 一资源引起的。得到资源的程序段可以继续执行,得不到资源的 程序段就只好暂停等待。
第3章 进程管理
第2章 进程管理3
第二章 进程管理
2.1 前趋图和程序执行 2.2 进程的描述
2.3 进程控制
2.4 进程同步
2.5 经典进程的同步问题
2.6 进程通信 2.7 线程
湖南理工学院计算机学院
第二章 进程管理
掌握内容: 掌握生产者-消费者问题、读者-写者问 题、哲学家就餐问题的P、V操作实现方法。 掌握进程同步和互斥问题的P、V操作实现 过程。
湖南理工学院计算机学院
第二章 进程管理
parend end
湖南理工学院计算机学院
第二章 进程管理
在生产者—消费者问题中应注意: (1)在每个程序中用于实现互斥的 wait(mutex) 和signal(mutex)必须成对地出现; (2) 对资源信号量 empty 和 full 的 wait 和 signal 操作,同样需要成对地出现,但它们分别处于 不同的程序中。 (3)在每个程序中的多个wait操作顺序不能颠 倒。应先执行对资源信号量的wait操作,然后再 执行对互斥信号量的wait操作。
湖南理工学院计算机学院
第二章 进程管理
假定这些生产者和消费者相互等效,只要缓 冲池未满,生产者便可将消息送入缓冲池;只要 缓冲池未空,消费者便可从缓冲池中取走一个消 息。对生产者—消费者问题可描述如下: Var mutex, empty, full:semaphore∶=1,n,0; buffer:array[0, …, n-1] of item; in, out: integer∶=0, 0; begin parbegin
湖南理工学院计算机学院
第二章 进程管理
第i位哲学家的活动可描述为: repeat wait(chopstick[i]); wait(chopstick[(i+1) mod 5]); … eat; … signal(chopstick[i]); signal(chopstick[(i+1) mod 5]); … think; until false;
高中信息技术 第3章进程管理课件
返回本节目录
3.6.2 进程调度算法
• • • • 1.先来先服务 2.轮转调度 3.分级轮转法 4.优先数法
下一页
• 1.先来先服务
• 这种调度算法按照进程进入就绪队列的先 后顺序来调度进程,到达得越早,其优先 数越高。获得处理机的进程,未遇到其他 情况时,一直运行下去,系统只需具备一 个先进先出的队列,在管理优先数的就绪 队列时,这种方法是一种最常见策略,并 且在没有其他信息时,也是一种最合理的 下一页 策略。
返回本节目录 4.系统开销:由于在创建或撤消进程时,系统都 要为之分配或回收资源,如内存空间、I/O设备等。
•
•
3.5.3 用户级线程和内核支持线 程
• 比较两种线程的优缺点 : • 1.线程的调度与切换速度:内核支持线程的调度和 切换与进程的调度和切换十分相似。 • 2.系统功能调用:当传统的用户进程调用一个系统 功能调用时,要由用户态进入核心态,用户进程将被 阻塞。当内核完成系统调用而返回时,才将该进程唤 醒,继续执行。 • 3.线程执行时间 :对于只设置了用户级线程的系统 ,调度是以进程为单位进行的。在采用轮转调度算法 时,各个进程轮流执行一个时间片,这对诸进程而言 似乎是公平的。
进程的概念 进程的实体、状态及状态的演变
进程的控制与调度
进程之间的关系协调
进程的通信
死锁问题及解决
返回本章首页
3.1 引言
• 处理机管理是操作系统的基本管理功能之一, 它所关心的是处理机的分配问题。也就是说把 CPU(中央处理机)的使用权分给某个程序, 通常把这个正准备进入内存的程序称为作业, 当这个作业进入内存后我们把它称为进程。处 理机管理分为作业管理和进程管理两个阶段去 实现处理机的分配,常常又把直接实行处理机 时间分配的进程调度工作作为处理机管理的主 要内容。
操作系统 第3章 进程管理 PV操作专题
例4:桌上有一只盘子,最多可以容纳M 只水果,每次只能放入或取出一个水果。爸爸 专向盘子中放苹果(Apple),妈妈专向盘子 中放桔子(Orange),两个儿子专等吃盘子中 的桔子,两个女儿专等吃盘子中的苹果。用P、 V操作来实现爸爸、妈妈、儿子、女儿之间的 同步与互斥关系。
解答:设信号量place、apple、 orange 和mutex分别表示盘子里能放水果的数目、盘 子里已放入的苹果数目和盘子里已放入的桔子 的数目和对盘子的互斥访问,其初值分别为m、 0、0和1,其同步与互斥关系描述如下: int place=m; int apple=0; int orange=0; int mutex=1;
解法1: (1)因阅览室有100个座位可容纳100个读 者同时阅读,基于这种并行性,因此可为每一 个读者设立一个进程。因为任何读者进出阅览 室都做相同的工作(登记阅读和取消登记)。 所以对于100个读者进程可以共同对应一个程 序。此程序功能是入室时查表登记,入室阅读 和离室时查表取消登记。
(2)设置信号量(S位)来表示空座位个 数,初值为100,用来控制进入阅览室的读者 进程个数不超过100。 设置信号量(S表)来 表示被共享的登记表这一临界资源。初值为1, 用来防止两个以上读者进程同时查表。 每个进程和其他进程之间的同步关系如下:
monkeygroup2( ) { while(1) {P(m2mutex); if m2count=0 then P(waymutex); m2count=m2count+1; V(m2mutex) …… P(m2mutex); m2count=m2count-1; if m2count=0 then V(waymutex); V(m2mutex) } }
int empty1=m; int empty2=n; int full1=0; int full2=0; int mutex1=1; int mutex2=1; main() { PA(); PB(); PC(); }
第三章进程管理
第三章进程管理第三章进程管理引言:在所有采用微内核结构的操作系统中,都涉及到了“进程”的概念。
“进程”犹如操作系统的灵魂伴随操作系统始终,对进程进行控制、调度、完成进程间通信,以及解决进程死锁问题等就构成了进程管理的主要内容。
进程还是操作系统中独立运行的基本单位,只有深刻理解了进程的概念,才能够更好地理解操作系统其他各部分的功能和工作流程。
§3.1 为什么要引入进程的概念§3.1.1 从顺序程序设计谈起(1)什么是顺序程序在计算机上运行的程序是众多指令有序的集合,每一个程序只能完成预先规定的任务和操作。
在早期的计算机系统中,只有单道程序执行的功能,也就是说,每次只允许一道程序独立运行。
在这个程序的运行过程中,将占用整个计算机系统资源,而且系统将按照程序步骤顺序执行,其他程序只能处于等待状态。
因此,从宏观上看,各个程序是以线性状态排列并顺序执行的。
(2)顺序程序的特征a. 顺序性CPU单步顺序地执行程序,无论程序下一步操作是否需要等待上一步操作的结果都必须等待上一步操作结束后才能开始,无法实现并发执行。
b. 封闭性资源独占:只有正在执行的程序本身所规定的动作才能改变当前资源状态。
结果封闭:一旦程序开始运行后,其输出结果就不受外因的干扰。
c. 可再现性程序不受外部条件的影响,只要系统资源充足,在给定相同初始条件的情况下,无论程序执行多少次,总能得到相同的执行结果。
§3.1.2 程序的并发执行和资源共享由于单道程序执行过程中浪费了很多系统资源,因此,人们设法在只有一个处理器的系统中让多个程序同时执行。
这里应注意并发执行和多个程序在多个处理器环境下的并行执行。
(1)程序并发执行的定义多道程序在计算机中交替执行,当一道程序不占用处理器时,另一道程序马上接管CPU处理权,大大提高了处理器的使用率。
尽管在每一时刻或者说某一时刻CPU中仍然只有一道程序在执行,但是由于主存中同时存放了多道程序,在同一时间间隔内,这些程序可以交替的进行,从而提高CPU的使用率。
21central_操作系统 第三章进程管理(死锁问题2)
进
程 管
银行家算法
理
银行家算法是最有代表性的避免死锁算 法,是Dijkstra提出的银行家算法。这是 由于该算法能用于银行系统现金贷款的 发放而得名。为实现银行家算法,系统 中必须设置若干数据结构。
3
进
程 一、银行家算法中的数据结构
管 理
1 可利用资源向量Available
是一个含有m个元素,其中的每一个元素代
13
进
程 封锁进程:是指某个进程由于请求了超过了系 管 统中现有的未分配资源数目的资源,而被系统 理 封锁的进程。
非封锁进程:即没有被系统封锁的进程资源分 配图的化简方法:假设某个RAG中存在一个进 程Pi,此刻Pi是非封锁进程,那么可以进行如 下化简:当Pi有请求边时,首先将其请求边变 成分配边(即满足Pi的资源请求),而一旦Pi的所 有资源请求都得到满足,Pi就能在有限的时间 内运行结束,并释放其所占用的全部资源,此 时Pi只有分配边,删去这些分配边(实际上相 当于消去了Pi的所有请求边和分配边),使Pi 成为孤立结点。(反复进行)
7
要记住的一些变量的名称
1 Available(可利用资源向量) 某类可利用的资源数目,其初值是系统中所配置的该类全部可用 资源数目。 2 Max最大需求矩阵
某个进程对某类资源的最大需求数 3 Allocation分配矩阵 某类资源当前分配给某进程的资源数。
4 Need需求矩阵 某个进程还需要的各类资源数。
进
程
安全状态的例子
管
理 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。 进程P1总共要求10台磁带机,P2和P3分别要求4台和九 台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和
操作系统 第三章 进程管理
第一章 操作系统引论
3)
在PCB中还存放一些与进程调度和进程对换有关的信 息,包括: ① 进程状态,指明进程的当前状态, 作为进 程调度和对换时的依据;② 进程优先级,用于描述进程使 用处理机的优先级别的一个整数, 优先级高的进程应优先 获得处理机; ③ 进程调度所需的其它信息,它们与所采 用的进程调度算法有关,比如,进程已等待CPU的时间总 和、 进程已执行的时间总和等;④ 事件,是指进程由执 行状态转变为阻塞状态所等待发生的事件,即阻塞原因。
3.1.4 进程的特征与状态
1. 进程的特征和定义 1) 结构特征 2) 动态性 3) 并发性 4) 5) 异步性
第一章 操作系统引论
(1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系 统进行资源分配和调度的一个独立单位。 在引入了进程实体的概念后,我们可以把传统OS中的 进程定义为:“进程是进程实体的运行过程,是系统进行 资源分配和调度的一个独立单位”。
第一章 操作系统引论
4)
进程控制信息包括:① 程序和数据的地址, 是指进 程的程序和数据所在的内存或外存地(首)址,以便再调度 到该进程执行时,能从PCB中找到其程序和数据;② 进程 同步和通信机制,指实现进程同步和进程通信时必需的机 制, 如消息队列指针、信号量等,它们可能全部或部分地 放在PCB中; ③ 资源清单,是一张列出了除CPU以外的、 进程所需的全部资源及已经分配到该进程的资源的清单; ④ 链接指针, 它给出了本进程(PCB)所在队列中的下一个 进程的PCB的首地址。
第一章 操作系统引论
2)
在进程运行期间,由于出现某些错误和故障而迫使进程 终止。这类异常事件很多,常见的有:① 越界错误。这是指 程序所访问的存储区,已越出该进程的区域; ② 保护错。进 程试图去访问一个不允许访问的资源或文件,或者以不适当 的方式进行访问,例如,进程试图去写一个只读文件; ③ 非 法指令。程序试图去执行一条不存在的指令。出现该错误的 原因,可能是程序错误地转移到数据区,把数据当成了指令; ④ 特权指令错。用户进程试图去执行一条只允许OS执行的指 令; ⑤ 运行超时。进程的执行时间超过了指定的最大值; ⑥ 等待超时。进程等待某事件的时间, 超过了规定的最大值; ⑦ 算术运算错。进程试图去执行一个被禁止的运算,例如, 被0除;⑧ I/O故障。这是指在I/O过程中发生了错误等。
3-实验三 进程管理
实验3 进程管理一、实验目的1.加深对进程概念的理解,尤其是进程的动态性,并发性;2.了解父进程和子进程之间的关系;3.查看进程管理命令;二、实验内容1.练习进程管理有关命令ps (察看进程状态)ps命令提供了当前运行进程的快照,示例如下:$ psPID TTY TIME CMD3884 pts/1 00:00:00 bash3955 pts/2 00:00:00 more3956 pts/3 00:00:00 sqlplus其中,PID是进程的标识号;TTY是进程所属的终端控制台;TIME列是进程所使用的总的CPU时间;CMD列列出正在执行的命令行。
ps命令还有其它参数,可得到更完整的进程列表,大家可以通过man试验一下。
2.练习在shell环境下编译执行程序(注意:①父子进程关系的程序在/mnt/share目录下,是sanple1.c②利用cp把源程序例子复制到自己的目录下;③或在vi 编辑器中重写名为sample1.c的c语言源程序;④用linux自带的编译器gcc编译程序,例如:gcc –o test test.c⑤编译后生成名为test.out的可执行文件;⑥最后执行分析结果;命令为:./test)注意:linux自带的编译程序gcc的语法是:gcc –o 目标程序名源程序名,例如:gcc –o sample1 sample1.c,然后利用命令:./sample 来执行。
如果仅用“gcc 源程序名”,将会把任何名字的源程序都编译成名为a.out的目标程序,这样新编译的程序会覆盖原来的程序,所以最好给每个源程序都起个新目标程序名。
3.进程的创建仿照例子自己编写一段程序,使用系统调用fork()创建两个子进程。
当此程序运行时,在系统中有一个父进程和两个子进程活动。
让每一个进程在屏幕上显示一个字符:父进程显示“a”,子进程分别显示字符“b”和“c”。
观察记录屏幕上的显示结果,并分析原因。
4.分析程序实验内容要在给出的例子程序基础上,根据要求进行修改,对执行结果进行分析。
第3章 进程管理习题
一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在()进行的。
A . 同一时刻B. 同一时间间隔内C. 某一固定时刻D. 某一固定时间间隔内2、引入多道程序技术后,处理机的利用率()。
A.降低了B. 有所改善C.大大提高D. 没有变化,只是程序的执行方便了3、顺序程序和并发程序的执行相比,()。
A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快4、单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序B. 多道程序C.并发程序D. 并行程序5、进程和程序的本质区别是()。
A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。
进程具有[1]、[2]、调度性、异步性和结构性等基本特征。
进程是一次执行过程,具有生命期体现了进程的[1]特征。
进程由程序段、[3]、[4]组成,其中[4]是进程在系统中存在的唯一标识。
供选择的答案:[1][2] A、动态性B、静态性C、共行性D、并发性E、可执行性F、易用性[3] A、过程B、数据C、进程标识符D、函数[4] A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1]进入[2]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3],这个过程是由[4]来完成。
供选择的答案:[1][2][3] A、就绪状态B、静止状态C、阻塞状态D、运行状态[4] A、进程控制程序B、资源分配程序C、进程调度程序D、处理机分配程序8、为了描述进程的动态变化过程,采用了一个与进程相联系的()系统,根据它而感知进程的存在。
A.进程状态字B. 进程优先数C.进程控制块D. 进程起始地址9、下列进程状态的转换中,哪一个是不正确的()。
第3章 进程管理 习题
第3章进程管理一、单项选择题1.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是指。
(清华大学1996年研究生试题)a.一个缓冲区 b. 一段数据区 c. 同步机制 d.. 一段程序2. 一个进程是。
(清华大学1996年研究生试题)a.由协处理机执行的一个程序b.一个独立的程序+数据集c.PCB结构与程序和数据的组合 d.一个独立的程序3.在操作系统中,信号量表示资源实体,是一个与队列有关的变量,其值仅能用P、V操作来改变。
(陕西省1995年自考题)a.实型 b.整型 c.布尔型 d.记录型4.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。
(陕西省1996年自考题)a. 5b. 3c. 1d. 05.并发进程之间。
(陕西省1997年自考题) a.彼此无关 b、必须同步 c、必须互斥 d、可能需要同步或互斥6.实现进程之间同步与互斥的通信工具为。
a、P、V操作b、信箱通信c、消息缓冲d、高级通信7.N个进程共享某一临界资源,则互斥信号量的取值范围为。
a、0~1b、-1~0c、1~ -(N-1)d、0~ -(N-1)8.设m为同类资源数,n为系统中并发进程数。
当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况会出现系统死锁的是。
a、m=2,n=1,w=2b、m=2,n=2,w=1c、m=4,n=3,w=2d、m=4,n=2,w=3 9.是进程调度算法。
a、时间片轮转法b、先来先服务c、响应比高者优先d、均衡调度算法10.当时,进程从执行状态转变为就绪状态。
(西北工业大学1999年研究生试题)a、进程被调度程序选中b、时间片到b、等待某一事件 d、等待的事件发生11.对两个并发进程,其互斥信号量为mutex;若mutex=0,则表明。
a、没有进程进入临界区b、有一个进程进入临界区c、一个进程进入临界区而另一个进程正处于等待进入临界区状态d、有两个进程进入临界区12.用P、V操作可以解决互斥问题。
考研操作系统分类模拟题进程管理(三)
考研操作系统分类模拟题进程管理(三)
一、选择题
1. 在单处理机系统中,处于运行状态的进程。
A.只有一个
B.可以有多个
C.不能被挂起
D.必须在执行完后才能被撤下
答案:A
[解答] 本题目考查单处理机进程执行的特点。
在单处理机中,任何时刻只有一个进程可以占用处理机执行,因此应该选择A。
2. 一个进程被唤醒意味着。
A.该进程重新占有了CPU
B.进程状态变为就绪
C.它的优先权变为最大
D.其PCB移至就绪队列的队首
答案:B
[解答] 本题目考查进程的状态转换。
进程被唤醒后由阻塞态转换为就绪态,进入就绪队列排队。
因此应该选择B。
3. 进程从运行状态变为等待状态的原因是。
A.输入或输出事件发生
B.时间片到
C.输入或输出事件完成
D.某个进程被唤醒
答案:A
[解答] 本题目考查引起进程阻塞的原因。
当进程启动输入输出设备时,就会自动进入阻塞状态等待,当I/O操作完成后,再由中断处理程序将该进程唤醒。
因此应该选择A。
4. 操作系统中有一组常称为特殊系统调用,它不能被系统中断,在操作系统中称为。
A.初始化程序
B.原语
C.子程序
D.控制模块
答案:B
[解答] 本题目考查原语的概念。
原语是原子操作,在执行过程中不允许被中断。
原语在管态下执行。
因此应该选择B。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
包含着每 个进程的 控制信息
图3.3UNIX System Ⅴ进程上下文组成
3.2.3 进程上下文切换
进程上下文切换步骤:1)保存 被切换进程的正文部分至有关 存储区。2)把原来的进程移至 合适的队列-就绪、阻塞,选择 另一个要执行的进程。3)将被 选中进程的原来被保存的正文 部分从相关存储区中取出,并 送至有关寄存器和堆栈,激活 被选中进程执行。
1,2,3,4,5 ,6得结果1,依次执行1,2,4,5,6,3 得结果2,执行4,5,1,2,3,6得结果0
3.1 进程的概念
3.1.1 程序的并发执行 3.1.2 进程的定义
为什么要引入“进程”的概念
• 并发程序和顺序程序有本质上的差异。为了能更 好地描述程序的并发执行,实现操作系统的并发 性和共享性,引入“进程”的概念。 • 关键是“共享资源”引起的,从资源观点看,有 效管理共享资源(同步操作、异步操作、通信) 是操作系统的重要内容。
程序和进程的区别
程序
静态的指令序列 程序没有并行特征 一个程序可对应多个进程
进程
进程是一个动态的概念。 进程具有并行特征,是竞争系 统资源的基本单位。 一个进程至少对应一个程序 在工作(父子进程有可能两 个进程对应一个程序) 暂存资源, 动态过程
程序是永久性的软件资源
进程的五个基本特征
• 动态性:进程是程序在并发系统内的一次执行,一个 进程有一个从产生到消失的生命期;
2)程序的顺序执行 (3)可再现性 顺序执行的最终结果与程序运行的速度无关,只要输入 的初始条件相同,
则:无论何时重复执行该程序,都会得到相同的结果,
且:CPU在执行程序时,任意两个动作之间的停顿对程 序的计算结果都不会产生影响。
3.1.1 程序的并发执行
3) 多道程序系统中程序执行环境的变化 ★ 在许多情况下,要求计算机能够同时处理多个具 有独立功能的程序,以增强系统的处理能力和提高 机器的利用率。 ★ 通常采用并行操作技术,使系统的各种硬件资源 尽量做到并行工作,这就形成了多道程序系统,此 时,允许多个程序同时进入内存并运行。 ★ 这样,程序执行环境具有下述3个特点:
4)程序的并发执行
作业1 I1 P1 O 1
作业2
I2
P2
O 2
作业3
I3 P3
O 3
t 图3.2 程序的并发执行
4)程序的并发执行 ★ 对于任何一个作业i,其输入Ii、处理Pi、输 出Oi这三个操作必须顺序执行; ★ 但对于这三个作业而言,则有可能并发执行。 例如,输入程序在输入完第i个作业程序后,处 理程序在对第i个作业进行处理的同时,再启动 输入程序,输入第i+1个作业程序,这就使得第i 个作业的输入和第i+1个作业的处理能并发执行。
3.2.2 进程上下文
• 进程上下文有:用户级上下文、系统级上下文、 寄存器上下文等。 • 系统级上下文有动态和静态部分组成。动态部分 是各种寄存器的值、记录进入和退出各层时,系 统记录的各层上下文中相关联的寄存器的值。 • 进程上下文切换发生在不同的进程之间
3.2.2 进程上下文
用户执行 程序和数 据 处理器的 状态信息 当发生过 程调用或 者中断时 必须保存 和恢复的 信息。
3.2.4进程空间与大小
进程空间:任一进程均有一个自己的地址空间,把该 空间称为进程控间或虚空间。 进程空间大小只与处理机位数有关。例如32位长的处理 机进程空间大小为232=4GB.
3.2.4进程空间与大小
只能由操 作系统来 访问空间
为了防止用户程序访问系统空间,造成错误,计算机系统通过 程序状态寄存器等设置不同的执行模式,即用户模式(用户态)
例题
【11年考研32题】有两个并发执行的进程P1和进程P2,共享初值为1的 变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下 所示: //加1操作 load R1,x//取x到寄存器R1中 inc R1 store x,R1//将R1的内容存入x 两个操作完成后,x的值( C ) • A.可能为-1或3 B.只能为1 • C.可能为0、1或2 D.可能为-1、0、1或2 //减1操作 load R2,x//取x到寄存器R2中 dec R2 store x,R2//将R2的内容存入x
• 并发性:正是为了描述程序在并发系统内执行的动态 特性才引入了进程,没有并发就没有进程; • 独立性:每个进程的程序代码都是相对独立的顺序程 序,可以按照自己的方向和速度独立地向前推进; • 制约性:进程之间的相互制约,主要表现在互斥地使 用资源和相关进程之间必要的同步和通讯; • 结构性:进程静态结构=PCB+程序+数据集合。
分析:画出P1和P2的运行甘特图 最少时间为260ms。
4)程序的并发执行 ★ 引入程序并发执行,是为了充分利用系统 资源,提高计算机的处理能力。
★ 但是,程序并发执行也会带来一些问题 间断性,失去封闭性,不可再现性
4)程序的并发执行 并发的条件:
对于相邻的语句 S1和S2,如果有下面的条件同时成 立,则S1和S2可以并发执行:
LINUX PCB /zhangliulin/item/240af7e140e2a30c64db0055
3.2.1 进程控制块PCB
★进程控制块是进程存在的标志,当系统创建一个进 程时,实际上就是为其建立一个进程控制块。 ★注意:进程控制块由于比较大,所以,内存中只存 放常用的部分(例如CPU现场保护、进程描述信息、 控制信息等),而大部分信息存放在外存,待进程 运行时与其他数据一起装入内存。
本章学习目标:
1.了解进程、线程与进程管理的基本概念。
3.掌握进程控制的基本概念、基本原理。
2.掌握进程通信的概念、通信的类型及原理和P、V操作的应用。
4.掌握死锁的概念、产生死锁的必要条件和解决死锁的方法。
3.1 进程的概念
3.1.1 程序的并发执行 3.1.2 进程的定义
3.1.1 程序的并发执行
例题
【ቤተ መጻሕፍቲ ባይዱ2年考研29题】一个多道批处理系统中仅有P1和P2两个 作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下: P1:计算60ms,I/O 80ms, 计算20ms P2:计算120ms,I/O 40ms,计算40ms 若不考虑调度和切换时间,则完成两个作业需要的时间最 少是( ) B • A.240ms B.260ms C.340ms D.360ms
处理机切换到 getaddr程序 执行 top+1后 top
a b e f a b e f
top
a b e f
S栈的当前情况
执行了reladdr 的top+1后
由于处理机中断执 行getaddr的r (top)语句失败
4)程序的并发执行 • 产生问题的原因是由于两段程序共享资源S栈。由 此可见,多个程序并发执行,如果对资源、执行速 度不进行控制有可能产生错误的结果。 • 控制占用资源和运行的单位以程序不合适,应该用 更小的、动态的概念为单位。
2)程序的顺序执行
I1
P1 O1
I2
P2 O2
作业1
作业2
作业执行顺序
图3.1 程序的顺序执行
2)程序的顺序执行 显然,程序的顺序执行具有如下三特点:
(1)顺序性
程序所规定的动作在机器上严格地按顺序执行。每 个动作的执行都以前一个动作的结束为前提条件。 (2)封闭性 程序执行得到的最终结果由给定的初始条件决定, 不受外界因素的影响。即:只有程序本身的动作才 能改变程序的运行环境。
4)程序的并发执行 ★ 所谓程序并发执行,是指:一组在逻辑上相互独 立的程序或程序段在执行过程中,其执行时间在客观 上互相重叠,即在计算机系统中同处于已开始执行且 尚未结束的状态。
★ 假设有3个作业,每个作业i都由3个程序段组成:
(1)Ii(从输入机上读入第i个作业的信息); (2)Pi(处理第i个作业); (3)Oi(输出第i个作业的结果到输出机上)。 ★ 则在多道程序环境下,它们可以如图3.2所示方式 执行。
3.1.2 进程的定义
• 进程(process):是一个具有独立功能的程序 对某个数据集在处理机上的执行过程和分配资源 的基本单位。
进程与程序的联系 ★ 程序是构成进程的组成部分之一。 ★ 一个进程的运行目标是执行它所对应的程序,如果 没有程序,进程就失去了其实际存在的意义。 ★ 从静态的角度看,进程是由程序、数据和进程控制 块(PCB)三部分组成。
3.2 进程的描述
3.2.1 进程控制块PCB 3.2.2 进程上下文 3.2.3 进程上下文切换 3.2.4 进程空间与大小
3.2.1 进程控制块PCB
• 进程控制块是系统感知进程的唯一实体。其主要内容 包括(几百-上千字节):
– 描述信息:进程号,用户标识,家族关系
– 控制信息:进程当前状态,进程优先级,程序开始地址, 各种计时统计,通信信息 – 资源管理信息:占用内存大小,内存管理用的数据结 构指针,共享程序段大小和起始地址,输入输出设备 号,传送数据的长度/缓冲区地址/与设备管理相关的 数据结构指针,指向文件系统的指针及有关标识 – CPU现场保护结构
(1)独立性
在多道程序环境下,执行的每道程序都是逻辑上独立的,且 执行速度与其它程序无关,执行的起止时间也是独立的。
(2)随机性
在多道程序环境下,程序和数据的输入与执行开始时间都是 随机的。
(3)资源共享性
一般来说,多道程序环境下,执行程序的道数总是多于计算 机系统中的CPU的个数,单CPU系统更是如此。 显然,同时执行的各个程序只能共享系统中已有的CPU。 同样,输入输出设备、内存、信息等资源都将被各个程序所 共享。资源共享将导致对进程执行速度的制约。
1)程序 ★自计算机问世以来,人们广泛地使用“程序”这一 概念。 ★ 在多道程序设计出现以前,每次只能一个程序进入 内存并运行,程序是“一个在时间上严格的按前后次 序相继的进行的操作序列集合”。 ★ 把一个具有独立功能的程序独占CPU直到得到最终 结果的过程称为:程序的顺序执行。 ★ 下面用一个简单例子来说明程序顺序执行时的某些 重要特性。