首页 > 系统相关 >Linux进程调度机制简记

Linux进程调度机制简记

时间:2024-11-26 23:15:43浏览次数:6  
标签:task struct 调度 简记 指令 线程 Linux 进程

1、Linux任务调度基本概念
1.1 task_struct
Linux系统上执行很多进程、线程,但在内核中这些都被称为“任务”,而内核调度的单位也是“任务”,即线程。
进程和线程的差别在于进程有单独的内存,而线程要和其他线程共享内存。一个进程可以包含很多个线程,所以进程可以理解为线程组。内核代码task_struct结构体里面,刚好有个线程组号tgid。当task_struct中pid与tgid相等时,那么这个线程/任务就是线程组的主线程,即进程号。
进程号和线程号变量在task_struct结构体内,源码在sched.h中,如下图:

注意,在Linux系统用户态,终端输入ps显示的pid是进程号,用户态的pthread提供了pthread_t来表示线程号,和内核是不同的。
1.2 cpu工作流程
cpu其实只做两件事:读指令和执行指令。
while(1){
读指令;
执行指令;
}
如上是cpu的工作流程,“指令”可以理解成一条条汇编语句。

标签:task,struct,调度,简记,指令,线程,Linux,进程
From: https://www.cnblogs.com/fatetoday/p/18571144

相关文章

  • 【Linux】线程同步与互斥
    文章目录1.线程互斥1.1进程线程间的互斥相关背景概念1.2互斥量mutex1.3相关操作1.4互斥量实现原理1.5互斥量的封装2.线程同步2.1条件变量2.2生产者消费者模型2.3基于BlockingQueue的生产者消费者模型2.4信号量2.5基于环形队列的生产消费模型3.线程池3.1......
  • 【原创】linux实时操作系统xenomai看门狗(watchdog)机制及作用介绍
    版权声明:本文为本文为博主原创文章,转载请注明出处https://www.cnblogs.com/wsg1100。如有错误,欢迎指正。目录一、前言PREEMPT-RT(RTThrottling)一、xenomaiwatchdog介绍二、xenomaiwatchdog工作原理三、使用场景本文介绍xenomaiwatchdog,有什么用?它是如何工作的?一、前言介绍......
  • 操作系统三种处理机调度算法介绍
    以下是对先来先服务(FCFS)、短作业优先(SJF)、高响应比优先(HRRN)详细介绍:先来先服务(FCFS)算法•算法原理:按照作业或进程到达系统的先后顺序进行调度,先到达的先被服务,就如同日常生活中排队办事一样,先来的人先得到处理。•计算步骤:1.记录每个作业(或进程)的到达时间和服务时间(即执......
  • 初学者入门Linux系统的一些内容
    第一阶段:基础知识了解Linux的背景什么是Linux?Linux的历史与发展开源与GNU的概念Linux的主要发行版(如Ubuntu、CentOS、Debian等)Linux的基本组成内核(Kernel)Shell与命令行界面文件系统(Filesystem)第二阶段:基本操作Linux桌面环境安装常用的Linux发行版(建议选择Ubuntu或Fedo......
  • Linux 入门 ——用户和用户组基础
    1.计算机通过用户名和密码识别用户。2.Linux中新建用户后,需要设置密码。3.系统中有一个特殊的用户root。4.用户组:把几个用户归在一起,这样的组被称之为用户组,规定文件所属用户组的权限可以使该组所有成员拥有这些权限。普通用户和最高管理员普通用户:安装系统时我们创......
  • 使用Net在Linux环境下调用PowerShell
    前言最近,在使用PowerShell做一些事情,然后需要放到AKS运行。正文一开始,使用的System.Management.Automation调用PowerShell,后来,发现有些功能在AKS下面执行不了,后面才想到使用Process的方式,如下:publicvoidExecutePowerShell(stringscript){try{......
  • linux——动静态库
    Linux——文件系统清尾、动静态库-CSDN博客文章目录目录文章目录前言一、静态库使用静态库使用方法:二、动态库1.创建动态库 打包:伪目标.PHONY​编辑2.使用3、解决动态库的加载问题三、共享库动态库是怎么做到对所有进程进行共享的?前言在上一篇博客中,......
  • 2024 最新 Kali Linux 定制化魔改,完整版添加常见60渗透工具
    系统版本:kalilinux2024.1固件类型:BIOS用户:zss密码:ss系统压缩大小:18.8GB,解出来:36.00GB左右,请提前预留好足够的空间下载链接https://pan.quark.cn/s/e5ca0a5847a4这个版本添加工具武器库比如我们pip命令后面忘了是什么了,我们就可以输入pip然后在......
  • Linux基础之浏览和创建文件
    如果您喜欢我的文章,还可以关注微信公众号,蜗牛全栈一、cat和less命令:显示文件内容在/var/log目录中主要记录程序数据和log日志文件,/var这个目录通常包含程序的数据。log文件通常会记录电脑中发生了什么事情 二、cat命令:一次性显示文件的所有内容cat是concatenate的缩写,表......
  • 掌握SHELL脚本基础,轻松驾驭Linux自动化利器
    文章目录解释器编写规则变量环境变量永久变量已经预设定好的变量脚本标量条件测试文件测试字符串测试命令执行测试控制语句if判断语句case判断语句for循环语句while循环语句until循环语句函数shell脚本之间相互调用与重定向相互调用函数调用参数传递重定向输出重定......