文档库 最新最全的文档下载
当前位置:文档库 › 进程的运行状态

进程的运行状态

进程的运行状态
进程的运行状态

进程在运行过程中主要是在就绪、运行和阻塞三种状态间进行转换。创建状态和退出状态描述进程创建的过程和进程退出的过程。

1)运行状态(Running):进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。

2)就绪状态(Ready):进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排人低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。

3)阻塞状态(Blocked):当进程由于等待I/O操作或进程同步等条件而暂停运行时,它处于阻塞状态。

4)创建状态(New):进程正在创建过程中,还不能运行。操作系统在创建状态要进行的工作包括分配和建立进程控制块表项、建立资源表格(如打开文件表)并分配资源、加载程序并建立地址空间表等。

5)退出状态(Exit):进程已结束运行,回收除进程控制块之外的其他资源,并让其他进程从进程控制块中收集有关信息(如记帐和将退出代码传递给父进程)。

五状态进程模型中的状态转换主要包括下列几种。操作系统中多个进程的并发执行是通过调度与超时两种转换间的循环,或调度、等待事件和事件出现三种转换间的循环来描述的。

1)创建新进程:创建一个新进程,以运行一个程序。创建新进程的可能原因包括用户登录、操作系统创建以提供某项服务、批处理作业等。

2)收容(Admit,也称为提交):收容一个新进程,进入就绪状态。由于性能、内存等原因,系统会限制并发进程总数。

3)调度运行(Dispatch):从就绪进程表中选择一个进程,进入运行状态。

4)释放(Release):由于进程完成或失败而终止进程运行,进入结束状态。

为了简洁,状态变迁图中只画出了运行状态到退出状态间的释放转换;但实际上,还存在从就绪状态或阻塞状态到退出状态的释放转换。运行到结束的转换可分为正常退出(Exit)和异常退出(abort);其中异常退出是指进程执行超时、内存不够、非法指令或地址访问、I/0操作失败、被其他进程所终止等原因而退出。从就绪状态或阻塞状态到结束状态的释放转换可能是由于多种原因引发,如父进程可在任何时间终止子进程。

5)超时(Timeout):由于用完时间片或高优先级进程就绪等原因导致进程暂停运行

6)事件等待(Event Wait):进程要求的事件未出现而进入阻塞;可能的原因包括申请系统服务或资源、通信、I/O操作等。

7)事件出现(EventOccurs):进程等待的事件出现;如操作完成、申请成功等。

实验2 进程状态转换及其PCB的变化

实验2进程状态转换及其PCB的变化 1.目的 自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容、组织的变化,理解进程与其PCB间的一一对应关系。 2. 内容及要求 1)设计并实现一个模拟进程状态转换及其相应PCB内容、组织结构变化的程序。 2)独立编写、调试程序。进程的数目、进程的状态模型(三状态、五状态、七状态或其它)以及PCB的组织形式可自行选择。 3)合理设计与进程PCB相对应的数据结构。PCB的内容要涵盖进程的基本信息、控制信息、资源需求及现场信息。 4)设计出可视性较好的界面,应能反映出进程状态的变化引起的对应PCB 内容、组织结构的变化。 5)代码书写要规范,要适当地加入注释。 6)鼓励在实验中加入新的观点或想法,并加以实现。 7)认真进行预习,完成预习报告。 8)实验完成后,要认真总结,完成实验报告。 3.程序流程图 进程的三种基本状态及其转换如下图所示。

