• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

linux的任务调度机制是什么意思

武飞扬头像
PHP中文网
帮助15

linux的任务调度机制是什么

是指系统在某个时间执行的特定的命令或程序

在Linux中,每一个CPU都会有一个队列来存储处于TASK_RUNNING状态的任务,任务调度就是从这些队列中取出优先级最高的任务作为下一个放入CPU执行的任务。

任务的调度需要进过两个过程:上下文切换和选择算法

上下文切换

选择算法

Linux schedule()函数将遍历就绪队列中的所有进程,调用goodness()函数计算每一个进程的权值weight,从中选择权值最大的进程投入运行。Linux的调度器主要实现在schedule()函数中。

调度步骤:

Schedule函数工作流程如下:

(1)清理当前运行中的进程
(2)选择下一个要运行的进程(pick_next_task)
(3)设置新进程的运行环境
(4) 进程上下文切换

Linux 调度器将进程分为三类

进程调度是操作系统的核心功能。

调度器只是调度过程中的一部分,进程调度是非常复杂的过程,需要多个系统协同工作完成。

作为一个通用操作系统,Linux 调度器将进程分为三类:

交互式进程

此类进程有大量的人机交互,因此进程不断地处于睡眠状态,等待用户输入。典型的应用比如编辑器 vi。此类进程对系统响应时间要求比较高,否则用户会感觉系统反应迟缓。

批处理进程

此类进程不需要人机交互,在后台运行,需要占用大量的系统资源。但是能够忍受响应延迟。比如编译器。

实时进程

实时对调度延迟的要求最高,这些进程往往执行非常重要的操作,要求立即响应并执行。比如视频播放软件或飞机飞行控制系统,很明显这类程序不能容忍长时间的调度延迟,轻则影响电影放映效果,重则机毁人亡

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tangbgjhh
系列文章
更多 icon
同类精品
更多 icon
继续加载