操作系统linux 进程阻塞状态切换为什么不能从阻塞状态变成运行状态?

&&/&&&&/&&&&/&&
进程在其生命周期内,由于系统中各进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态也在不断地发生变化(一个进程会经历若干种不同状态)。通常进程有以下五种状态,前三种是进程的基本状态。
1) 运行状态:进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。
2) 就绪状态:进程已处于准备运行的状态,即进程获得了除处理机之外的一切所需资源,一旦得到处理机即可运行。
3) 阻塞状态,又称等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。
4) 创建状态:进程正在被创建,尚未转到就绪状态。创建进程通常需要多个步骤:首先申请一个空白的PCB,并向PCB中填写一些控制和管理进程的信息;然后由系统为该进程分配运行时所必需的资源;最后把该进程转入到就绪状态。
5) 结束状态:进程正从系统中消失,这可能是进程正常结束或其他原因中断退出运行。当进程需要结束运行时,系统首先必须置该进程为结束状态,然后再进一步处理资源释放和回收等工作。
注意区别就绪状态和等待状态:就绪状态是指进程仅缺少处理机,只要获得处理机资源就立即执行;而等待状态是指进程需要其他资源(除了处理机)或等待某一事件。之所以把处理机和其他资源划分开,是因为在分时系统的时间片轮转机制中,每个进程分到的时间片是若干毫秒。也就是说,进程得到处理机的时间很短且非常频繁,进程在运行过程中实际上是频繁地转换到就绪状态的;而其他资源(如外设)的使用和分配或者某一事件的发生(如I/O操作的完成)对应的时间相对来说很长,进程转换到等待状态的次数也相对较少。这样来看,就绪状态和等待状态是进程生命周期中两个完全不同的状态,很显然需要加以区分。
图2-1说明了五种进程状态的转换,而三种基本状态之间的转换如下:
图2-1& 五种进程状态的转换
就绪状态 -& 运行状态:处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),于是进程由就绪状态转换为运行状态。
运行状态 -& 就绪状态:处于运行状态的进程在时间片用完后,不得不让出处理机,从而进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就 、 绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。
运行状态 -& 阻塞状态:当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。
阻塞状态 -& 就绪状态:当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。 上传我的文档
 下载
 收藏
所有文档均可在线免费浏览,需要的朋友请看好是否是自己需要的文档。所有资料来源于网络,仅供大家参考学习,版权归原作者。若有侵权,敬请及时告知,本人会及时删除侵权文档,竭诚全力为您服务!!!
 下载此文档
正在努力加载中...
操作系统实验报告 进程状态转换
下载积分:1721
内容提示:操作系统实验报告 进程状态转换,操作系统,实验,报告,进程,状态,转换
文档格式:DOC|
浏览次数:17|
上传日期: 10:29:18|
文档星级:
该用户还上传了这些文档
操作系统实验报告 进程状态转换
官方公共微信以下试题来自:
单项选择题进程从运行状态转变到阻塞状态可能是由于(
)。A.进程调度程序的调度B.现运行进程的时间片用完C.现运行进程执行了P操作D.现运行进程执行了V操作
为您推荐的考试题库
你可能感兴趣的试题
1A.从就绪变为运行B.从运行变为就绪C.从运行变为阻塞D.从阻塞变为就绪2A.一个缓冲区B.一段数据区C.同步机制D.一段程序3A.可以有多个进程控制块B.可以和其他进程共用一个进程控制块C.可以没有进程控制块D.只能有唯一的进程控制块4A.0B.1C.2D.35A.彼此无关B.必须同步C.必须互斥D.可能需要同步或互斥
热门相关试卷
最新相关试卷操作系统--进程状态切换以及cpu调度(转) - canexjtuzju - 博客园
Powered by:
模板提供:
进程的状态转换
  进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。