开始 输入要执行的指令 1?N 2?N 3?N 4? N 5?N 0?Y Y 结束 N 提示输入错误 就绪队列已 满? N 创建进程 Y 提示就绪队列 已满Y 有进程处于运行状态? Y 该进程执行一个时间片 后放回就绪队列 N 将就绪队列中优先级最高的进程放入运行队列 有进程处于运行状态? Y 该进程所需执行时间减1,并回到就绪队列 Cputime++ Y 有进程处于运行状态? Y 将该进程放入阻塞 队列 N 提示无运行的进程 输入事件发生的进程名称 阻塞队列中有该 进程? Y 将该进程放入就绪队列 N 提示该进程并 未阻塞 4.数据结构及说明 在本实验中,主要的数据结构是PCB 的数据结构,具体如下: struct process{

操作系统模拟题

计算机操作系统模拟试题一 一、选择题(选择最确切的一个答案,将其代码填入括号中,每空2分,共20分) 1.把逻辑地址转变为内存的物理地址的过程称做( )。 A. 编译 B.连接 C. 运行 D. 重定位 2.进程和程序的一个本质区别是( )。 A. 前者分时使用CPU,后者独占CPU B.前者存储在内存,后者存储在外存 C. 前者在一个文件中,后者在多个文件中 D.前者为动态的,后者为静态的 3.可重定位内存分区分配目的为( )。 A. 解决碎片问题 B.便于多作业共享内存 C.回收空白区方便 D.摆脱用户干预 4.索引式(随机)文件组织的一个主要优点是( )。 A. 不需要链接指针 B.能实现物理块的动态分配 C. 回收实现比较简单 D.用户存取方便 5.作业I/O方式有如下三种:( )、脱机和( )。 A. 询问 B.联机 C.中断 D.通道 E.假脱机 6.两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥的资源是( )。 A. 飞机票 B.旅行社 C.航空公司 D.旅行社和航空公司 7.一个文件系统的逻辑分区( )。 A. 不能管理大于物理硬盘容量 B.能管理2个相同的物理硬盘 C.能管理2个不相同的物理硬盘 D.能管理多个不相同的物理硬盘 8.操作系统程序结构的主要特点是( )。 A. 一个程序模块 B.分层结构 C. 层次模块化 D.子程序结构 9.面向用户的组织机构属于( )。 A. 虚拟结构 B.实际结构 C.逻辑结构 D.物理结构 二、是非题(正确的划“√”,错误的划“×”,20分) ( )1.进程的互斥和同步是进程通信的基本内容。 ( )2.操作系统“生成”是指能产生最适合用户自己工作环境的操作系统内核。( )3.多用户操作系统离开了多终端硬件支持,则无法使用。 ( )4.实时操作系统的响应系数最大,设备利用率最高。 ( )5.UNIX的最大特点是分时、多用户、多任务和倒树型文件结构。 ( )6.引导操作系统进入内存的程序一般放在计算机的固件中。 ( )7.死锁是指两个或多个进程都处于互等状态而无法继续工作。 ( )8.具有多道功能的操作系统一定是多用户操作系统。 ( )9.一般的分时操作系统无法做实时控制用。 ( )10.一个物理硬盘可以分成多个逻辑硬盘分区进行面向用户文件系统的管理。 三、填空题(40分) 1.在一般操作系统中,设备管理的主要功能包括、 、和 。 2.常用的进程调度算法有、和 。 3. 从用户观点看,UNIX统将文件分三类:、和

操作系统实验报告+进程状态转换

实验进程状态转换及其PCB的变化 一、程序流程图: 二、使用的数据结构及说明: 在本实验中,主要用到的数据结构是PCB的结构,其中PCB的数据结构如下: struct PCB { int P_Id; //PCB的ID号 char P_Name[10]; //PCB的名称 char P_State[10]; //PCB状态 int P_Runtime; //PCB的所需要的运行时间 int P_Requiry; //PCB所需要的资源要求 struct PCB * next ; //PCB块的下一个指针 } ; 其中,P_Id,和P_Name用来标示一个进程,而P_State用来标示进程的五种状态:

Create_state,Ready_state,Block_state,Run_state,Exit_state。P_Runtime标示要完成一个进程所需要的时间。P_Requiry标示一个进程的执行所需要的其他条件,当其他的条件满足,则P_Requiry 置1,否则置0。Struct PCB * next 用来指向同一队列中的下一个PCB块。 三、程序源代码: #include"stdlib.h" #include"stdio.h" #include"string.h" /********** globle structure and viable ******/ struct PCB { int P_Id; //PCB的ID号 char P_Name[10]; //PCB的名称 char P_State[10]; //PCB状态 int P_Runtime; //PCB的所需要的运行时间 int P_Requiry; //PCB所需要的资源要求 struct PCB * next ; //PCB块的下一个指针 } ; struct PCB * Create_state; //创建状态 struct PCB * Run_state; //运行状态 struct PCB * Ready_state; //就绪状态 struct PCB * Block_state; //阻塞状态 struct PCB * Exit_state; //退出状态 int signal4=0; //标示进程4的完成状态 int signal5=0; //标示进程5的完成状态 void InsertQueue(struct PCB **head,struct PCB *node) /* insert node function */ { struct PCB * p,*q; node->next=NULL; if(*head==NULL) //如果队列为空 { *head=node; } Else //队列不空 { p=*head; q=p->next; while(q!=NULL) //找到最后的元素位置 { p=q; q=q->next; } p->next=node; //将节点插入队列 }

操作系统第二章进程和线程复习题

第二章练习题 一、单项选择题 1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。 A. 从就绪变为运行; B.从运行变为就绪; C.从运行变为阻塞; D.从阻塞变为就绪 2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。 A.可以有多个进程控制块; B.可以和其他进程共用一个进程控制块; C.可以没有进程控制块; D.只能有惟一的进程控制块。 3.临界区是指并发进程中访问共享变量的(D)段。 A、管理信息 B、信息存储 C、数 据 D、程序 4. 当__ B__时,进程从执行状态转变为就绪状态。 A. 进程被调度程序选中 B. 时间片到 C. 等待某一事件 D. 等待的事件发生 5. 信箱通信是一种( B )通信方式。 A. 直接通信 B. 高级通信 C. 低级通信 D. 信号量 6. 原语是(B)。

A、一条机器指令 B、若干条机器指令组成 C、一条特定指令 D、中途能打断的指令 7. 进程和程序的一个本质区别是(A)。 A.前者为动态的,后者为静态的; B.前者存储在内存,后者存储在外存; C.前者在一个文件中,后者在多个文件中; D.前者分时使用CPU,后者独占CPU。 8. 任何两个并发进程之间存在着(D)的关系。 A.各自完全独立B.拥有共享变量 C.必须互斥D.可能相互制约 9. 进程从运行态变为等待态可能由于(B )。 A.执行了V操作 B.执行了P操作 C.时间片用完 D.有高优先级进程就绪 10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。 A.任意整数 B.1 C.0 D.-1 11. 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。 A.≤0 B.1 C.n-1 D.n

实验一 进程状态转换

实验一进程的状态及其转换 一、实验目的: 自行编制模拟程序,通过形象化的状态显示,加深理解进程的概念、进程之间的状态转换及其所带来的PCB内容、组织的变化,理解进程与其PCB间的一一对应关系。 二、实验内容及要求: 1)设计并实现一个模拟进程状态转换及其相应PCB内容、组织结构变化的程序。 2)独立编写、调试程序。进程的数目、进程的状态模型(三状态、五状态、七状 态或其它)以及PCB的组织形式可自行选择。 3)合理设计与进程PCB相对应的数据结构。PCB的内容要涵盖进程的基本信息、控 制信息、资源需求及现场信息。 4)设计出可视性较好的界面,应能反映出进程状态的变化引起的对应PCB内容、 组织结构的变化。 三、程序流程图:

