首页 > 知识点讲解
       任务的状态
知识路径: > 嵌入式系统软件基础知识 > 嵌入式操作系统基础知识 > 处理器管理 > 分区、进程、线程、任务的概念 > 任务的实现 > 
相关知识点:6个      
        在多道程序系统中,任务是独立运行的实体,需要参与系统资源的竞争,只有在所需资源都得到满足的情形下,才能在CPU上运行。因此,任务所拥有的资源情况是在不断变化的,这导致任务的状态也表现出不断变化的特性。不同的嵌入式操作系统对任务状态的定义不尽相同,但是一般来说,它们都会具备以下的三种基本状态。
        .运行状态(Running):任务占有CPU,并在CPU上运行。显然,处于此状态的任务个数必须小于或等于CPU的数目。如果在系统当中只有一个CPU的话,那么在任何一个时刻,最多只能有一个任务处于运行状态。
        .就绪状态(Ready):任务已经具备了运行的条件,但是由于CPU正忙,正在运行其他的任务,所以暂时不能运行。不过,只要把CPU分给它,它就能够立刻执行。
        .阻塞状态(Blocked):也叫等待状态(Waiting)。任务因为正在等待某种事件的发生而暂时不能够运行。例如,它正在等待某个I/O操作的完成,或者它跟某个任务之间存在着同步关系,正在等待该任务给它发信号。此时,即使CPU已经空闲下来了,它也还是不能运行。
        在一定条件下,任务会在不同的状态之间来回转换,如下图所示。对于任务的三种状态,可以有四种转换关系。
        
        任务间的状态转换图
        .运行→阻塞:任务由于等待某个事件而被阻塞起来。例如,一个任务正在CPU上运行,这时它需要用户输入一个字符。由于CPU的运行速度远远高于I/O设备的处理速度,因此操作系统不会允许该任务继续占用CPU,在那里空等,而是把它变成阻塞状态,然后调用其他的任务去运行。
        .运行→就绪:一个任务正在CPU上运行,这时由于种种原因(如该任务的时间片用完,或另一个高优先级任务就绪),调度器选择了另一个任务去运行。这样对于当前的任务来说,就从运行状态变成了就绪状态。
        .就绪→运行:处于就绪状态的任务被调度器选中去运行。
        .阻塞→就绪:一个任务曾经因为等待某个事件而被阻塞起来,如果它等待的事件发生了,那么该任务就从阻塞状态变成了就绪状态,从而具备了继续运行的条件。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有