博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程调度
阅读量:7211 次
发布时间:2019-06-29

本文共 449 字,大约阅读时间需要 1 分钟。

现在明确一下阻塞(Block)这个概念。当进程调用一个阻塞的系统函数时,该进程被置于睡眠(Sleep)状态,这时内核调度其它进程运行,直到该进程等待的事件发生了(比如网络上接收到数据包,或者调用sleep指定的睡眠时间到了)它才有可能继续运行。与睡眠状态相对的是运行(Running)状态,在Linux内核中,处于运行状态的进程分为两种情况

  • 正在被调度执行。CPU处于该进程的上下文环境中,程序计数器(eip)里保存着该进程的指令地址,通用寄存器里保存着该进程运算过程的中间结果,正在执行该进程的指令,正在读写该进程的地址空间。

  • 就绪状态。该进程不需要等待什么事件发生,随时都可以执行,但CPU暂时还在执行另一个进程,所以该进程在一个就绪队列中等待被内核调度。系统中可能同时有多个就绪的进程,那么该调度谁执行呢?内核的调度算法是基于优先级和时间片的,而且会根据每个进程的运行情况动态调整它的优先级和时间片,让每个进程都能比较公平地得到机会执行,同时要兼顾用户体验,不能让和用户交互的进程响应太慢。

转载地址:http://uyrum.baihongyu.com/

你可能感兴趣的文章
初识 ::after
查看>>
Does taro support react hook?
查看>>
小猿圈Linux 之用户和用户组管理(二)
查看>>
SQLServer之修改CHECK约束
查看>>
脑出血后遗症康复时间,成都顾连康复解答
查看>>
好程序员大数据点睛:关于HDFS的二三事
查看>>
RxHttp 一条链发送请求之强大的Param类(三)
查看>>
Android 手游闪屏极简方案
查看>>
极简风格的响应式简历模板
查看>>
深入理解es module
查看>>
canvas笔记
查看>>
Redis内核原理及读写一致企业级架构深入剖析1-综合组件环境实战
查看>>
【React深入】深入分析虚拟DOM的渲染原理和特性
查看>>
查找算法(下)
查看>>
基于 HTML5 WebGL 的 3D 渲染引擎构建工厂运作系统
查看>>
风继续吹
查看>>
性能优化 (七) APK 加固之 Dex 加解密,反编译都看不到项目主要代码。
查看>>
实例:从一个文件中读取销售记录,并合并生成销售报告,实现销售册数,总销售额,平均售价...
查看>>
Uploadify 配置错误信息提示
查看>>
[前端漫谈_4] 从 薛定谔的猫 聊到 Event loop
查看>>