四、使用的数据结构及说明: 在本实验中,主要用到的数据结构是PCB的结构,其中PCB的数据结构如下: struct PCB { int P_Id; //PCB的ID号 char P_Name[10]; //PCB的名称 char P_State[10]; //PCB状态 int P_Runtime; //PCB的所需要的运行时间 int P_Requiry; //PCB所需要的资源要求 struct PCB * next ; //PCB块的下一个指针 } ; 其中,P_Id,和P_Name用来标示一个进程,而P_State用来标示进程的五种状态:Create_state,Ready_state,Block_state,Run_state,Exit_state。P_Runtime标示要完成一个进程所需要的时间。P_Requiry标示一个进程的执行所需要的其他条件,当其他的条件满足,则P_Requiry置1,否则置0。Struct PCB * next 用来指向同一队列中的下一个PCB 块。 五、参考程序源代码: #include"stdlib.h" #include"stdio.h" #include"string.h" #include /*全局结构体及变量定义*/ struct PCB { int P_Id; //PCB的ID号 char P_Name[10]; //PCB的名称 char P_State[10]; //PCB状态 int P_Runtime; //PCB的所需要的运行时间 int P_Requiry; //PCB所需要的资源要求 struct PCB * next ; //PCB块的下一个指针 } ; struct PCB * Create_state; //创建状态 struct PCB * Run_state; //运行状态 struct PCB * Ready_state; //就绪状态 struct PCB * Block_state; //阻塞状态 struct PCB * Exit_state; //退出状态 int signal4=0; //标示进程4的完成状态 int signal5=0; //标示进程5的完成状态 void InsertQueue(struct PCB **head,struct PCB *node) //将进程插入到队列的尾部

第2章 进程管理练习答案演示教学

第2章进程管理 练习答案

第二章进程管理 一、单项选择题 1、在单一处理机上执行程序,多道程序的执行是在(B)进行的。 A.同一时刻 B. 同一时间间隔内 C.某一固定时刻 D. 某一固定时间间隔内 2、引入多道程序技术后,处理机的利用率( C)。 A.降低了 B. 有所改善 C.大大提高 D. 没有变化,只是程序的执行方便了 3、顺序程序和并发程序的执行相比,( C)。 A.基本相同 C.并发程序执行总体上执行时间快 B. 有点不同 D.顺序程序执行总体上执行时间快 4、单一处理机上,将执行时间有重叠的几个程序称为(C )。 A.顺序程序 B. 多道程序 C.并发程序 D. 并行程序 5、进程和程序的本质区别是(D )。 A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征 6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。进程具有[1A]、[2D]、调度性、异步性和结构性等基本特征。进程是一次执行过程,具有生命期体现了进程的[1]特征。进程由程序段、[3B]、[4C]组成,其中[4]是进程在系统中存在的唯一标识。 供选择的答案: [1][2] :A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性 [3] :A、过程 B、数据 C、进程标识符 D、函数

[4] :A、FCB B、FIFO C、PCB D、JCB 7、进程执行时的间断性,决定了进程可能具有多种状态。进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1D]进入[2A]。如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3D],这个过程是由[4C]来完成。供选择的答案:[1][2][3] :A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态 [4] :A、进程控制程序B、资源分配程序C、进程调度程序 D、处理机分配程序 8、为描述进程的动态变化过程,采用了一个与进程相联系的(C ),根据它而感知进程的存在。 A.进程状态字 B. 进程优先数 C.进程控制块 D. 进程起始地址 9、下列进程状态的转换中,哪一个是不正确的( C)。 A. 就绪->运行 B. 运行->就绪 C. 就绪->阻塞 D. 阻塞->就绪 10、下列各项步骤中,哪一个不是创建进程所必须的步骤( B)。 A. 建立一个进程控制块PCB B. 由CPU调度程序为进程调度CPU C. 为进程分配内存等必要的资源 D. 将PCB链入进程就绪队列 11、在下列特性中,哪一个不是进程的特性( C)。 A. 异步性 B. 并发性 C. 静态性 D. 动态性 12、在单处理机系统中,处于运行状态的进程(A )。 A.只有一个 B. 可以有多个 C.不能被挂起 D. 必须在执行完后才能被撤下 13、如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入( C) A.自由状态 B. 停止状态 C.阻塞状态 D. 静止状态

