进程管理 2

合集下载

第二章进程管理答案

第二章进程管理答案

第二章进程管理一、单项选择题1、顺序程序和并发程序的执行相比,()。

A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为()。

A.顺序程序B. 多道程序C.并发程序D. 并行程序3、进程和程序的本质区别是()。

A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征4、在下列特性中,不是进程的特性的是()。

A. 异步性B. 并发性C. 静态性D. 动态性5A6A.7A.8A.9A.10A.11A.12。

A.13A.14A.15A.16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。

A. S>0B. S=0C. S<0D. S≠017、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。

A.10 B.8 C.6 D.418、在进程通信中,使用信箱方式交换信息的是()。

A.低级通信B.高级通信C.共享存储器通信D.管道通信19.( )必定会引起进程切换。

A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。

A.中断B.查询c.同步D互斥21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。

A.顺序执行B.同时执行c.并行执行D.并发执行22.操作系统根据( )控制和管理进程,它是进程存在的标志。

A.程序状态字B.进程控制块 c.中断寄存器 D.中断装置23.若干个等待占有cPU并运行的进程按一定次序链接起来的队列为( )。

A.运行队列 B.后备队列 c.等待队列D.就绪队列24.进程的( )和并发性是两个很重要的属性。

A.动态性 B.静态性 c.易用性 D.顺序性25引入多道程序设计技术后,处理器的利用率( )。

第2章 进程的描述和控制 (2)

第2章 进程的描述和控制 (2)

链接方式
执行指针 就绪队列指针
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9 4 3 0 8
阻塞队列指针 空闲队列指针
7 9 0 0
索引方式
执行指针
PCB1 PCB2
PCB3
就绪表指针
PCB4 PCB5 PCB6
阻塞表指针
PCB7
进程调度队列
• 作业队列——系统中所有进程集合 • 就绪队列——驻留主存的所有就绪态进 程集合 • 设备队列——等待I/O设备的进程集合 • 进程在各种队列中迁移
程序段 数据段
操作对象及工作区
1. 进程控制块 (PCB, process control block) 的作用
• PCB是OS中最重要的记录型结构,记录用于描 述进程执行情况及控制进程运行的全部信 息。 。 • PCB是进程存在的唯一标志,是每个进程在OS 中的登记表项,OS据此对并发进程进行控制和 管理。 • PCB常驻于由OS维护的内存核心区,不能由应 用程序自身的代码来直接访问,而要通过系统 调用间接访问。 • OS专门开辟PCB区将所有的PCB组织成若干个链 表或队列。
进程图 A
B D C
E
F
G
H
引起创建进程的事件 (1) 用户登录。 (2) 作业调度。 由系统内核创建 (3) 提供服务。 (4) 应用请求。 由自己创建
进程的创建
• 原语CREAT()按下述步骤创建一个新 进程: (1) 申请空白PCB。 (2) 为新进程分配资源:为代码、数据、 用户栈分配空间。 (3) 初始化进程控制块:初始化标识信 息、处理机状态(PC、SP)、处理机控制 信息(进程状态、优先级)。 (4) 将新进程插入就绪队列 。

计算机操作系统 第二章 进程管理(2)

计算机操作系统 第二章 进程管理(2)