执行态run:进程正在使用CPU
等待态wait:进程正在等待I/O完成,不在使用也不能使用CPU
就绪态ready:进程不在使用CPU,但已经纯备好用使用CPU
  在特定的情况下,这三种状态可以相互转换。
  就绪-&执行, 当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机;
  执行-&就绪, 当前运行进程时间片用完;
  执行-&等待,当前运行进程等待键盘输入,进入了睡眠状态。
  等待-&就绪,I/O操作完成,被中断处理程序唤醒。
  刚从其他状态进入就绪态的进程需要置入调度队列,该队列不一定按进入队列的时间先后顺序排列。
  从等待态中出来的进程通常不直接进入运行态,而要进入就绪态。如果需要直接进入运行态,这属于抢先式调度,通过抢先式中断完成。
  从执行态到就绪态的转换发生在抢先式终端处理中,例如I/O或分时下的时间片。分时是在多个用户同时以交互方式使用计算机时采用的一种技术。
  分时技术:每当时钟中断发生时且发现当前运行进程已连续在CPU上运行了一定的时间(称为时间片,一般为20ms~250ms)时,就强制地发生进程切换,使当前进程退出CPU,重新调度,选出另一个进程在CPU上运行。此时,退出的进程不能变为等待状态,因为它不是因为等待I/O而退出的,也不能变为终止,因为它尚未结束,因此,它需要转换为就绪态,等待属于它的时间片的到来。
  当正在建立一个新进程时,计算机上的当前运行进程是哪一个?
  该新进程的父进程。
CPU调度算法
  同时处于就绪态的进程经常有多个,因此需要一个CPU调度算法来君顶那一个就绪进程先运行。衡量CPU调度算法的标准有:CPU利用率、用户程序响应时间、系统吞吐量、公平合理性、设备利用率等。
  常见的调度算法有先来先服务FIFO、轮转调度法RR(时间片法)、优先级调度法、短作业优先SJF、最短剩余事件优先、最高相应比优先、多级反馈法、策略驱动法、最晚时间限调度、二级调度法。
  FIFO算法:一般应用于实时性系统中,最先进入就绪态的进程最先进入运行态。
  轮转调度法:根据系统给与的时间片,进行进程的轮询访问CPU,若时间片结束,该进程还在运行,就会被强制撤出。该方法通常和FIFO或优先级算法一起使用。
  优先级调度法:根据不同进程的重要程度和紧急程度,来赋予每个进程一个优先级,带有最高优先级的进程最先执行。优先级调度算法分为静态优先级和动态优先级两种。动态优先级可以防止优先级高的进程不停地执行。
  最短作业优先:最先执行占用CPU时间最短的进程。最短的进程第一个执行总是产生最小的平均相应事件。
  最短剩余时间优先:剩余运行事件最短的进程最先运行。
  最高相应比优先:最先执行相应比最高的进程。相应比的计算公式为1+等待时间/估计运行时间。
  多级反馈法:是目前最常用的算法!它结合了FIFO、RR、优先级算法和SJF算法。该算法有多个队列,同一队列中的进程优先级相同,不同队列中进程优先级不同,不同队列拥有不同的时间片。
  策略驱动法:基于对各个用户的承诺。
  最晚时间限调度:保证在每个进程必须完成的最晚时间限钱运行完该进程。
  二级调度算法:在系统负载很重时,不是所有的进程建立就立即进入就绪态,有些进程建立起来后,进入后备队列。操作系统采用一个二级调度程序来决定进程在后备队列和就绪队列之间的转换。其中一级调度是从后备队列中选择进程使其转换为就绪态;另一级调度则是在就绪队列中选择一个执行。
阅读(...) 评论()进程从阻塞状态进入就绪状态的原因可能是?_百度知道
进程从阻塞状态进入就绪状态的原因可能是?
进程调度程序的调度
BA.该进程的时间片用完C.输入输出操作完成
提问者采纳
,C也是进入阻塞状态。b选项时间片用完就进入阻塞状态.进程调度程序的调度,d处于阻塞状态
提问者评价
来自团队:
其他类似问题
为您推荐:
阻塞状态的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 linux 进程阻塞 的文章

 

随机推荐