操作系统实验一模拟进程状态转换

实验一模拟进程状态转换及其PCB的变化 一、实验目的: 自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容、组织的变化,理解进程与其PCB间的一一对应关系。 二、实验内容及要求: (1)、设计并实现一个模拟进程状态转换及其相应PCB内容、组织结构变化的程序。 (2)、独立编写、调试程序。进程的数目、进程的状态模型(三状态、五状态、七状态或其它)以及PCB的组织形式可自行选择。(3)、合理设计与进程PCB相对应的数据结构。PCB的内容要涵盖进程的基本信息、控制信息、资源需求及现场信息。 (4)、设计出可视性较好的界面,应能反映出进程状态的变化引起的对应PCB内容、组织结构的变化。 (5)、代码书写要规范,要适当地加入注释。 (6)、鼓励在实验中加入新的观点或想法,并加以实现。 (7)、认真进行预习,完成预习报告。 (8)、实验完成后,要认真总结,完成实验报告。 三、实现: 数据结构 struct PCB{

char name; int priority; int needtime; bool operator < (const PCB &b) const{ return priority>b.priority; } }; 五状态进程模型 最高优先数优先调度算法流程图

四、运行结果:

图1创建2个进程,因为这时cpu空闲所以内核调度,b优先级高先执行 图2超时,因为这时cpu空闲所以内核调度,b优先级还是比a高所以先执行

图32个进程均被阻塞,其中一旦进程被阻塞就会引发调度 图4唤醒1个进程,从阻塞队列取队首放到就绪队列队尾,由于这时cpu空闲所以内核调 度

第三章 进程 习题

操作系统复习题---进程管理 一,选择题(选择最确切的一个答案,将其代码填入括号中) 1、顺序程序和并发程序的执行相比,( ). A,基本相同B, 有点不同C,并发程序执行总体上执行时间快D, 顺序程序执行总体上执行时间快 答案-2:C 2、在单一处理机上,将执行时间有重叠的几个程序称为( ). A,顺序程序B, 多道程序C,并发程序D, 并行程序 答案-3:D 3、并发进程失去了封闭性是指( ). A,多个相对独立的进程以各自的速度向前推进B,并发进程的执行结果与速度无关 C,并发进程执行时,在不同时刻发生的错误D,并发进程共享变量,其执行结果与速度有关 答案-4:D 4、进程和程序的本质区别是( ). A,存储在内存和外存 B ,顺序和非顺序执行机器指令 C,分时使用和独占使用计算机资源D,动态和静态特征 5、进程控制块是描述进程状态和特性的数据结构,一个进程( ). A,可以有多个进程控制块B,可以和其他进程共用一个进程控制块 C,可以没有进程控制块D,只能有唯一的进程控制块 答案:D 6、在下列特性中,哪一个不是进程的特性( ). A,异步性B,并发性C,静态性D,动态性 7、各进程向前推进的速度是不可预知的,体现出"走走停停"的特征,称为进程的( ). A,动态性B,并发性C,调度性D,异步性 8、对于一个单CPU系统,允许若干进程同时执行,轮流占用CPU,称它们为( ). A,顺序执行B,同时执行C,并行执行D,并发执行 答案:D(容易) 9、在单处理机系统中,处于运行状态的进程( ). 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,与超时有关 答案:C 15、某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态是( ). A, 从就绪变为运行B, 从运行变为就绪C, 从运行变为阻塞D, 从阻塞变为就绪16、某进程所要求的一次打印输出结束后,其进程状态将从( ).

操作系统实验一模拟进程状态转换

实验一模拟进程状态转换及其PCB的变化一、实验目的: 自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容、组织的变化,理解进程与其PCB间的一一对应关系。 二、实验内容及要求: (1)、设计并实现一个模拟进程状态转换及其相应PCB内容、组织结构变化的程序。 (2)、独立编写、调试程序。进程的数目、进程的状态模型(三状态、五状态、七状态或其它)以及PCB的组织形式可自行选择。(3)、合理设计与进程PCB相对应的数据结构。PCB的内容要涵盖进程的基本信息、控制信息、资源需求及现场信息。 (4)、设计出可视性较好的界面,应能反映出进程状态的变化引起的对应PCB内容、组织结构的变化。 (5)、代码书写要规范,要适当地加入注释。 (6)、鼓励在实验中加入新的观点或想法,并加以实现。 (7)、认真进行预习,完成预习报告。 (8)、实验完成后,要认真总结,完成实验报告。 三、实现: 数据结构 struct PCB{

char name; int priority; int needtime; bool operator < (const PCB &b) const{ return priority>; } }; 五状态进程模型 最高优先数优先调度算法流程图

