就绪态 运行态 阻塞态
时间: 2023-05-25 08:05:30 浏览: 106
就绪态:表示进程已经被完全加载到内存中,等待操作系统分配CPU资源进行执行。
运行态:表示进程正在执行,并正在使用CPU资源。
阻塞态:表示进程因等待某个事件(如资源、输入/输出)而暂时停止执行,并将CPU资源释放给其他进程使用,直到事件完成后再恢复为就绪态。
相关问题
stm32freertos就绪态
STM32FreeRTOS中的就绪态是指任务已经创建并且准备好被调度执行的状态。当一个任务创建时,它会被置于就绪态,等待调度器分配CPU时间片给它运行。一旦任务获得CPU时间片,它就会进入运行态执行相应的任务代码。
在STM32FreeRTOS中,任务的就绪态由任务控制块(Task Control Block,简称TCB)来管理。每个任务都有一个对应的TCB,其中包含了任务的状态信息,如就绪态、阻塞态、挂起态等。当任务被创建时,其TCB会被初始化为就绪态,并加入到就绪任务列表中等待调度执行。
调度器会根据一定的调度算法从就绪任务列表中选择一个任务分配CPU时间片,使其进入运行态执行。当该任务的时间片用完或者发生阻塞事件时,调度器会将该任务从运行态转换为就绪态,并选择下一个就绪任务继续执行。
总结起来,STM32FreeRTOS中的就绪态是指任务已经创建并准备好被调度执行的状态,当任务获得CPU时间片时,进入运行态执行任务代码。
什么情况下会出现进程由就绪态转化为运行态?
进程由就绪态转化为运行态的情况有以下几种:
1. 当前运行的进程时间片用完,需要进行进程切换,将就绪态的进程切换到运行态。
2. 当前正在运行的进程发生阻塞,例如等待某个输入输出操作完成,此时需要将其转为阻塞态,同时选择一个就绪态的进程切换到运行态。
3. 新的进程创建并准备好运行时,如果此时没有正在运行的进程,新的进程可以直接从就绪态转换为运行态。
4. 操作系统发生中断,需要执行相应的中断处理程序时,当前正在运行的进程需要被挂起,将其转为就绪态,然后执行中断处理程序,处理完成后再选择一个就绪态的进程切换到运行态。
以上是进程由就绪态转化为运行态的一些情况,具体情况还需根据操作系统的实现方式和具体的应用场景来确定。