操作系统-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
操作系统原理-第三章进程管理习题(1)
第三章进程管理习题一. 单选题1. UNIX操作系统的进程控制块中常驻内存的是()。
A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2. 当()时,进程从执行状态转变为就绪状态。
A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3.在进程状态转换时,下列()转换是不可能发生的。
A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4.下列各项工作步骤中,()不是创建进程所必需的步骤。
A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D. 将PCB链入进程就绪队列5.下列关于进程的叙述中,正确的是()。
A.进程通过进程调度程序而获得CPU。
B.优先级是进行进程调度的重要依据,一旦确定不能改变。
C.在单CPU系统中,任一时刻都有1个进程处于运行状态。
D.进程申请CPU得不到满足时,其状态变为等待状态。
6.从资源管理的角度看,进程调度属于()。
A.I/O管理B.文件管理C.处理机管理D.存储器管理7.下列有可能导致一进程从运行变为就绪的事件是()。
A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8.一个进程释放一种资源将有可能导致一个或几个进程()。
A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9.一次I/O操作的结束,有可能导致()。
A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10.当一个进程从CPU上退下来时,它的状态应变为()。
A.静止就绪B. 活动就绪C. 静止睡眠D. 活动睡眠11.为使进程由活动就绪变为静止就绪,应利用()原语?** B. ACTIVE C. BLOCK D. WAKEUP12.在下面的叙述中,不正确的是()。
A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13. 若系统中只有用户级线程,则处理机调度单位是()。
操作系统-进程管理
操作系统-进程管理操作系统-进程管理1.简介进程管理是操作系统中的核心功能之一,负责管理计算机系统中的各个进程。
进程是指正在执行的程序实例,它包含了程序的代码、数据和执行状态等信息。
进程管理涉及创建、调度、同步、通信、终止等一系列操作,旨在协调和控制多个进程的执行。
2.进程的创建与终止2.1 进程创建进程的创建是指由操作系统创建新的进程。
主要步骤包括:①分配空间:为新进程分配内存空间。
②初始化:将新进程的状态设置为就绪态,并初始化进程控制块(PCB)。
③指定执行代码:将新进程指向要执行的代码。
④设置执行环境:为新进程设置执行所需的环境变量和资源参数。
2.2 进程终止进程终止是指进程执行完毕或被强制终止。
主要步骤包括:①保存状态:将进程的状态保存到进程控制块中。
②释放资源:释放进程所占用的系统资源。
③给予父进程处理机:将CPU控制权交还给父进程。
3.进程调度进程调度是指选择就绪态进程中的一个进程分配CPU资源。
调度算法的选择和实现会直接影响操作系统的性能和效率。
常见的调度算法有:3.1 先来先服务(FCFS):按照进程到达的先后顺序进行调度。
3.2 短作业优先(SJF):根据进程的执行时间进行调度,执行时间短的进程优先。
3.3 时间片轮转(RR):每个进程被分配一个时间片,在时间片用完后,切换到下一个进程。
3.4 优先级调度:根据进程的优先级进行调度,优先级高的进程先执行。
4.进程同步与通信4.1 进程同步为了保证多个进程之间的操作按照一定的顺序进行,需要进行进程同步。
常见的同步机制有:①互斥锁:只允许一个进程访问共享资源。
②信号量:用于进程之间的互斥与同步。
③条件变量:用于线程之间的等待与通知。
4.2 进程通信进程通信是指进程之间相互传递信息的过程。
常见的通信机制有:①管道:一种半双工的通信方式,可以在具有亲缘关系的进程之间进行通信。
②消息队列:进程可以通过读写消息队列来进行通信。
③共享内存:多个进程可以访问同一块共享内存区域,将其用作通信媒介。
操作系统-进程管理
02
最短作业优先(SJF):优先调度预计运行时 间最短的进程。
03
最短剩余时间优先(SRTF):优先调度剩余 时间最短的进程。
04
优先级调度:根据进程的优先级进行调度。
死锁的产生与预防
死锁的产生
死锁是指两个或多个进程在无限期地等待对方释放资源的现象。产生死锁的原因包括资源分配不当、 请求和保持、环路等待等。
操作系统-进程管理
• 进程管理概述 • 进程的同步与通信 • 进程调度与死锁 • 进程的并发控制 • 进程管理的发ห้องสมุดไป่ตู้趋势与挑战
01
进程管理概述
进程的定义与特点
01
进程是程序的一次执行,具有动态性、并发性、独立性和制 约性。
02
进程拥有独立的内存空间,执行过程中不受其他进程干扰。
03
进程是系统资源分配和调度的基本单位,能够充分利用系统 资源进行高效计算。
进程同步的机制
进程同步的机制主要包括信号量机制、消息传递机制和共享内存机制等。这些 机制通过不同的方式协调进程的执行顺序,以实现进程间的有效协作。
信号量机制
信号量的概念
信号量是一个整数值,用于表示系统资源或临界资源的数量 。信号量可以用来控制对共享资源的访问,以避免多个进程 同时访问导致的数据不一致问题。
消息传递的机制
消息传递的机制包括发送和接收操作。发送操作将消息发送给目标进程,接收操 作从消息队列中获取消息并进行处理。通过这种方式,多个进程可以通过发送和 接收消息来协调执行顺序和交换数据。
共享内存机制
共享内存的概念
共享内存是一种实现进程间通信的有效方式,通过共享一段内存空间来实现不同进程之间的数据交换和共享。
预防死锁的方法
操作系统进程管理
Process Management
处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的 分配问题。也就是说把CPU(中央处理机)的使用权分给某个程序。
通常把正准备进入内存的程序称为作业,当这个作业进入内 存后我们把它称为进程。处理机管理分为作业管理和进程管 理两个阶段去实现处理机的分配,常常又把直接实行处理机 时间分配的进程调度工作作为处理机管理的主要内容。
3、系统进程在管态下活动,而用户进程则在用户态 (目态)下活动。
另一种分类:计算进程,I/O进程等 注意:在UNIX系统中没有这样对进程进行分类。
动。 (4)在进程调度中,系统进程的优先级高于用
户进程。
2.5 进程的类型与区别
系统进程与用户进程的区别:
1、系统进程被分配一个初始的资源集合,这些资源 可以为它独占,也能以最高优先权的资格使用。用 户进程通过系统服务请求的手段竞争使用系统资源;
2、用户进程不能直接做I/O操作,而系统进程可以 做显示的、直接的I/O操作。
2.3进程的特征
5)结构特征:为能正确的执行并发,为每一个进程配置
了一个数据结构,称为进程控制块(PCB)。则一个进 程实体就由数据段、程序段、PCB三部分构成。
• 进程实体 = 数据段+程序段+PCB
PCB
私有 数据块
程 序 段
进程的结构
• 程序和进程不一定具有一一对应的关系。
2.4 与程序的区别
2、进程是一个独立的运行单位,能与其它进程并行(并 发)活动。而程序则不是。
3、进程是竞争计算机系统有限资源的基本单位,也是进 行处理机调度的基本单位。
4、一个程序可以作为多个进程的运行程序,一个进程也 可以运行多个程序。
操作系统复习资料全第二章 进程管理(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。
操作系统-徐甲同 2版 习题答案 第三章进程-死锁
计算机操作系统
第三章 进程管理
3.破坏“循环等待”条件 采用资源有序/顺序分配法: 把系统中所有资源编 号, 进程在申请资源时必须严格按资源编号的递增次 序进行,否则操作系统不予分配。打破环。 例如:1,2,3,…,10
计算机操作系统
第三章 进程管理
R1
A
B
此列子表明; 进程竞争资源有可能死锁。 但不一定就会死锁,这取决于各 进程的推进速度和对资源的请求 顺序。 死锁是一种与时间有关的错误。 进程竞争的资源应是互斥
R2
进程死锁例1的环路表示
3.4
计算机操作系统
第三章 进程管理
A r1
死锁的举例 例2:
进 程 A A r2 A r3 A r4 B r1 进 程 B B r2 B r3 B r4 请求 读卡 机请 求打 印机 释放 打卡 机 释放 读卡 机 读卡 机 请求 打印 机 请求 读卡 机 释放 打印 机 释放 读卡 机 打印 机
4、 Ar1 Br1 Ar2 Br2 Ar3 Ar4 Br3 Br4
3.6
计算机操作系统
第三章 进程管理
二、产生死锁的四个必要条件
1) 互斥条件(资源独占): 一个资源每次只能给一个进程使用 2) 不可剥夺条件(不可强占): 资源申请者不能强行的从资源占有者手中夺取资 源, 资源只能由占有者自愿释放 3) 请求和保持条件: (部分分配,占有申请) 在申请新的资源的同时保持对原有资源的占有。 4) 循环等待条件: 存在一个进程-等待资源环形链 {P1 , P2 , … , Pn}, 其中P1等待P2占有的资源, P2等待P3占有的资源, …, Pn等待P1占有的资源。
操作系统-实验三-进程管理-实验报告
计算机与信息工程学院实验报告一、实验内容1.练习在shell环境下编译执行程序(注意:①在vi编辑器中编写名为sample.c的c语言源程序②用linux自带的编译器gcc编译程序,例如:gcc –o test sample.c③编译后生成名为test.out的可执行文件;④最后执行分析结果;命令为:./test)注意:linux自带的编译程序gcc的语法是:gcc –o 目标程序名源程序名,例如:gcc –o sample1 sample1.c,然后利用命令:./sample 来执行。
如果仅用“gcc 源程序名”,将会把任何名字的源程序都编译成名为a.out的目标程序,这样新编译的程序会覆盖原来的程序,所以最好给每个源程序都起个新目标程序名。
2.进程的创建仿照例子自己编写一段程序,使用系统调用fork()创建两个子进程。
当此程序运行时,在系统中有一个父进程和两个子进程活动。
让每一个进程在屏幕上显示一个字符:父进程显示“a”,子进程分别显示字符“b”和“c”。
观察记录屏幕上的显示结果,并分析原因。
3.分析程序实验内容要在给出的例子程序基础上,根据要求进行修改,对执行结果进行分析。
二、实验步骤1. 利用fork()创建一个小程序(1)编写程序#include <sys/types.h>main (){int i=5;pid_t pid;pid=fork();for(;i>0;i--){if (pid < 0)printf("error in fork!");else if (pid == 0)printf("i am the child process, my process id is %d and i=%d\n",getpid(),i);elseprintf("i am the parent process, my process id is %d and i=%d\n",getpid(),i);}for(i=5;i>0;i--){if (pid < 0)printf("error in fork!");else if (pid == 0)printf("the child process, my process id is %d and i=%d\n",getpid(),i);elseprintf("the parent process, my process id is %d andi=%d\n",getpid(),i);}}(2)运行程序(3)分析程序在这里,主程序先运行,在屏幕上输出一个a,之后两个子程序分别运行而输出c和b。
操作系统中进程管理的原理
操作系统中进程管理的原理操作系统是计算机系统中最为重要的软件之一,其作用是管理计算机的硬件和软件资源,为用户提供一个良好的使用环境。
进程管理是操作系统中的一个重要功能,其原理涉及到多个方面,包括进程的创建、退出、调度、通信等,具有重要的学习价值和实际应用价值。
本文将从进程的定义、特征和组成等方面入手,介绍操作系统中进程管理的原理。
一、进程的定义、特征和组成进程是指正在运行中的程序的一个实例,它是计算机系统中最基本的执行单元。
进程具有以下几个特征:1. 动态性:进程是动态的实体,可以被创建、终止或挂起。
2. 独立性:每个进程都有自己的虚拟地址空间和资源管理机制,能够独立地执行各自的任务。
3. 并发性:多个进程可以在同一时间内执行,实现系统的并发处理。
4. 同步性:进程之间可以通过共享内存、消息传递等方式进行通信和协作,实现数据的交换和同步。
进程由程序代码、数据、堆栈和系统资源等组成。
程序代码是进程的核心,它被存放在内存中,由CPU执行。
数据是进程运行时使用的变量、数组和结构等,它们保存在进程的堆和栈中。
堆是指程序运行时使用的动态分配内存,栈是指程序调用函数时使用的内存空间。
系统资源包括CPU、内存、输入输出设备等。
二、进程的创建和退出进程的创建包括进程控制块(PCB)的分配和初始化、地址空间的分配和初始化、程序代码的装入、系统资源的分配等步骤。
进程的退出则是相反的过程,包括系统资源的回收、地址空间的释放、PCB的回收等。
操作系统中进程的创建和退出通常通过系统调用实现。
在Linux中,创建进程的系统调用是fork(),退出进程的系统调用是exit()。
在Windows中,创建进程的系统调用是CreateProcess(),退出进程的系统调用是ExitProcess()。
三、进程的调度进程的调度是指进程在CPU上的分配和切换。
操作系统中使用多种调度算法对进程进行调度,如先来先服务(FCFS)、短作业优先(SJF)、时间片轮转等。
第3章 计算机操作系统答案 进程管理
第三章进程管理一、选择题:1、下面过于程序的描述,正确的是()A. 程序执行的最终结果受到外界因素的影响,跟初始条件无关B. 程序执行的最终结果跟速度有关C. 程序是按前后次序相继地进行计算机操作序列集合,是一个静态的概念;D. 程序只能通过顺序执行2、程序的顺序执行有以下特点()A. 顺序性、封闭性、独立性B. 顺序性、封闭性、可再现性C. 顺序性、封闭性、随机性D. 顺序性、随机性、独立性3、程序A、B共享变量N,执行次A都要操作变量N,N=N+1,每执行次B都要print(N),N=0,初始值为N=0。
若执行顺序为先A后B,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 14、如上题13所述,执行先B后A,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 15、如上题所述,执行为A在B中间,起结果为.()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 1 16、下面关于进程描述完全的是()A. 进程是可以并发执行的计算部分;B. 进程是一个独立的调度活动.C. 进程是一个抽象实体.D. 进程是并发执行的过程中分配和管理资源的基本单位。
7、现代操作系统的特点()A. 程序的并发执行;B. 系统所拥有的资源被共享;C. 用户随机地使用系统资源;D. 以上三者都是。
8、进程和程序的区别是()A. 进程是一个动态的概念,而程序则是一个静态的概念;B. 进程具有并发性而程序没有;C. 进程是一个独立的调度活动.D. A和B都正确。
9、多道程序系统中的程序执行的特点为()A. 独立性、随机性、资源共享性;B. 顺序性、封闭性、可再现性;C. 顺序性、封闭性、随机性;D. 顺序性、随机性、独立性;10、描述信息所包括的下列描述不正确的是()。
A. 进程名B. 用户名C. 家族关系D. 用户资源11、现代oc的3个特点不包括()。
A. 程序并发执行B. 进程优先级C. 系统所拥有的资源共享D. 用户随即使用系统资源12、与进程优先级有关的PCB表项不包括()。
操作系统的五大功能为
操作系统的五大功能操作系统是计算机系统中至关重要的组成部分,它承担着许多关键的任务和功能。
下面我们将介绍操作系统的五大功能。
一、进程管理进程管理是操作系统最基本的功能之一。
进程是指计算机中运行的程序的实例,它代表着计算机系统中正在运行的任务。
操作系统负责创建、调度和终止进程,以及处理进程之间的通信和同步。
通过进程管理,操作系统能够合理地利用计算机系统的资源,确保多个进程能够有效地共享这些资源。
进程管理还包括处理进程间的并发和互斥问题。
并发是指多个进程同时执行的情况,互斥是指多个进程访问共享资源时的争用问题。
操作系统通过使用各种调度算法和同步机制来解决这些问题,确保进程能够按照既定的优先级顺序执行,并避免资源竞争导致的错误。
二、存储管理存储管理是操作系统的另一个重要功能。
计算机系统中的存储器是用来保存程序和数据的地方,操作系统负责管理这些存储器的分配和回收。
存储管理主要包括内存分配、地址映射和存储器保护等任务。
在多道程序环境下,多个进程需要共享有限的内存资源。
操作系统需要把内存划分为若干块,分配给不同的进程使用。
它还需要跟踪每个块的使用情况,以便在进程不再需要时及时回收。
此外,操作系统还需要将逻辑地址转换为物理地址,并保证每个进程只能访问自己被分配的内存空间,以确保系统的安全性和稳定性。
三、设备管理设备管理是操作系统与计算机硬件之间的接口。
计算机系统中的各种设备,如磁盘、打印机和网络接口卡等,都需要通过操作系统来进行管理和控制。
操作系统负责设备的分配、调度和错误处理,以便合理地利用各种设备资源。
设备管理涉及到中断处理、设备分配和设备驱动程序等问题。
当进程需要使用某个设备时,它会向操作系统发出请求。
操作系统会根据设备的可用性和优先级进行调度,将设备分配给请求的进程,并确保进程能够正确地使用设备。
当设备发生错误或者请求的数据准备好时,操作系统会通知相应的进程进行处理。
四、文件管理文件管理是操作系统的一项核心功能。
第三章进程管理
第三章进程管理第三章进程管理引言:在所有采用微内核结构的操作系统中,都涉及到了“进程”的概念。
“进程”犹如操作系统的灵魂伴随操作系统始终,对进程进行控制、调度、完成进程间通信,以及解决进程死锁问题等就构成了进程管理的主要内容。
进程还是操作系统中独立运行的基本单位,只有深刻理解了进程的概念,才能够更好地理解操作系统其他各部分的功能和工作流程。
§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过程中发生了错误等。
操作系统第二、三章 进程管理习题
第二、三章进程管理习题一、选择题1.从静态角度上看,进程是有A、B、C三部分组成,其中C是进程存在的唯一标志。
当几个进程共享A时,A应当是可重入代码。
A,B,C:(1)JCB;(2)PCB;(3)DCB;(4)FCB;(5)程序段;(6)数据段;(7)I/O缓冲区。
2.进程的三个基本状态是A、B、C。
由A到B是由进程调度所引起;由B到C是正在执行的进程发生了某事件,使之无法执行而暂停。
A,B,C:(1)挂起;(2)阻塞;(3)就绪;(4)执行。
3.产生死锁的四个必要条件是互斥条件、A、不剥夺条件和B。
A:(1)请求和阻塞条件;(2)请求和释放条件;(3)请求和保持(占有且等待)条件;(4)释放和阻塞条件;(5)释放和请求条件。
B:(1)线性增长条件;(2)环路条件;(3)无序释放条件;(4)有序释放条件;(5)无序请求条件。
4.A是一种只能由P和V操作所改变的整型变量,A可用于实现进程的B和C,B是排它性地访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型号量。
B,C:(1)同步;(2)通信;(3)调度;(4)互斥。
5.对于记录型信号量,在执行一次P操作时,信号量的值应当A;当其值为B时,进程应阻塞。
在执行V操作时,信号量的值应当C;当其值为D时,应唤醒阻塞队列中的进程。
A,C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
B,D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0。
6.我们如果为每一个作业只建立一个进程,则为了照顾短作业用户,应采用A,为照顾紧急作业的用户,应采用B,而能使短作业、长作业及交互作业用户都比较满意时,应采用C。
A,B,C:(1)FCFS调度算法;(2)短作业优先调度算法;(3)时间片轮转法;(4)多级反馈队列调度算法;(5)基于优先权的剥夺调度算法。
二、填空题1. 在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有性和性。
操作系统复习题---进程管理
操作系统复习题---进程管理一,选择题(选择最确切的一个答案,将其代码填入括号中)1、顺序程序和并发程序的执行相比,( ).A,基本相同B, 有点不同C,并发程序执行总体上执行时间快D, 顺序程序执行总体上执行时间快答案-2:C2、在单一处理机上,将执行时间有重叠的几个程序称为( ).A,顺序程序B, 多道程序C,并发程序D, 并行程序答案-3:D3、并发进程失去了封闭性是指( ).A,多个相对独立的进程以各自的速度向前推进B,并发进程的执行结果与速度无关C,并发进程执行时,在不同时刻发生的错误 D,并发进程共享变量,其执行结果与速度有关答案-4:D4、进程和程序的本质区别是( ).A,存储在内存和外存 B ,顺序和非顺序执行机器指令C,分时使用和独占使用计算机资源D,动态和静态特征5、进程控制块是描述进程状态和特性的数据结构,一个进程( ).A,可以有多个进程控制块B,可以和其他进程共用一个进程控制块C,可以没有进程控制块 D,只能有唯一的进程控制块答案:D6、在下列特性中,哪一个不是进程的特性( ).A,异步性B,并发性C,静态性D,动态性7、各进程向前推进的速度是不可预知的,体现出"走走停停"的特征,称为进程的( ).A,动态性B,并发性C,调度性D,异步性8、对于一个单CPU系统,允许若干进程同时执行,轮流占用CPU,称它们为( ).A,顺序执行B,同时执行C,并行执行D,并发执行答案:D9、在单处理机系统中,处于运行状态的进程( ).A,只有一个B, 可以有多个C,不能被挂起D, 必须在执行完后才能被撤下10、下列进程状态的转换中,不正确的是( ).A,就绪到运行B,运行到就绪C,就绪到阻塞D,阻塞到就绪11、已经获得除( )以外的所有运行所需资源的进程处于就绪状态.A,存储器B, 打印机C,CPU D, 磁盘空间12、一个进程被唤醒意味着( ).A,该进程重新占有了CPU B,进程状态变为就绪C,它的优先权变为最大D,其PCB移至就绪队列的队首13、两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥的资源是( ).A, 飞机票B,旅行社C,航空公司D,旅行社和航空公司14、与时间有关的错误是指( ).A,与进程执行的时间长短有关B,与CPU的速度有关C,与进程被打断的时间有关D,与超时有关答案:C15、某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态是( ).A, 从就绪变为运行B, 从运行变为就绪C, 从运行变为阻塞D, 从阻塞变为就绪16、某进程所要求的一次打印输出结束后,其进程状态将从( ).A,运行态到就绪态B,运行态到等待态C,等待态到就绪态D,就绪态到等待态答案:C(容易)17、原语是( ) .A,一条机器指令B, 若干条机器指令组成C,一条特定指令D, 中途能打断的指令答案:B(较难)18、操作系统中,可以并行工作的基本单位是( )[1],( )[1]也是系统核心调度及资源分配的基本单位,它是由( )[2]组成的,它与程序的主要区别是( )[3].供选择的答案:[1]: A,作业B,函数C,进程D,过程[2]: A,程序,数据和PCB B,程序,数据和标识符C,程序,标识符和PCB D,数据,标识符和PCB[3]:A,程序有状态,而它没有B,它有状态,而程序没有C,程序可占用资源,而它不可D,它可占用资源,而程序不可19、下列各项步骤中,哪一个不是创建进程所必须的步骤( ).A,建立一个进程控制块PCB B,由CPU调度程序为进程调度CPUC,为进程分配内存等必要的资源D,将PCB链入进程就绪队列20、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( ).A,S>0 B,S=0 C,S<0 D,S0进程就是可与其他程序共行执行的程序段的一次执行过程,它是系统进行资源分配和调度的一个基本单位.进程具有[1],[2],调度性,异步性和结构性5个基本特征.进程是一次执行过程,具有生命期体现了进程的[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,JCB进程执行时的间断性,决定了进程可能具有多种状态.进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1]进入[2]. 如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3],这个过程是由[4]来完成.供选择的答案:[1][2][3] A,就绪状态B,静止状态C,等待状态D,执行状态[4] A,进程控制程序B,资源分配程序C,进程调度程序D,处理机分配程序为了描述进程的动态变化过程,采用了一个与进程相联系的( )系统,根据它而感知进程的存在.A,进程状态字B, 进程优先数C,进程控制块D, 进程起始地址进程调度的关键问题是选择合理的( ),并恰当地进行代码转换.A,时间片间隔B,调度算法C,CPU速度D,内存空间采用时间片轮转法进行进程调度是为了( ).A,多个终端都能得到系统的及时响应B,先来先服务C,优先级较高的进程得到及时响应D,需要CPU最短的进程先做在一段时间内,只允许一个进程访问的资源称为( ).A,共享资源B,临界区C,临界资源D,共享区答案-1:C临界区是指( ).A,并发进程中用于实现进程互斥的程序段B,并发程序中用于实现进程同步的程序段C,并发程序中用于实现进程通信的程序段D,并发程序中与共享变量有关的程序段答案-6:D进程是( ).A,与程序等效的概念B, 并发环境中程序的执行过程C,一个系统软件D, 存放在内存中的程序答案:B进程具有并发性和( )两大重要属性.A,动态性B, 静态性C,易用性D, 封闭性操作系统在控制和管理进程过程中,涉及到( )这一重要数据结构,这是进程存在的唯一标志. A,FCB B,FIFO C,FDT D,PCB从下列有关进程管理的叙述中,选出五条正确叙述.A, 进程之间同步,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调; B, 临界资源是指每次仅允许一个进程访问的资源;C, 信号量机制是一种有效的实现进程同步与互斥的工具.信号量只能由P-V操作来改变; D, V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行;E, 消息通信,信箱通信都属于高级通信方式;F, 死锁是指因相互竞争资源使得系统中有多个阻塞进程的情况;G, 若系统中并发运行的进程和资源之间满足互斥使用,保持和等待,非剥夺性和循环等待,则可判定系统中发生了死锁;H, 在对付死锁的策略中,解除死锁通常都是和检测死锁配套使用;I, 产生死锁的原因可归结为竞争资源和进程推进顺序不当;J, 在死锁的解决方法中,由于避免死锁采用静态分配资源策略,所以对资源的利用率不高.并发性是指若干事件在( )发生.A,同一时刻B, 同一时间间隔内C,不同时刻D, 不同时间间隔内引入多道程序技术后,处理机的利用率( ).A,降低了B, 有所改善C,大大提高D, 没有变化,只是程序的执行方便了在单一处理机上执行程序,多道程序的执行是在( )进行的.A,同一时刻B, 同一时间间隔内C,某一固定时刻D, 某一固定时间间隔内如果某一进程获得除CPU外的所有所需运行资源,经调度,分配给它CPU,该进程将进入( ). A,就绪状态B,运行状态C,等待状态D,活动状态如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入( ).A,自由状态B,停止状态C,等待状态D,静止状态进程从运行状态变为等待状态的原因是( ).A,输入或输出事件发生B,时间片到C,输入或输出事件完成D,某个进程被唤醒在操作系统中同时存在多个进程,它们( ).A,不能共享系统资源B,不能调用同一段程序代码C,可以共享允许共享的系统资源D,可以共享所有的系统资源操作系统中有一组常称为特殊系统调用,它不能被系统中断,在操作系统中称为( ).A,初始化程序B,原语C,子程序D,控制模块下类各项步骤中,( )不是创建进程所必需的.A,建立一个进程控制块(PCB) B,由CPU调度程序为进程调度CPUC,为进程分配内存等必要的资源D,将PCB链入进程就绪队列答案:B(较难)进程间的基本关系为( ).A,相互独立与相互制约B,同步与互斥C,并行执行与资源共享D, 信息传递与信息缓冲进程间的同步与互斥,分别表示了各进程间的( ).A,相互独立与相互制约B,协调与竞争C,不同状态D, 动态性与独立性两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的( )关系.A,同步B,互斥C,竞争D,合作答案:APV操作是( ).A,两条低级进程通信原语B,两组不同的机器指令C,两条系统调用命令D,两条高级进程通信原语答案-4:A信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为( ).A,10 B,8 C,6 D,4利用PV操作可以( ).A,实现进程同步B,检测死锁C,解除死锁D,防止死锁答案-2:A系统出现死锁的原因是( ).A, 计算机系统发生了重大故障B, 有多个封锁的进程同时存在C, 若干进程因竞争资源而无休止地等待着,不释放已占有的资源D, 资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数两个进程争夺同一个资源( ).A,一定死锁B,不一定死锁C,不会死锁D,以上说法都不对解决死锁的途径是( ).A,立即关机排除故障B,立即关机再重新开机C,不要共享资源,增加独占资源D,设计预防死锁方法,运行检测并恢复进程P1使用资源情况:申请资源S1,申请资源S2,释放资源S1;进程P2使用资源情况:申请资源S2,申请资源S1,释放资源S2,系统并发执行进程P1,P2,系统将( ).A,必定产生死锁B, 可能产生死锁C,会产生死锁D, 无法确定是否会产生死锁在进程通信中,使用信箱方式交换信息的是( ).A,低级通信B,高级通信C,共享存储器通信D,管道通信答案:B(普通)关于进程,下列叙述不正确的是( ).A,进程包含了数据和运行其上的程序B,同一个程序运行在不同的数据集合上时,构成了不同的进程C,一个被创建了的进程,在它消亡之前,总是处于3种基本状态之一D,若干个进程在单CPU系统中必须依次执行,即一个进程完成后,另一个进程才能开始工作. 答案:D(难)多道程序环境下,操作系统分配资源以( )为基本单位.A,程序B,指令C,进程D,作业答案:C(较难)二,是非题(正确的划"√",错误的划"×")( ×)1,多用户操作系统离开了多终端硬件支持,则无法使用.( ×)2,具有多道功能的操作系统一定是多用户操作系统.( √)3,多用户操作系统在单一硬件终端硬件支持下仍然可以工作.( √)4,多用户操作系统一定是具有多道功能的操作系统.( √)5,进程的相对速度不能由自己来控制.( ×)6,进程的并发执行是指同一时刻有两个以上的程序,它们的指令在同一个处理器上执行.( ×)7,并发进程在访问共享资源时,不可能出现与时间有关的错误.( ×)8,并发是并行的不同表述,其原理相同.( √)9,临界资源是指每次仅允许一个进程访问的资源.( ×)10,进程的互斥和同步是进程通信的基本内容.( ×)11,进程的互斥和同步的相互制约一般不会同时发生.( ×)12,进程的互斥和同步总是因相互制约而同时引起.( √)13,作业同步面向用户而进程同步面向计算机内部资源管理控制.( ×)14,进程之间的同步,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调.( √)15,P操作和V操作都是原语操作.( ×)16,利用信号量的PV操作可以交换大量的信息.( √)17,信号量机制是一种有效的实现进程同步与互斥的工具.信号量只能由PV操作来改变.( ×)18,V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行..( ×)19,死锁是指因相互竞争资源使得系统中有多个阻塞进程的情况.( √)20,产生死锁的原因可归结为竞争资源和进程推进顺序不当.( √)21,死锁是指两个或多个进程都处于互等状态而无法继续工作.( ×)22,计算机的死锁俗称"死机".三,填空题进程的三个基本状态是, 和.程序的________执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了________这一概念.进程存在的标志是________.一个程序运行在不同的数据集上就构成了不同的,分别得到不同的结果.进程是一个的实体,它有自己的生命周期.它因而产生,因而运行,因而被阻塞(进入等待态),因而被撤消.进程在运行过程中不断,但在某一时刻,进程当且仅当处于3种基本状态之一.进程的静态实体由________,________和________三部分组成.用于进程控制的原语主要有________,________,________和________.进程被创建后,最初处于________状态,然后经________选中后进入________状态.进程在运行中申请资源得不到满足,则它从________态变成________态.处于等待态的进程,其外围设备工作结束,则它变成________态.进程从运行态变成就绪态,主要原因是________和________.有多个进程等待分配CPU时,系统按一定的________,从处于就绪态的进程中选择________个进程,让它占有CPU,并把它的状态变成________态.进程的特征主要有________,________,独立性,制约性和结构性.PCB的含义是________.操作系统依据________对进程控制和管理.进程创建工作主要完成的是创建进程控制块,并把它挂到________队列中.一个进程完成自己的任务后,操作系统则要收回该进程占有的________和撤消该进程的________.如果系统中有N个进程,则在就绪队列中进程的个数最多为________.操作系统中用于完成一些特定功能的,不可中断的过程称为________.用于控制进程的原语有创建原语,撤消原语,________和________.进程有两种基本队列:________和________.进程调度程序负责CPU的分配,它按照某种________,从________的进程中选择一个进程,将其________中的有关现场信息送入处理器相应的寄存器中,使它占有处理器运行.常用的进程调度算法有先来先服务, 和.先来先服务调度算法是按照进程进入就绪列队的________来选择其占用的CPU,在进程调度时总是把CPU分配给就绪列队的________进程.时间片是指允许进程一次性占用处理器的________.时间片轮转算法常用于________操作系统.我们把一个进程让出CPU,由另一个进程占用CPU的过程称为________.当一个进程独占处理器顺序执行时,具有________和________.并发进程执行时,执行结果与它执行的________有关;进程的并发执行会破坏________和________.我们把并发过程中与________有关的程序段称为临界区.对________的若干临界区必须互斥执行,而对________的临界区是不必互斥的.一次至多________个进程能够进入临界区,当有进程在临界区________时,其他想进入临界区的进程必须________.任一个进入临界区的进程必须在________时间内________临界区.每执行一次V操作,信号量的数值S加 1.若________,则该进程继续执行;否则,从对应的________队列中移出一个进程并将________状态赋予该进程.利用信号量实现进程的________,应为临界区设置一个信号量MUTEX,其初值为1,表示该资源尚未使用,临界区应置于________和________原语之间.操作系统中信号量的值与________的使用情况有关,它的值仅能由________来改变.________能够实现临界区的管理要求.PV操作由________和________组成,是对________进行操作.P操作信号的值________,若结果小于0,则该进程值为________状态.V操作将信号量的值________,若结果________,则释放一个等待信号量的进程.当并发进程存在竞争关系时必须________地使用资源;当并发进程存在协作关系时必须________.分别称为________和________.________是指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许________个进程去使用,其他要只用该资料的进程必须________,直到占用资源者________该资源.进程的同步是指并发进程之间的一种________关系,一个进程的执行依赖另一个进程的________,当一个进程没有得到它时应________,直到被________.进程的同步和互斥反映了进程间________和________的关系.用PV操作是实现________和________的有效工具,但若使用不当则不仅________而且会________.并发进程之间通过________交换的是少量的信息,这是一种________通信方式;而大量信息的传递要________来实现,这是一种________的通信方式,称为________.实际上,________是进程同步的一种特例.目前常用的高级通信方式有共享存储器,________,________等.形成死锁的起因是________和________.避免死锁的一个著名的算法是________.死锁产生的四个必要条件是________,________,________和________四种.检测死锁后可采用剥夺进程占有的资源,________和________等办法来解除死锁.在实际使用中,为了操作系统的安全和可靠,往往采用死锁的________,________和________的混合策略,这样既可保证整个系统不出现死锁,又可以尽可能地提高资源利用率.通常,线程的定义是____________________________________.在现代操作系统中,资源的分配单位是__________________,而处理机的调度单位是________________,一个进程可以有___________线程.利用优先级调度算法进行进程调度时,即从就绪队列中选择优先级高的进程,有两种不同的处理方式: 和.四,简答题什么是进程它与程序相比有哪些特征一个进程进入临界区的调度原则是什么在一个单CPU的多道程序设计系统中,若在某一时刻有N个进程同时存在,那么处于运行态,等待态和就绪态进程的最小和最大值分别可能是多少为什么并发进程执行时可能会产生与时间有关的错误,如何避免什么是PV操作,它有什么作用假设PV操作用信号量管理某个共享资源,请问当S>0,S=0和S<0时,它们的物理意义是什么什么是死锁死锁的四个必要条件是什么操作系统为什么要引入进程进程与程序的关系是怎样的答:现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程.这对于我们理解,描述和设计操作系统具有重要意义.进程定义为程序在并发环境中的执行过程,它与程序是完全不同的概念.主要区别是:(1)程序是静态概念,是永久性软件资源;而进程是动态概念,是动态生亡的暂存性资源.(2)进程是一个能独立运行的单位,能与其他进程并发执行,系统是以进程为单位分配CPU的;而程序则不能作为一个能独立运行单位.(3)程序和进程没有一一对应关系.一个程序在工作时可以由多个进程工作,一个进程在工作时至少对应有一个程序.(4)各个进程在并发执行时会产生制约关系,使各自推进的速度不可预测;而程序作为静态概念,不存在这种异步特征.进程和程序关系类似生活中的炒菜与菜谱.菜谱相同,而各人炒出来的菜的味道却差别很大.原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空,环境等因素一一用指令描述清楚.9,如何理解进程的顺序性与并发性答:进程的顺序性与并发性:1,顺序性顺序性包括两层含义:(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;(2)外部顺序性,对于多个进程来说,所有进程是依次执行的.例如,假如有P1和P2两个进程,其活动分别为:P1活动:A1 A2 A3 A4P2活动:B1 B2 B3 B4顺序执行时,有如下两种情形:情形1:A1 A2 A3 A4 B1 B2 B3 B4情形2:B1 B2 B3 B4 A1 A2 A3 A42,并发性并发性包括如下两层含义:(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;(2)外部并发性,对于多个进程来说,所有进程是交叉执行的.例如,对于上面P1和P2两个进程来说,并发执行有许多情形,如:情形1:A1 B1 B2 A2 A3 B3 A4 B4情形2:B1 B2 A1 A2 A3 B3 B4 A4并发进程在其执行过程中,出现哪种交叉情形是不可预知的,这就是并发进程的不确定性,操作系统应当保证:无论出现何种交叉情形,每个进程运行的结果都应当是唯一的,正确的. 10,什么是进程的同步与互斥答:进程的同步与互斥是指进程在推进时的相互制约关系.在多道程序系统中,由于进程合作与资源共享,这种进程间的制约称为可能.我们把前者称为进程同步,后者称为进程互斥.进程同步是进程间共同完成一项任务时直接发生相互作用的关系.为进程之间的直接制约关系.在多道环境下,这种进程间在执行次序上的协调是必不可少的.同步进程之间的关系如同接力赛跑中的运动员,或生产流水线的每一道工序.进程互斥是进程之间的间接制约关系.在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源.互斥进程之间的关系如同汽车在交叉路口争用车道,篮球比赛中双方争抢篮板球.11,什么叫原语答:在操作系统中,往往设计一些完成特定功能的,不可中断的过程,这些不可中断的过程称为原语.如P,V操作原语.12,什么是线程它与进程有什么关系答:线程是进程中执行运算的最小单位,即处理机调度的基本单位.它与进程的关系是:一个线程只能属于一个进程,而一个进程可以有多个线程;资源分配给进程,同一进程的所有线程共享该进程的所有资源;处理机分给线程,即真正在处理机上运行的是线程;线程在运行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步.特别注意的是:传统操作系统中的进程概念与现代操作系统中的进程概念不同――简单说,传统操作系统中进程具有分配资源,调度运行两大功能,而现代操作系统中进程只作为分配资源单位,线程才作为调度运行单位.13,试以生产者―消费者问题说明进程同步问题的实质.14,用PV操作实现进程间的同步与互斥应该注意什么答:用PV操作实现进程间的同步与互斥,应该注意以下四个方面:⑴对每一个共享资源都要设立信号量.互斥时对一个共享资源设立一个信号量;同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定;⑵互斥时信号量的初值一般为1;同步时至少有一个信号量的初值大于等于1;⑶PV操作一定要成对调用.互斥时在临界区前后对同一信号量作PV操作;同步时则对不同的信号量作PV操作,PV操作的位置一定要正确.⑷对互斥和同步混合问题,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内. 五,综合题1,某系统的进程状态转换图如下图所示,请回答:⑴引起各种状态转换的典型事件有哪些⑵当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一个进程作一次状态转换.在什么情况下,当一个进程发生转换3时,能立即引起另一进程发生转换1 试说明是否会发生这些因果转换:2→1;3→2;4→1.2,某分时系统的进程出现如下图所示的状态变化.试问: ⑴你认为该系统采用的是何种进程调度算法⑵把图中所示的每一个状态变化的原因填写在下表中.变化原因①②③④⑤⑥3,四个进程A,B,C,D都要读一个共享文件F,系统允许多个进程同时读文件F.但限制是进程A 和进程C不能同时读文件F,进程B和进程D也不能同时读文件F.为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:⑴如何定义信号量及初值;⑵在下列的程序中填上适当的P,V操作,以保证它们能正确并发工作:进程A 进程B 进程C 进程D…… … …[1] [3] [5] [7]read F read F read F read F。
考研操作系统分类模拟题进程管理(三)
考研操作系统分类模拟题进程管理(三)
一、选择题
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。
操作系统进程管理
14
七状态进程模型
活动
挂起 事件 发生
活动
挂起
挂起 调度
超时
事件 发生
等待 事件
释放
第三章 进程的描述与控制
15
【思考题】
1.如果系统中有N个进程,运行的进程最多 几个,最少几个;就绪进程最多几个最少 几个;等待进程最多几个,最少几个?
2. 有没有这样的状态转换,为什么? 等待—运行; 就绪—等待
在同一个进程内线程切换不会产生进程切换, 由一个进程内的线程切换到另一个进程内的 线程时,将会引起进程切换。
第三章 进程的描述与控制
48
2、并发性
在引入线程的系统中,进程之间可并发,同 一进程内的各线程之间也能并发执行。因而 系统具有更好的并发性。
第三章 进程的描述与控制
49
3、拥有资源
无论是传统OS,还是引入线程的OS,进程 都是拥有资源的独立单位,线程一般不拥有 系统资源,但它可以访问隶属进程的资源。 即一个进程的所有资源可供进程内的所有线 程共享。
第三章 进程的描述与控制
50
4、系统开销
进程的创建和撤消的开销要远大于线程创建 和撤消的开销,进程切换时,当前进程的 CPU环境要保存,新进程的CPU环境要设置, 线程切换时只须保存和设置少量寄存器,并 不涉及存储管理方面的操作,可见,进程切 换的开销远大于线程切换的开销。
第三章 进程的描述与控制
17
PCB的内容
进程描述信息:
进程标识符(process ID),唯一,通常是一个整数 进程名,通常基于可执行文件名(不唯一) 用户标识符(user ID);进程组关系
进程控制信息:
当前状态 优先级(priority) 代码执行入口地址 程序的外存地址 运行统计信息(执行时间、页面调度) 进程间同步和通信;阻塞原因
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Process N
1、操作系统的控制结构
• 操作系统核心控制结构是进程结构,资源管理的 数据结构将围绕进程结构展开。
Memory Tables
Process Image
Memory Devices
Files Processes File Tables
Primary Process Table
I/O Tables
• 用户级上下文:进程的用户地址空间(包括用户栈各层 次),包括用户正文段、用户数据段和用户栈 • 寄存器级上下文:程序寄存器、处理机状态寄存器、栈 指针、通用寄存器的值 • 系统级上下文: – 静态部分(PCB和资源表格) – 动态部分:核心栈(核心过程的栈结构,不同进程在 调用相同核心过程时有不同核心栈)
• 资源占用信息:虚拟地址空间的现状、打开文件列表 • CPU现场保护结构:寄存器值(通用、程序计数器 PC、状态PSW,地址包括栈指针)
PCB的组织方式
• 链表:同一状态的进程其PCB成一链表,多个状态 对应多个不同的链表
– 各状态的进程形成不同的链表:就绪链表、阻塞链表
• 索引表:同一状态的进程归入一个index表(由index 指向PCB),多个状态对应多个不同的index表
Process Image
Memory Devices
Files Processes File Tables
Primary Process Table
ቤተ መጻሕፍቲ ባይዱ
I/O Tables
Process 1 Image
进程控制表管理进程 及其相关信息
……
Process 1 Process 2
……
Process N Image
进程控制块的内容
• 进程描述信息:
– 进程标识符(process ID),唯一,通常是一个整数; – 进程名,通常基于可执行文件名(不唯一); – 用户标识符(user ID);进程组关系(process group)
• 进程控制信息:
– – – – – – 当前状态; 优先级(priority); 代码执行入口地址; 程序的外存地址; 运行统计信息(执行时间、页面调度); 进程间同步和通信;阻塞原因
进程的状态及其变化
等待状态(Blocked,阻塞状态) 进程因等待某一事件(如等待 某一输入,输出操作完成)而暂时 不能运行的状态称为等待状态,此 时即使CPU空闲,它也无法使用。
进程的状态及其转换
运行
• 就绪 --> 运行 – 调度程序选择一个新的进程运行 • 运行 --> 就绪 – 运行进程用完了时间片 – 运行进程被中断,因为一高优先级 进程处于就绪状态 • 运行 --> 等待 – 当一进程必须等待时 – OS尚未完成服务 – 对一资源的访问尚不能进行 – 初始化I/O且必须等待结果 – 等待某一进程提供输入 (IPC) • 等待 --> 就绪 – 当所等待的事件发生时
4. 处理机调度器(dispatcher)
处理机调度器是操作系统中的一段代码, 它完成如下功能:
• 把处理机从一个进程切换到另 一个进程; • 防止某进程独占处理机;
5. 作业与进程的关系
作业是用户向计算机提交任务的任务实体。用 户提交作业后,系统将把它放在外存的作业等待 队列中等待执行。 进程是计算机为了完成用户任务实体而置的执 行实体,是向系统申请分配资源的基本单位。 一个作业总是由多个进程组成,并且至少由一个 进程组成,但反过来不成立。 作业的概念主要用于批处理中。
• 顺序执行的特征
– 顺序性:按照程序结构所指定的次序(可能有分支或循环) – 封闭性:独占全部资源,计算机的状态只由于该程序的控 制逻辑所决定 – 可再现性:初始条件相同则结果相同。如:可通过空指令 控制时间关系。
• 并发执行的特征(独立性、随机性、资源共享)
– 间断(异步)性:"走走停停",一个程序可能走到中途停下 来,失去原有的时序关系; – 失去封闭性:共享资源,受其他程序的控制逻辑的影响。 如:一个程序写到存储器中的数据可能被另一个程序修改, 失去原有的不变特征。 – 失去可再现性:失去封闭性 ->失去可再现性;外界环境 在程序的两次执行期间发生变化,失去原有的可重复特征。
进程空间
任一进程,都有一个自己的地址空间,把该空间 成为进程空间或虚空间.进程空间的大小只与 处理机位数有关。程序的执行都在进程空间 内进行。用户程序、进程的各种控制表格等 都按一定的结构排列在进程空间中。 UNIX,Linux等系统中,进程空间被划分成用户 空间和系统空间。 计算机系统还通过程序状态寄存器等设置不同 的执行模式,即用户模式和系统模式来进行 保护。
第三章 进程管理和处理机管理 (进程管理)
为了描述程序在并发执行时对系统资源的共享,我们需要一个 描述程序执行时动态特征的概念,这就是进程。在本章中,我 们将讨论进程概念、进程控制和进程间关系。 3.1 进程(PROCESS) 3.2进程的描述
3.3进程的状态及转换 3.4 进程控制 3.5 进程互斥 3.6进程同步 3.7 进程间通信 3.8 死锁问题 3.9 线程的基本概念 3.10 Linux 2.4的进程管理
– R(i)W(j)=; – W(i)R(j)=; – W(i)W(j)=;
前两条保证一个程序的两次读之间数据不变化;最后一条 保证写的结果不丢掉。 现在的问题是这个条件不好检查。
3.1.2 进程的定义
1. 进程的定义
一个具有一定独立功能的程序在一个数据集合 上的一次动态执行过程。
• 它对应虚拟处理机、虚拟存储器和虚拟外设等 资源的分配和回收; • 引入多进程,提高了对硬件资源的利用率,但 又带来额外的空间和时间开销,增加了OS 的 复杂性;
2. 进程的特征
• 动态性:进程具有动态的地址空间(数量和内容), 地址空间上包括:
– 代码(指令执行和CPU状态的改变) – 数据(变量的生成和赋值) – 系统控制信息(进程控制块的生成和删除)
• 独立性:各进程的地址空间相互独立,除非采用进 程间通信手段; • 并发性、异步性:"虚拟" • 结构化:代码段、数据段和核心段(在地址空间 中);程序文件中通常也划分了代码段和数据段, 而核心段通常就是OS核心(由各个进程共享,包括 各进程的PCB)
Process 1 Process 2
……
Process N
Process 1 存储控制表管理一级 Image (主)存储器和二级 (虚拟)存储器,内 容包括:主存储器的 …… 分配信息,二级存储 器的分配信息,存储 Process N 保护和分区共享信息, Image 虚拟存储器管理信息
1、操作系统的控制结构
– 各状态的进行形成不同的索引表:就绪索引表、阻塞索 引表
Index Table PCB Table Ready Blocked Blocked Ready PCB Table
3.3进程的状态及其变化
进程在运行过程中有3种基本状态。这 些状态与系统调度占有处理机密切相关。所 以又称它们为进程调度状态。 运行状态(Running) 当一个进程已分配到处理机,他的程序 正由处理机执行时,称此进程处于执行状态。 就绪状态(Ready) 如果进程已具备执行条件,但是因为处 理机已由其他进程占用,暂时不能执行而等 待分配处理机,称此为就绪状态。
3. 进程与程序的区别
• 进程是动态的,有并行特征;程序是静态的,无 并行特征:程序是有序代码的集合;进程是程序 的执行。通常进程不可在计算机之间迁移;而程 序通常对应着文件、静态和可以复制。 • 进程是暂时的,程序的永久的:进程是一个状态 变化的过程,程序可长久保存。 • 进程与程序的组成不同:进程的组成包括程序、 数据和进程控制块(即进程状态信息)。 • 进程与程序的对应关系:通过多次执行,一个程 序可对应多个进程;通过调用关系,一个进程可 包括多个程序。
并发执行的条件:达到封闭性和可再现性
并发执行失去封闭性的原因是共享资源的影响,去掉这种影响 就行了。1966年,由Bernstein给出并发执行的条件。(这里没 有考虑执行速度的影响。)
• 程序 P(i) 针对共享变量的读集和写集 R(i)和W(i) • 条件:任意两个程序P(i)和P(j),有:
Process N
2、进程映象 (进程要素)
• 进程程序 • 进程数据 •栈
–用于系统调用、过程调用时的参数存储和传递
• 进程控制块PCB (进程属性)
– 处于核心段 – 用户进程不能直接访问、修改自己的PCB
进程映象 (进程要素)
进程上下文:进程本身+运行环境 对进程执行活动全过程的静态描述 由进程的用户地址空间内容、硬件寄存器内容及 与该进程相关的核心数据结构组成
等待
就绪
在进程运行过程中,由 于进程自身进展情况及 外界环境的变化,这三 种基本状态可以依据一 定的条件相互转换
三种进程状态->五状态进程模型
增加: 创建状态,终止状态
• 终止(退出exit)状态 创建(新new)状态 –中止后进程移入该状态 –OS 已完成为创建一进程所必要的工作 –它不再有执行资格 • 已构造了进程标识符 –表格和其它信息暂时由辅助程序保留 • 已创建了管理进程所需的表格 –一旦其他进程完成了对终止态进程的信息 –但还没有允许执行该进程 (尚未同意) 抽取之后,系统将删除该进程。 • 因为资源有限
……
Process 1 I/O控制表管理系统的 Image I/O设备和通道,包括: I/O设备和通道是否可 用,I/O设备和通道分 …… 配信息,I/O操作的状 态和进展,I/O操作传 Process N 输数据所在主存区。 Image
Process N
1、操作系统的控制结构
• 操作系统核心控制结构是进程结构,资源管理的 数据结构将围绕进程结构展开。