首页 > 系统相关 >linux 调度器学习 转载;

linux 调度器学习 转载;

时间:2024-03-21 19:12:54浏览次数:26  
标签:优先级 struct 调度 long unsigned linux 进程 转载

转载:http://www.wowotech.net/process_management/scheduler-history.html

转载:O(n)、O(1)和CFS调度器

任务调度器是操作系统一个很重要的部件,它的主要功能就是把系统中的task调度到各个CPU上去执行满足如下的性能需求:

1、对于time-sharing的进程,调度器必须是公平的

2、快速的进程响应时间

3、系统的throughput要高

4、功耗要小

 

为了达到这些设计目标,调度器必须要考虑某些调度因素,比如说“优先级”、“时间片”等。很多RTOS的调度器都是priority-based的,官大一级压死人,调度器总是选择优先级最高的那个进程执行。而在Linux内核中,优先级就是实时进程调度的主要考虑因素。而对于普通进程,如何细分时间片则是调度器的核心思考点。过大的时间片会严重损伤系统的响应延迟,让用户明显能够感知到延迟,卡顿,从而影响用户体验。较小的时间片虽然有助于减少调度延迟,但是频繁的切换对系统的throughput会造成严重的影响。因为这时候大部分的CPU时间用于进程切换,而忘记了它本来的功能其实就是推动任务的执行。

struct task_struct {

volatile long need_resched;

long counter;

long nice;

unsigned long policy;

int processor;

unsigned long cpus_runnable, cpus_allowed;

struct list_head run_list;

unsigned long rt_priority;

......

};

 

标签:优先级,struct,调度,long,unsigned,linux,进程,转载
From: https://www.cnblogs.com/ycjstudy/p/18087897

相关文章

  • 【Linux】内核学习笔记(八)——网络栈简介 转载
    转载:https://void-star.icu/archives/601网络栈从定义上还比较抽象。不过从功能上看,它是为了让主机之间交换数据而生的。要实现网络栈,最原始的一个方式就是:将想发送的报文封装成帧,然后发出去就完事了。接收主机会按约定好的方式解析。不过这种存在一个问题,如果要加密怎么办?要支......
  • Linux系统服务必学之NTP时间服务搭建
            NTP(NetworkTimeProtocol,网络时间协议)是一种用于同步计算机系统时间的网络协议。它允许计算机通过网络与时间服务器进行通信,以获取准确的时间信息并将其应用于本地系统。NTP的主要目标是确保计算机系统之间的时间同步,以便在分布式系统和网络中实现一致性和准......
  • linux 键盘按键键码捕捉测试
    捕捉linux中键盘输入对象的键码情况#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<errno.h>#include<linux/input......
  • Linux服务器上部署更新/重启nuxt项目
    启动/更新/重启nuxt项目步骤1、本地电脑打包生成nuxt文件夹2、压缩nuxt文件夹后上传到服务器3、替换掉服务器上旧的nuxt文件夹..3.1、建议备份服务器上的nuxt文件夹,不做删除操作,只重命名下mvnuxtnuxt20240310//重命名nuxt文件夹为nuxt20240310..3.2、......
  • Linux脏牛提权漏洞复现(DirtyCow)
    #简述脏牛(DirtyCow)是Linux中的一个提权漏洞。主要产生的原因是Linux系统的内核中Copy-on-Write(COW)机制产生的竞争条件问题导致,攻击者可以破坏私有只读内存映射,并提升为本地管理员权限。#前期准备靶机:vulnhub——Lampiao192.168.230.217攻击机:Kali192.168.230.128#复现......
  • linux 录屏软件
    对于Linux操作系统,我们经常使用SSH远程登录服务器命令行界面进行管理,有时需要记录所做的操作。此时,我们就需要用到script命令,它可以制作一份记录输出到终端的记录,该记录可以保存并在以后再打印出来。script命令默认情况下就被安装,无需额外安装,使用时会用到script和scriptrepla......
  • linux部署Minio
    linux部署Minio 1、官网https://min.io/docs/minio/linux/index.html?ref=docs-redirect下载minio程序运行文件,wgetwgethttps://dl.min.io/server/minio/release/linux-amd64/minio 2、创建数据目录mkdir-p/data/minio/data 3、移动minio服务运行......
  • Linux应用编程和网络编程
    一、Linux中的文件IO..11.1应用编程框架介绍..11.1.1.什么是应用编程..11.1.2.课程思路..11.1.3.什么是文件IO..11.2文件操作的主要接口API11.2.1.什么是操作系统API11.2.2.文件操作的一般步骤..11.2.3.重要概念:文件描述符..21.3一个简单的文件读写实例........
  • 二、linux基础命令
    2.1linux的提示符1.[root@localhost~]#提示符的格式1.[当前用户名@当前的主机名当前所在的位置]身份标识符root的提示符1.[root@localhost~]#tom的提示符1.[tom@localhost~]$身份标识有俩种1.#表示这个用户是管理员2.$表示这个用户是普通用户当前所在的位置......
  • Uboot启动Linux内核
    参考资料来源:https://www.bilibili.com/video/BV12E411h71h?p=22&vd_source=432ba293ecfc949a4174ab91ccc526d6正点原子Linux驱动开发指南 image全局变量:在bootm.c中,存在一个全局变量bootm_headers_timages;/*pointerstoos/initrd/fdtimages*/结构体定......