四、运行结果:

图1 创建2个进程,因为这时cpu空闲所以内核调度,b优先级高先执行 图2 超时,因为这时cpu空闲所以内核调度,b优先级还是比a高所以先执行

图3 2个进程均被阻塞,其中一旦进程被阻塞就会引发调度 图4 唤醒1个进程,从阻塞队列取队首放到就绪队列队尾,由于这时cpu空闲所以内核调 度 五、源代码: #include #include

进程作业(附答案)

第二章进程管理 程序在顺序执行(①顺序性:每个操作必须在下一个操作开始之前结束。 ②封闭性:程序一旦开始运行,独占全部资源,其执行结果不受外界因素影响。 ③可再现性:当程序重复执行时,只要程序执行的环境和初始条件相同,必将获得相同的结果。)时和并发执行(并发、资源共享、制约关系和动态等特征)时,分别具有哪些特征什么叫进程(进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。)为什么要引入进程的概念 1.进程的基本特征是什么(动态、共行、独立)?请叙述进程与程序的关系和差别 2.进程有哪几种基本状态请画出各状态之间的状态变化图并说明状态转换的典型原因 3.什么是PCB包含哪些主要内容其作用是什么(是使一个在多道程序环境下不能独立运行的程 序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。)(为什么说PCB是进程存在的唯一标志) 4.下列哪些情况是对的: ⑴进程由自己创建⑷进程由于自己解除挂起 ⑵进程由于自己阻塞⑸进程由于自己唤醒 ⑶进程由于自己挂起⑹进程由自己撤消 5.请解释忙等待与阻塞的区别。 6.用进程状态变迁图,我们可以说明有关处理机管理的大量内容, ⑴什么“事件”引起每次显着的状态变迁 ⑵当人们观察系统中所有进程时,我们能够看到由某一进 下,进程变迁3能立即引起一进程的变迁1发生 ⑶在什么情况下,如果有的话,将发生下述因果变迁: 21; 32; 41 ⑷在什么情况下,如果有的话,下述变迁不会立即引起其 它变迁发生 a) 1; b) 2; c) 3; d) 4 7.操作系统的内核是什么 8.原语与非内核程序在执行上有什么不同 9.什么是进程的控制包括哪些基本内容(进程的创建,进程的撤消,进程的阻塞,进程的唤醒,进程的 挂起,进程的激活,改变进程的优先级…等) 10.什么是线程试说明进程与线程的关系与区别。 11.并发进程间的制约有哪两种引起制约的原因是什么 12.我们说程序的并发执行将导致最终失去封闭性.这话对所有的程序都成立吗试举例说明. 13.什么叫与时间有关的错误与时间有关的错误表现在哪些方面请举例说明之. 14.什么是进程间的互斥什么是进程间的同步这两个概念有何区别 15.考虑一台计算机,它没有TEST AND SET LOCK指令,但可以按原子操作方式将一个寄存器的内 容与另一个存储器字进行交换,是否能利用该指令写一个达到互斥的例程 16.什么叫临界资源什么叫临界段对临界区的管理应符合哪些原则你能用什么工具去写进程间 互斥的同步算法书写该算法时应注意什么问题 17.下面是两个并发执行的进程,它们能正确运行吗若不能正确运行,请举例说明,并改正之(X是定 义的公共变量). Cobegin var x:integer; procedure P1 procedure P2 var y,z:integer; var t,u:integer; begin begin x:=1; x:=0; y:=0; t:=0; if x>=1 then y:=y+1; if x<1 then t:=t+2; z:=y u:=t end; end; coend; 18.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,?什么是临界资源什么是临 界段

操作系统实验 进程状态转换及其PCB的变化

操作系统实验 ---进程状态转换及其PCB的变化 1. 目的: 自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容、组织的变化,理解进程与其PCB间的一一对应关系。 2. 内容及要求: 1)设计并实现一个模拟进程状态转换及其相应PCB内容、组织结构变化的程序。 2)独立编写、调试程序。进程的数目、进程的状态模型(三状态、五状态、七状 态或其它)以及PCB的组织形式可自行选择。 3)合理设计与进程PCB相对应的数据结构。PCB的内容要涵盖进程的基本信息、控 制信息、资源需求及现场信息。 4)设计出可视性较好的界面,应能反映出进程状态的变化引起的对应PCB内容、 组织结构的变化。 5)代码书写要规范,要适当地加入注释。 6)鼓励在实验中加入新的观点或想法,并加以实现。 7)认真进行预习,完成预习报告。 8)实验完成后,要认真总结,完成实验报告。 3. 程序流程图

