TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货linux的任务调度机制是什么思维导图

linux的任务调度机制是什么思维导图

  收藏
  分享
免费下载
免费使用文件
Sure 浏览量:312022-09-13 22:54:38
已被使用8次
查看详情linux的任务调度机制是什么思维导图

linux的任务调度机制是指系统在某个事件执行的特定命令或程序;每一个CPU都会有一个队列来存储处于“TASK_RUNNING”状态的任务,任务调度就是从这些队列中取出优先级最高的任务作为下一个放入CPU执行的任务。

树图思维导图提供 linux的任务调度机制是什么思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 linux的任务调度机制是什么思维导图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2f30aea2d95339dc39d327babd830750

思维导图大纲

linux的任务调度机制是什么思维导图模板大纲

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

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

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

上下文切换

从一个进程的上下文切换到另一个进程的上下文,因为其发生频率很高,所以通常都是调度器效率高低的关键

schedule()函数中调用了switch_to宏,这个宏实现了进程之间的真正切换,其代码存放于include/i386/system.h

switch_to宏是用嵌入式汇编写成的,较难理解

switch_to()函数正常返回,栈上的返回地址是新进程的task_struct::thread::eip,即新进程上一次被挂起时设置的继续运行的位置(上一次执行switch_to()时的标号”1:”位置

至此转入新进程的上下文中运行。这其中涉及到wakeup,sleepon等函数来对进程进行睡眠与唤醒操作

选择算法

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

调度步骤

Schedule函数工作流程如下

(1)清理当前运行中的进程

(2)选择下一个要运行的进程(pick_next_task)

(3)设置新进程的运行环境

(4) 进程上下文切换

Linux 调度器将进程分为三类

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

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

本文所关注的仅为调度器,它的主要工作是在所有RUNNING 进程中选择最合适的一个

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

交互式进程

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

批处理进程

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

实时进程

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

相关思维导图模板

904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查思维导图

树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc

9.战斗的基督教思维导图

树图思维导图提供 9.战斗的基督教 在线思维导图免费制作,点击“编辑”按钮,可对 9.战斗的基督教  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:33d168acd0cd9f767f809c7a5df86e3a