进程调度

简介:

进程的基本状态

  • 等待态或称阻塞态(等待某个事件的完成)
  • 就绪态(等待系统分配处理器以便运行)
  • 运行态(占有处理器正在运行)

状态转换

  1. 运行态→阻塞态 往往是由于等待外设,主存等资源分配或等待人工干预而引起的。
  2. 阻塞态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行。
  3. 运行态→就绪态 不是由于自身原因,而是由外界原因使运行状态的进程让出处理器这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。
  4. 就绪态→运行态 系统按某种策略选中就绪队列中的进程占用处理器,变成运行态

不会发生: 阻塞态‐>运行态(运行态是从就绪队列中取值),就绪态‐>阻塞态

 

进程调度是指按照一定的策略选择—个处于就绪状态的进程,使其获得处理机执行。
下面情况中需要进行进程调度

  1. 正在执行的进程执行完毕。如不选择新的就绪进程,将浪费处理机资源。
  2. 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。
  3. 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列。
  4. 执行中进程提出I/O请求后被阻塞。
  5. 在分时系统中时间片已经用完。
  6. 在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。
  7. 就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。

进程调度算法

  • 先进先出算法
  • 短进程优先算法
  • 轮转法
  • 多级反馈队列



本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/3603100.html,如需转载请自行联系原作者
相关文章
|
3月前
|
缓存 负载均衡 Linux
内核:进程与调度机制(笔记)
内核:进程与调度机制(笔记)
59 0
|
1月前
|
资源调度 算法 Linux
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
Linux进程/线程的调度机制介绍:详细解析Linux系统中进程/线程的调度优先级规则
91 0
|
9天前
|
算法 Linux 调度
深入理解Linux内核的进程调度机制
【4月更文挑战第17天】在多任务操作系统中,进程调度是核心功能之一,它决定了处理机资源的分配。本文旨在剖析Linux操作系统内核的进程调度机制,详细讨论其调度策略、调度算法及实现原理,并探讨了其对系统性能的影响。通过分析CFS(完全公平调度器)和实时调度策略,揭示了Linux如何在保证响应速度与公平性之间取得平衡。文章还将评估最新的调度技术趋势,如容器化和云计算环境下的调度优化。
|
14天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
20 3
|
5月前
|
算法 调度 C++
【OSTEP】进程调度: 介绍 | Convoy护航效应 | 最短任务优先(SJF) | 最短完成时间优先(STCF) | 轮转 RR | 结合I/O
【OSTEP】进程调度: 介绍 | Convoy护航效应 | 最短任务优先(SJF) | 最短完成时间优先(STCF) | 轮转 RR | 结合I/O
69 0
|
2月前
|
存储 Linux 调度
进程优先级与进程调度
进程优先级与进程调度
进程优先级与进程调度
|
3月前
|
Linux 测试技术 调度
进程调度预备开发
进程调度预备开发
29 0
|
3月前
|
算法 Linux 调度
内核编译,进程调度
内核编译,进程调度
38 0
|
4月前
|
算法 调度
进程的调度算法有哪些
进程的调度算法有哪些
|
4月前
|
算法 Linux 调度
Linux进程调度机制
Linux进程调度机制
62 0

相关实验场景

更多