4.代码部分 (1)数据结构部分 进程结构体 struct PCB { char P_name[10]; int P_id; int P_state; int needtime; int lefttime; int P_level; }; 进程结构体有:进程号,进程状态,进程剩下的时间,进程需要的时间,进程的优先级 队列结构体 struct Queue { PCB qNode[5]; int queueLength; }; 定义的队列最多有5个进程。 (2)程序解释 这里做的是对操作系统课程里面将的“3 状态”的模型的模拟,给它提供的初始状态是有5个进程,而进程所需要的时间和进程的状态都是随机产生的,并把就绪队列里面的进程按照进程的优先级(P_level)进行排序,设置初始状态时没有在运行的程序。 (3)程序的代码 //#include #include #include #include struct PCB { char P_name[10]; int P_id; int P_state; int needtime; int leavetime; int P_level; }; struct Queue { PCB qNode[5];

第2章 进程管理练习答案

第二章进程管理 一、单项选择题 1、在单一处理机上执行程序,多道程序的执行是在(B)进行的。 A.同一时刻 B. 同一时间间隔内 C.某一固定时刻 D. 某一固定时间间隔内 2、引入多道程序技术后,处理机的利用率( C)。 A.降低了 B. 有所改善 C.大大提高 D. 没有变化,只是程序的执行方便了 3、顺序程序和并发程序的执行相比,( C)。 A.基本相同 C.并发程序执行总体上执行时间快 B. 有点不同 D.顺序程序执行总体上执行时间快 4、单一处理机上,将执行时间有重叠的几个程序称为(C )。 A.顺序程序 B. 多道程序 C.并发程序 D. 并行程序 5、进程和程序的本质区别是(D )。 A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征 6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。进程具有[1A]、[2D]、调度性、异步性和结构性等基本特征。进程是一次执行过程,具有生命期体现了进程的[1]特征。进程由程序段、[3B]、[4C]组成,其中[4]是进程在系统中存在的唯一标识。 供选择的答案: [1][2] :A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性 [3] :A、过程 B、数据 C、进程标识符 D、函数 [4] :A、FCB B、FIFO C、PCB D、JCB 7、进程执行时的间断性,决定了进程可能具有多种状态。进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1D]进入[2A]。如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3D],这个过程是由[4C]来完成。供选择的答案: [1][2][3] :A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态 [4] :A、进程控制程序 B、资源分配程序 C、进程调度程序 D、处理机分配程序 8、为描述进程的动态变化过程,采用了一个与进程相联系的(C ),根据它而感知进程的存在。 A.进程状态字 B. 进程优先数 C.进程控制块 D. 进程起始地址 9、下列进程状态的转换中,哪一个是不正确的( C)。 A. 就绪->运行 B. 运行->就绪 C. 就绪->阻塞 D. 阻塞->就绪 10、下列各项步骤中,哪一个不是创建进程所必须的步骤( B)。 A. 建立一个进程控制块PCB B. 由CPU调度程序为进程调度CPU C. 为进程分配内存等必要的资源 D. 将PCB链入进程就绪队列 11、在下列特性中,哪一个不是进程的特性( C)。 A. 异步性 B. 并发性 C. 静态性 D. 动态性 12、在单处理机系统中,处于运行状态的进程(A )。 A.只有一个 B. 可以有多个 C.不能被挂起 D. 必须在执行完后才能被撤下 13、如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入( C) A.自由状态 B. 停止状态 C.阻塞状态 D. 静止状态 14、已经获得除( C)以外的所有运行所需资源的进程处于就绪状态。 A.存储器 B. 打印机 C. CPU D. 磁盘空间

进程状态转换

3.2.4 被挂起的进程 交换的需要 前面描述的三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。许多实际的操作系统都是按照这样的三种状态进行具体构造的。但是,可以证明往模型中增加其他状态也是合理的。为了说明加入新状态的好处,考虑一个没有使用虚拟内存的系统,每个被执行的进程必须完全载入内存,因此,图3.8b 中,所有队列中的所有进程必须驻留在内存中。 所有这些设计机制的原因都是由于I/O 活动比计算速度慢很多,因此在单道程序系统中的处理器在大多数时候是空闲的。但是图3.8b 的方案并没有完全解决这个问题。在这种情况下,内存保存有多个进程,当一个进程正在等待时,处理器可以转移到另一个进程,但是处理器比I/O 要快得多,以至于内存中所有的进程都在等待I/O 的情况很常见。因此,即使是多道程序设计,大多数时候处理器仍然可能处于空闲状态。 一种解决方法是内存可以被扩充以适应更多的进程,但是这种方法有两个缺陷。首先是内存的价格问题,当内存大小增加到兆位及千兆位时,价格也会随之增加;再者,程序对内存空间需求的增长速度比内存价格下降的速度快。因此,更大的内存往往导致更大的进程,而不是更多的进程。 另一种解决方案是交换,包括把内存中某个进程的一部分或全部移到磁盘中。当内存中没有处于就绪状态的进程时,操作系统就把被阻塞的进程换出到磁盘中的“挂起队列”(suspendqueue),这是暂时保存从内存中被“驱逐”出的进程队列,或者说是被挂起的进程队列。操作系统在此之后取出挂起队列中的另一个进程,或者接受一个新进程的请求,将其纳入内存运行。 “交换”(swapping)是一个I/O 操作,因而也可能使问题更加恶化。但是由于磁盘I/O 一般是系统中最快的I/O(相对于磁带或打印机I/O),所以交换通常会提高性能。 为使用前面描述的交换,在我们的进程行为模型(见图3.9a)中必须增加另一个状态:挂起态。当内存中的所有进程都处于阻塞态时,操作系统可以把其中的一个进程置于挂起态,并将它转移到磁盘,内存中释放的空间可被调入的另一个进程使用。

