时间片是一个数值,它表明进程在被抢占之前可以持续运行的时间。

调度程序总是选择时间片未用尽而且优先级最高的进程运行。

进程不一定一次就用完所有的时间片,可以分几次通过多次调度用完。

进程时间片用尽后在本论调度中不会再被运行,直到等待其他所有进程的时间片耗尽,在那个时候,所以进程的时间片将被重新计算。

一个CPU有一个可执行队列,一个可执行队列有两个优先级数组。活动优先级数组和过期优先级数组。

进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进程的优先级变化。

一个CPU有多个等待队列,根据不同的事件类型进行划分,当一个进程由于等待某一个事件而进入睡眠时,即被加入到该事件的等待队列中,如果当某个事件的等待队列的条件到达时,所有的进程都被移动到可执行队列等待调度。

可执行队列把处于TASK_RUNNING状态的所有进程组织在一起。 TASK_STOPPED或 TASK_ZOMBIE状态的进程不链接在专门的链表中,也没必要把它们分组,因为父进程可以通过进程的PID,或进程间的亲属关系检索到子进程。把TASK_INTERRUPTIBLE 或 TASK_UNINTERRUPTIBLE状态的进程再分成很多类,其每一类对应一个特定的事件。在这种情况下,进程状态提供的信息满足不了快速检索进程,因此,有必要引入另外的进程链表。这些链表叫等待队列。等待队列在内核中有很多用途,尤其对中断处理、进程同步及定时用处更大。

转载于:https://www.cnblogs.com/li-hao/archive/2012/02/23/2365437.html

三言两语说说进程调度相关推荐

  1. (转)Linux进程调度时机

    转自:http://oss.org.cn/kernel-book/ch05/5.3.2.htm 调度程序虽然特别重要,但它不过是一个存在于内核空间中的函数而已,并不神秘.Linux的调度程序是一个叫S ...

  2. 八、进程调度的时机、切换与过程,调度方式

    一.知识总览 二.进程调度的时机 1.进程在操作系统内核程序临界区不能进行调度与切换,但若说成进程处于临界区时不能进行处理机调度是错误的. 2.临界资源:一个时间段内只允许一个进程使用的资源,各进程需 ...

  3. linux --- 进程调度

    2019独角兽企业重金招聘Python工程师标准>>> Linux进程调度笔记 一:Linux进程的四大要素 1:一段供进程执行的程序,该程序可以被多个进程执行. 2:独立的内核堆栈 ...

  4. linux进程调度浅析

    linux进程调度浅析 操作系统要实现多进程,进程调度必不可少. 有人说,进程调度是操作系统中最为重要的一个部分.我觉得这种说法说得太绝对了一点,就像很多人动辄就说"某某函数比某某函数效率高 ...

  5. Linux内核进程调度的时机和进程切换

    陈铁+ 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 对于现代操作系统,多 ...

  6. 操作系统的进程调度简析

    陈铁 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ".特别 ...

  7. Linux2.6 内核进程调度分析

    Linux2.6 内核进程调度分析    进程的调度时机与引起进程调度的原因和进程调度的方式有关.在 2.6 中,除核心应用     主动调用调度器之外, 核心还在应用不完全感知的情况下在以下三种时机 ...

  8. 进程调度(第三章 处理调度与死锁)

    多道程序环境下,主存中进程数目往往多于处理机数目.要求系统通过某种算法动态的将就绪队列中的进程分配给处理机执行. 3.1 处理机调度的层次 批量型作业:作业调度(高级调度.长程调度)+进程调度(低级调 ...

  9. 操作系统 实验三 进程调度模拟程序

                                                          实验三 进程调度模拟程序                                   ...

最新文章

  1. 【GStreamer】使用capsfilter设置x264enc中的profile级别
  2. 日记-致我那易逝的时光
  3. android usb集线器,通过Maven将多个部署到USB集线器上的Android设备
  4. 这个 MySQL bug 让我大开眼界
  5. boost::filesystem::path的用法测试程序
  6. redis安装(linux)
  7. Java - I/O
  8. C++入门经典-例8.1-类的继承
  9. 新基建带来新机遇!大数据产业发展需“四驱”推动
  10. 如何查看keepalived版本号_Keepalived介绍 , 配置说明 , 及实际应用
  11. java绘制矩形 鼠标_如何用java在面板上用鼠标绘制出一个矩形
  12. Wine 开发版 4.6 发布,Windows 应用的兼容层
  13. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_4 Mybatis的CRUD-查询一个和模糊查询
  14. 页面里引入电子表字体
  15. win7怎么设置悬浮桌面便签
  16. 微信小程序商城项目实战(第三篇:商品列表)
  17. python银行系统-python实现简单银行管理系统
  18. Openfile安装和使用
  19. Windows重装为Linux
  20. 3D或游戏画面卡顿的解决方法

热门文章

  1. 【杂谈】有三AI的一对一永久技术答疑服务,我们至少不会跑路
  2. 【生成模型】关于无监督生成模型,你必须知道的基础
  3. 2019年有三AI“春季”划,给我一个荣耀,还你一生荣耀
  4. 全球及中国氰化金钾行业需求潜力及供应前景调研报告2022-2027年
  5. 中国商业智能(BI)市场发展趋势及未来投资潜力评估报告2022-2028年版
  6. iOS QQ分享图片无反应问题
  7. Python 数值计算库之-[Pandas](六)
  8. JS模式--职责链模式
  9. DNA repair - HDU 2457(自动机+dp)
  10. 网易云音乐前副总裁教你如何做产品