缺点:
(1)进程在等待进入临界区时也要耗费处理器时间, 不能实现“让权等待” (2)可能出现进程“饥饿”
2.3.2 信号量机制
新的同步工具——信号量和P、V操作。
信号量:是一种数据结构,代表可用资源实 体的数目。
信号量只能通过初始化和两个标准的原语: P(wait(S))、V((signal(S))来访问。 P原语相当于进入区操作,V原语相当于退 出区操作。
AND同步机制
AND同步机制的基本思想是:进程运行时所 需要的所有资源,要么全部分配给它,使用完 毕后一起释放;要么一个都不分配给它。实现 时,采用原子操作:要么全部分配到所有资源, 要么一个也不分配到。 称AND型信号量P原语为:
Swait(Simultaneous wait)
V原语为Ssignal(Simultaneous signal)。
SP原语描述
Swait(S1,S2,„,Sn) /* SP原语描述 */ {while(1) {if(S1>=1&&S2>=1&&„&&Sn>=1) {for(i=1;i<=n;i++) Si--; /* 先确信可满足所有资源要求再减1操作 */ berak; } else /* 资源不够时 */ {将进程放入第一个信号量小于1的阻塞队列Si.sqeue; 将PC中的地址回退到SP开始处; 阻塞进程; } } }
第二章 进程管理(2)
2.3 进程同步
多进程并发执行时,由于资源共享或进程合 作,使进程间形成间接相互制约和直接相互制 约关系,这需要用进程互斥与同步机制来协调 两种制约关系。 进程同步的主要任务:协调进程执行次序, 使并发执行的诸进程间能有效地共享资源和相 互合作,使程序的执行具有可再现性。

第2章 进程管理课后习题解答

第2章 进程管理课后习题解答

第题中,如果修改问题中的同步算法,要求 对写进程优先,即一旦写进程到达,后续的读者进程必须等待, 而无论是否有读者进程在读文件。写出相应进程的程序段。 semaphore fmutex=1, rmutex=1, wmutex=1;que=1;
int rcount=0, wcount=0; void main() { parbegin(reader, writer); }
12
void reader { while(1) { wait(que); wait(rmutex); if(0==readcount) wait(fmutex); readcount++; signal(rmutex); signal(que); …. begin to read wait(rmutex); readcount--; if(readcount==0) signal (fmutex); signal(rmutex); } }
读者—写者问题(读优先) 读者 写者问题(读优先) 写者问题 semaphore rmutex=1,wmutex=1; int readcount=0; = void main() { parbegin(reader,writer); }
读者进程: 读者进程: void reader() { while(1) { wait(rmutex); if (readcount==0) wait(wmutex); readcount++; signal(rmutex); … 读操作 wait(rmutex); readcount--; if (readcount==0) signal(wmutex); signal(rmutex); } }
18
chopstick[ ={1 semaphore chopstick[5]={1,1,1,1,1}; viod main() { parbegin(P0(),P1(),P2(),P3(),P4()); parbegin(P0(),P1(),P2(),P3(),P4()); } Pi() /*i=0,1,2,3,4*/ { while(1) { wait(chopstick[i]); [ ] wait(chopstick[(i+1)%5]); [ ] eating; … signal(chopstick[i]); [ ] signal(chopstick[(i+1) %5]); [ ] thinking; } }

chap2 进程管理

chap2 进程管理

2· 2 进程的状态及转换
状态及其转换 静止就绪状态:表明进程具备运行条件但目前在二级存储器中,当它被 对换到主存才能被调度执行 静止阻塞状态:表明进程正在等待某一事件且在二级存储器中 ①运行或活动就绪→静止就绪,活动阻塞→静止阻塞 通过挂起操作(suspend)。 ②静止就绪→活动就绪, 静止阻塞→活动阻塞 通过激活操作(activate)。 ③静止阻塞→静止就绪: 当等待的事件发生时。 挂起进程的特征: (1)该进程不能立即执行。(2)挂起进程可能会等待事件,但所等待 事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。 (3)进程进入挂起状态是由于操作系统、父进程或进程本身阻止它 的运行。(4)结束进程挂起状态的命令只能通过操作系统或父进程 发出。
题目:
4、进程执行时的间断性,决定了进程可能具有多种状态。进程的基 本状态有三种,在分时系统中,当一个进程拥有的时间片到时, 则该进程即由[1]进入[2]。如果出现因某种原因使得处理机空闲时, 则需要从就绪队列中选择一进程,并将处理机分配给它,此时该 进程进入[3],这个过程是由[4]来完成。 供选择的答案: [1][2][3] A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态 [4] A、进程控制程序 B、资源分配程序 C、进程调度程序 D、处理机分配程序 5、下列进程状态的转换中,哪一个是不正确的( )。 A. 就绪->运行 B. 运行->就绪 C. 就绪->阻塞 D. 阻塞->就绪 6、一个进程被唤醒意味着( )。 A.该进程重新占有了CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其PCB移至就绪队列的队首
2· 2 进程的状态及转换
3、细分5种状态的进程状态及其转换 新建、就绪、运行、阻塞、终止 新建:对应进程刚被创建的状态,为一个新进程 创建必要的管理信息,它并没有被提交运行, 而是等待操作系统完成创建进程的必要操作。 终止:进程已完成执行就变为终止状态。进入终 止态的进程不再执行,但依然临时保留在系统 中等待善后。一旦其他进程完成了终止进程的 信息抽取后,系统将删除该进程。

2-进程管理

2-进程管理

CH2 进程管理CPU即处理机的一种,为方便见,以后我们不再区分。

进程是处理机内运行的一个实体,处理机管理核心是调哪个进程到处理机内运行,所以OS把处理机管理纳入进程管理范畴。

在OS 中, 进程管理与存储器管理是最重要的两部分, 也是最接近内核的两层. 在现代OS中, 进程是作为资源分配和独立运行的基本单位. 我们合并第二、三两章,主要内容有:§1 中断#1 中断概念#2 中断功能#3 中断处理§2 多道程序设计§3 进程引入#1 程序的顺序执行及其特征#2 程序的并行执行及其特征#3 进程定义及其特征#4 进程三态及其演变(就绪/执行/阻塞)#5 进程描述(PCB)及其组织(队列/索引)§4 进程控制#1 内核与原语#2 创建与撤消(Create/Destroy)#3 ★挂起与激活(Suspend/Active)#4 阻塞与唤醒(Blocked/Wakeup)§5 进程调度#1 概念(级别, 方式, 术语)#2 调度算法(FIFO/最短时间/最高优先级/轮转/多级反馈)#3 引起调度的原因和实现§6 进程同步#1 概念#2 信号量机制(概念/实现)#3 信号量应用(互斥/同步)#4 经典进程同步问题----例子#5 ★信号量集和管程§7 进程通信#1 类型(内存共享/消息机制/文件共享)#2 直接通信方式(一般模型/应答式/链路)#3 ★直接通信应用(消息缓冲)§8 死锁#1 原因及必要条件#2 预防#3 避免(教材称为预防不恰当)#4 检测#5 解除与书不同处: 处理机调度纳入进程调度;CH7的§1并发进程纳入进程引入一节;进程控制单独列一节§1 中断一、中断概念1、中断:CPU对系统中发生的异步事件的响应处理。

2、中断引入的目的是提高CPU的利用率和系统实时性能。

3、中断是多道程序设计实现的基点。

《计算机操作系统》第2章 进程管理

《计算机操作系统》第2章  进程管理

2.1.3 进程的状态模型
新建
准许
准许
挂起
静止就绪
事件 发生
静止阻塞
激活 挂起
激活 挂起
活动就绪
事件 发生 活动 阻塞
分派 超时
运行
等待 事件
释放
退出
பைடு நூலகம்
图2-8 有挂起态的七状态模型
在新的状态模型中,比较重要的新转换如下: ►(1)活动阻塞→静止阻塞:当内存紧张而系统中又没有就绪进程时,一个阻塞
态进程就会被挂起。
分派
进入
非运行
运行
退出
暂停 图2-3 两状态模型
2.1.3 进程的状态模型
2. 三状态模型
三状态模型中进程的三种基本状态如下:
►(1)就绪状态(Ready)。一个进程获得了除处理机之外所需的一切资源,一 旦得到处理机即可运行。在系统中,将处于就绪状态的多个进程的PCB组织成一 个队列,或按照某种规则排在不同的队列中,这些队列称为就绪队列。
2.1.3 进程的状态模型
3. 五状态模型
新建态
进入就 绪队列
运行态
被调 度 时间片
用完
就绪态
事件
发生
退出态 等待事件 阻塞态
图2-6 五状态模型图
►为便于进程管理,有必要增加一种有用的状态,我们称为新建态,对应于刚刚创建 的进程,操作系统还没有把它加入到就绪队列中,通常是进程控制块已经创建但还 没有加载到内存中的新进程。
►同样,进程从系统中退出时,也增加一种有用的状态,进程被终止直到释放PCB所 处的状态,我们称为退出态。
2.1.3 进程的状态模型
五状态模型中的状态转换:
►(1)空→新建:创建一个程序的新进程。

(完整版)第二章进程管理习题和答案

(完整版)第二章进程管理习题和答案

--一、填空题1. 进程是一个程序对某个数据集的一次执行过程。

进程从结构上讲,包括程序、数据和PCB三部分。

2. 进程是一个动态的概念,程序是一个静态的概念。

3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB组成。

4. 进程存在的唯一标志是PCB的存在。

当系统创建一个进程时,系统为其建立一个PCB,当进程被撤销时系统就将其收回。

5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。

当进程由(1)变换到(2)或(3)时,就会立即引起重新调度。

6. 在操作系统中,不可中断执行的操作称为原语。

7. 并发进程之间的基本关系是同步或互斥。

其中互斥是指进程之间的一种间接关系。

8. 临界资源是指一段时间只允许一个进程使用的资源,而临界区是指进程中访问临界资源的程序代码。

9. P,V操作原语是在信号量上操作的。

10. 信号量的物理意义是:当信号量的值大于零时,表示可用资源的数量;当信号量值小于零时,其绝对值为等待使用信号量所代表资源的进程的数量。

11. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1~-(n-1)。

12.如果系统中有n个进程,则在等待(阻塞)队列中进程的个数最多可为个n。

13. 如果信号量的当前值为-5,则表示系统中在该信号量上有5 个等待进程。

14.某程序运行时经常需打印中间结果。

计算时,该进程处于用户态,打印时处于系统态,打印结束时进程处于用户态。

(指系统状态)、15. 在操作系统中引入线程的主要目的是减少程序并发执行时的时空开销,使OS更具有并发性。

16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即该程序是可重人码程序,这种程序的特点是:在它执行过程中自身不可修改。

17. 中断优先级是由硬件规定的,若要调整中断的响应次序可通过系统调用。

18. 进程初建时处于就绪态,运行时因为时钟中断而处于就绪态,因等待事件或资源而处于阻塞态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

应用实例如下。 (1)让系统在两天后的17:30执行文件data中指定的作业,使用命令: #at -f data 15:30 +2 days (2)配置batch作业 要在系统平均载量降到0.8以下时执行某项一次性的任务,使用batch 命令。键入batch命令后,“at>”提示就会出现。键入要执行的命令, 按“Enter”键,然后键入“Ctrl-D”。你可以指定多条命令,方法是键 入每一条命令后按“Enter”键。键入所有命令后,按“Enter”键转入一 个空行,然后再键入“Ctrl-D”。或者你也可以在提示后输入shell脚本, 在脚本的每一行后按“Enter”键,然后在空行处键入“Ctrl-D”来退出。 系统平均载量一降到0.8以下,这组命令或脚本就会被执行。如果这组 命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被 邮寄给用户。
2.bg命令后台运行命令
作用:bg命令使一个被挂起的进程在后台执行。 格式:bg 该命令无参数。 使用说明:Linux作为一个多任务环境,用户会同时执行多项任务,例如,查看系 统情况、备份资料、编辑文件和打印文件等。耗时长的任务不应该在前台任 务中执行,而应该交给后台任务去执行。这样前台任务可继续正常运作其他 的操作,不用等待。 应用实例如下。 (1)如果要将一个大目录的文件进行排序后,将结果输入到一个文件中,可以 使用命令: #du –a / | sort –rn > /tmp/du.sorted (2)由于这个命令执行时间很长,可以把它放在后台运行。使用组合键“Ctrl+ Z”。然后使用bg命令。如果想直接把这个命令放在后台执行,可以在命令后 使用“&”符号: #du –a / | sort –rn > /tmp/du.sorted & [1] 237
应用实例如下。 命令执行过程如果出错,用户可用“kill”来结束任务。对于在后台运行的进程,可以使用 kill命令终止: #du –a / | sort –rn > /tmp/du.sorted & [1] 237 #kill 237 或者使用命令: #du –a / | sort –rn > /tmp/du.sorted & [1] 237 #kill %1 对于僵尸进程,可以用kill-9来强制终止退出。 比如一个程序已经彻底死掉,如果kill不加信号强度没有办法退出,最好的办法就是加信号 强度-9,后面要接杀父进程;比如; 比如: [root@localhost ~]# ps aux |grep gaim beinan 5031 9.0 2.3 104996 17484 ? S 13:23 0:01 gaim root 5036 0.0 0.0 5160 724 pts/3 S+ 13:24 0:00 grep gaim
Title
• contents • contents
Title
• contents • coke Presentation much more fun
@WPS官方微博 @kingsoftwps
5.kill命令杀掉进程
作用:kill命令终止一个进程。 格式:kill [-s signal |-p] [-a]pid… kill -l [ signal ] 主要选项如下。 -s:指定发送的信号。 pid:要终止的进程的ID号。 signal:表示信号。 说明:kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程 序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。 kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序 的进程标志号,然后系统内核就可以对进程标志号指定的进程进行操作。当 需要中断一个前台进程的时候,通常使用Ctrl+C组合键;但是对于一个后台进 程,就不是一个组合键所能解决的了,这时就必须使用kill命令。
4.Jobs显示后台程序
作用:jobs命令显示后台任务的执行情况。 格式:jobs [选项] [jobspec…] 主要选项如下。 -l:长输出格式,显示全部内容。 -n:不输出信息。 -p:只输出进程号。 -r:只输出运行的进程。 [jobspec]:后台任务号码。 应用实例如下。 先把两个进程放在系统后台运行,然后使用jobs命令查看后台任务的执行情况: #du -a /etc > user.data & [1] 233 # find / -name core -type f -ls > core.data & [2] 234 #jobs –l [1] + 237 Running du -a /etc > user.data [2] - 238 Running find / -name core -type f -ls > core.data 说明:上面的当前任务是“du -a /etc > user.data”,因为后台任务号码是“[1]”。当第一个后台任务顺 利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任 务。即当前任务是动态的。
主要选项如下。 -f:从文件中读取命令或shell脚本,而非在提示后指定它们。 -m:执行完作业后发送电子邮件到用户。 time:设定作业执行的时间。time参数可以是下面格式中的任何一种。 HH:MM格式——如04:00,代表4:00AM。如果时间已过,就会在第二天的这一时 间执行。 midnight代表12:00AM。noon代表12:00PM。teatime代表4:00PM。 英文月名日期年份格式——如January 15 2005,代表2005年1月15日。年份可无。 MMDDYY、MM/DD/YY或MM.DD.YY格式——如011505,代表2005年1月15日。 now +时间格式——时间以minutes、hours、days或weeks为单位。如now + 5 days, 代表命令应该在5天之后的此时此刻执行。偏移量的格式为时间+偏移量,单 位是minutes、hours和days。 说明:at命令实际上是一组命令集合。at命令在指定时刻执行指定的命令序列。 atq查询已经设定的命令序列。atrm删除已经设定的命令序列。batch当系统负 载低于一个设定值(0.8),执行设定的命令序列。
3.fg挂起程序
作用:fg命令使一个被挂起的进程在前台执行。 格式:fg -[job-spec] [job-spec]:后台任务号码。 说明:fg命令和bg命令是相对应的。如果想查看后台程序 运行情况,可以使用fg命令把它调回前台查看。bg命令可 以使多个进程放到后台中执行。 应用实例如下。 使用fg命令时,要加入后台任务号码,如果不加任何号码, 则所变动的均是当前任务。 #du –a / | sort –rn > /tmp/du.sorted & [1] 237 #fg 1
进程管理
Title
• contents • contents
1.at命令:定时运行命令
作用:at命令在指定时刻执行指定的命令序 列。 格式: at [-V] [-q x] [-f file] [-m] time atq [-V] [-q x] atrm [-V] [-q x] job… batch [-V] [-f file] [-m]
6.ps命令查看权限
作用:ps命令主要查看系统中进程的状态。 格式:ps [选项] 主要选项如下。 -A:显示系统中所有进程的信息。 -e:显示所有进程的信息。 -f:显示进程的所有信息。 -l:以长格式显示进程信息。 -r:只显示正在运行的进程。 -u:显示面向用户的格式(包括用户名、CPU及内存使用情况等信息)。 -x:显示所有非控制终端上的进程信息。 -p:显示由进程ID指定的进程的信息。 -t:显示指定终端上的进程的信息。
相关文档
最新文档