第二章 操作系统进程(练习题答案)

第二章进程管理 1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使 用效率的一种系统软件。它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管 理和设备管理等。Windows和Unix是最常用的两类操作系统。前者是一个具有图形界面的 窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的 的系统软件。在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息 并作出响应。 供选答案: (1): A. 应用软件 B. 系统软硬件 C. 资源 D. 设备 (2): A. 数据 B. 作业 C. 中断 D. I/O (3): A. 分时 B. 多任务 C. 多用户 D. 实时 (4): A. PASCAL B. 宏 C. 汇编 D. C (5): A. 网络 B. 分时 C. 批处理 D. 实时 答案:CBBDD 2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。 在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部 分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。 虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。 供选答案: (1): A. 输入和输出 B. 键盘操作 C. 管理和控制 D. 汇编和执行 (2): A. 软件和硬件 B. 主机和外设 C. 高级语言和机器语言 D. 用户和计算机 (3): A. 进程控制块 B. 作业控制块 C. 文件控制块 D. 设备控制块 (4): A. 运行态转换为就绪态 B. 就绪态转换为运行态 C. 运行态转换为等待态 D. 等待态转换为运行态 (5): A. 软盘 B. 硬盘 C. CDROM D. 寄存器 答案:CDADB 3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。 A. Spodling技术 B. 虚拟存储技术 C. 缓冲技术 D. 多道程序设计技术 4.分时系统追求的目标是 C。 A. 高吞吐率 B. 充分利用内存 C. 快速响应 D. 减少系统开销 5.引入多道程序的目的是 D。

进程状态转换图进程管理

进程状态转换图进程管理2011-06-28 进程状态转换图进程管理进程状态转换图进程管理 进程管理 要点 ?基础:进程描述及控制 ?策略:进程调度 ?实现:互斥与同步 ?避免:死锁与饥饿 ?解决:几个经典问题 ?关于:进程通信 进程的概念 ?现代操作系统的重要特点:程序的并发执行及系统所拥有的资源被共享和系统的用户随机地使用。 ?操作系统的重要任务之一:使用户充分、有效地利用系统资源。 程序顺序执行 ?程序:源代码、目标程序和可执行程序 ?程序执行:编辑、编译、链接、执行 ?程序的结构:顺序结构、分支结构和循环结构。

进程的引入(一) ?前趋图:是一个有向无环图。图中的每个结点用于表示一条语句、一个程序段或进程;结点间的有向边表示在两个结点之间存在的偏序或前趋关系。 进程的引入(二) ?程序顺序执行:是指若干个程序或程序段之间必须按照某种先后次序逐个执行,仅当前一项操作执行完成后,才能执行后继操作。 ?程序顺序执行时具有以下特征: (1)顺序性 (2)封闭性 (3)确定性 (4)可再现性 进程的引入(三) ?多道程序系统中程序执行环境的变化 在许多情况下,需要计算机能够同时处理多个具有独立功能的程序。批处 理系统、分时系统、实时系统以及网络与分布式系统等都是这样的系统。 ?执行环境具有三个特点: ?独立性:每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。 ?随机性:在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。 ?资源共享:资源共享将导致对进程执行速度的制约。 进程的引入(四)

?程序并发执行:是指两个或两个以上的程序或程序段可在同一时间间隔内同时执行。 ?程序的并发执行卓有成效地提高了系统的吞吐量。 ?程序并发执行的新特征:间断性;失去封闭性;不可再现性;资源共享;程序与计算不再一一对应。 进程的引入(五) ?程序的并发执行可进一步分为两种:第一种是多道程序系统的程序执行环境变化所引起的多道程序的并发执行。第二种并发执行是在某道程序的几个程 序段中(例如几个程序),包含着一部分可以同时执行或顺序颠倒执行的代码。 进程的引入(六) ?程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一 个程序段的执行已经开始的这种执行方式。 进程的引入(七) ?程序的并发执行不同于程序的并行执行。程序的并行执行是指一组程序按独立的、异步的速度执行。并行执行不等于时间上的重叠。 进程的引入(八) ?程序的并发执行所带来的影响:程序的并发执行充分地利用了系统资源,从而提高了系统的处理能力,这是并发执行好的一方面。但是,正如前面所提 到的那样,由于系统资源有限,程序的并发执行必然导致资源共享和资源竞争,从而改变程序的执行速度。 进程并发执行引发的问题 ?协调各程序的执行顺序。例:当输入的数据还未全部输入内存时,计算进程必须等待。

