Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1018520
  • 博文数量: 136
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1800
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-21 22:26
个人简介

90后空巢老码农

文章分类

全部博文(136)

文章存档

2020年(34)

2019年(54)

2018年(47)

2017年(1)

我的朋友

分类: LINUX

2020-07-20 19:16:03

linux当中的进程是资源分配的最小单位,其状态可以大致分为三种:running,runnable,blocked,
其含义分别为:
running:正在运行
runnable:可以运行,但是由于调度的关系,没有运行
blocked:进程由于缺少某种资源,不能运行,这里还可以再把这个状态分为interruptable, uninterruptable, 以及killable三种
它们之间的状态转换关系如下图所示:

其中running和runnable可以相互转换,代表性的动作就是一个进程的时间片用完了,换另一个运行。而一旦一个进程由于缺少某种资源从running转换到blocked,尽管它可能在不久的将来获得该资源,但是它不能直接转换为running状态,它必须经过runnable状态进行中转。


在linux当中,可以将任意时刻每个处理器上的代码的上下文进行如下总结:
1. 运行与用户空间,执行用户进程
2. 运行于内核空间,处于进程上下文,代表某个特定的进程执行
3. 运行于内核空间,处于(软)中断上下文,与任何进程无关,处理某个特定的(软)中断
阅读(1244) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~