第二部分 进程

一、填空题: 1.一次只允许一个进程访问的资源叫_________________。 2.在引入线程的操作系统中,把进程作为_________________的基本单位、而把线程 作为_________________的基本单位。 3.若信号量S的初值为2,当前值为-1,则表示有_________________个等待进程。 4.高级通信方式有:_________________、_________________、_________________。 5.设有6个进程共享同一互斥段,若最多允许有2个进程进入互斥段,则所采用的互 斥信号量的初值为_________________。 6.系统中表示一个进程存在的唯一标志是__________________。 7.在响应比高者优先的调度算法中,当各个作业的等待时间相同时, _________________将得到优先调度;当各作业要求的运行时间相同时, _________________将得到优先调度。 8.产生进程死锁的必要条件有_________________、_________________、 _________________和不剥夺条件。 9.处理死锁的基本方法:_________________、_________________、 _________________、_________________ 10.一个操作中的所有动作,要么全做,要么全不做,这叫做_________________ 11.临界区是指:_________________。 12.同步机制应遵循的基本准则有:_________________、_________________、 _________________和让权等待。 二、选择题: 1.对进程的管理和控制使用() A、指令 B、原语 C、信号量 D、信箱 2.有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问, 则信号量的变化范围是()。 A、1~1-m B、1~m-1 C、1~-m D、1-m 3.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业,其 响应比是()。 A、2 B、1 C、3 D、0.5 4.单处理机系统中,可并行的是() I 进程与进程II 处理机与设备III 处理机与通道IV 设备与设备 A、I、II和III B、I、II和IV C、I、III和IV D、II、III和IV 5.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()。 A.从就绪变为运行;B.从运行变为就绪; C.从运行变为阻塞;D.从阻塞变为就绪 6.若信号量S的初值为2,当前值为-1,则表示有()个等待进程。 A.0 B.1 C.2 D.3 7.消息缓冲队列通信中的临界资源是() A.队列中的某个消息缓冲区B.整个消息缓冲队列 C.信箱D.管道

操作系统————进程 的试题

1、每个进程都包刮(进程控制块)、(程序段)和(数据段)3个组成部分。 2、一个程序运行在不同的数据集上就构成了不同的(进程),分别得到不同的结果。 3、进程在执行过程中不同时刻的3中基本状态是(运行状态)、(就绪状态)和(等待状态)。 4、进程是一个(独立存在)的实体,它有自己的生命周期。它因(创建)而产生,因(调度)而运行,因(等待某件事)而被阻塞(进入等待态),因(得不到资源)而被撤销。 5、进程在执行过程中状态不断(变化),但在某一时刻,进程当且仅当处于3种基本状态之一。 6、进程在运行中申请资源得不到满意,则它从(运行)态变成(阻塞)态。 7、处于等待态的进程,其他外围设备工作结束,则它变成(就绪)态。 8、进程从运行态变成就绪态,主要原因是(时间片到)和(出现优先级更高的进程进行中断)。 9、有多个进程等待分配CPU时,系统按一定的(优先级),从处于就绪态的进程中选择(第一)个进程,让他占有CPU,并使它状态变成(运行)态。 10、进程刚被创建是它的状态是新建 11、操作系统依据(PCB)对进程进行控制和管理 13、时间片是指允许进程一次占用处理器的。时间片轮转调度算法常用于(分时)操作系统中。 14、我们把进程中与(临界资源进行操作)有关的程序段称为临界区。 16、PV操作由p操作即申请资源和v操作即释放一个资源组成,是对(信号量)进行操作。 17、P操作将信号量的值减1 ,若结果小于0,则该进程置为(阻塞)状态,V操作将信号量的值加1 ,若结果大于0,则释放一个等待信号量的进程。 19、利用信号量实现进程,应为临界区设置一个信号量Mutex,初值为1 ,表示该资源尚未使用,临界区应置于和原语之间。 20、进程的同步是指并发进程之间的一种协同合作关系,一个进程的执行依赖另一个进程的某些操作,当一个进程没有得到它时应,直到被。 21、形成死锁的起因是多个进程抢占资源和资源不能被分配各进程都进入等待。 22、死锁的四个必要条件是1互斥条件2请求和保持条件3不剥夺条件4循环等待条件。综合练习一 (一)选择题 4.进程和程序的一个本质区别是(A)。 A.前者为动态的,后者为静态的; B.前者存储在内存,后者存储在外存; C.前者在一个文件中,后者在多个文件中; D.前者分时使用CPU,后者独占CPU。 5.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将(C )。 A.从就绪变为运行; B.从运行变为就绪; C.从运行变为阻塞; D.从阻塞变为就绪; 6.进程控制块是描述进程状态和特性的数据结构,一个进程(D )。 A、可以有多个进程控制块; B、可以和其他进程共用一个进程控制块;

相关文档
相关文档 最新文档