Linux Kernel:thread_info与进程调度

这篇具有很好参考价值的文章主要介绍了Linux Kernel:thread_info与进程调度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:

Kernel Version:Linux-5.10

ARCH:ARM64

   

 一:概述

Linux是多任务系统,它支持(看上去)并发执行的若干进程。系统中同时真正在运行的进程数目最多不超过CPU数目,因此内核会按照短的时间间隔在不同的进程之间切换(用户是注意不到的),这样就造成了同时处理多进程的假象。

  • 内核借助于CPU的帮助,负责进程切换的技术细节。必须给各个进程造成一种错觉,即CPU总是可用的。通过在撤销进程的CPU资源之前保存进程所有与状态相关的要素,并将进程置于空闲状态,即可达到这一目的。在重新激活进程时,则将保存的状态原样恢复。进程之间的切换称之为进程切换。
  • 内核还必须确定如何在现存进程之间共享CPU时间。重要进程得到的CPU时间多一点,次要进程得到的少一点。确定哪个进程运行多长时间的过程称为调度。

 进程的创建及其对应API可以参考之前的文章,本篇文章重点为进程在内核中的实现过程。文章来源地址https://www.toymoban.com/news/detail-480794.html

到了这里,关于Linux Kernel:thread_info与进程调度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】 由“进程”过渡到“线程” -- 什么是线程(thread)?

    如何看待地址空间和页表: 地址空间是进程能看到的资源窗口 页表决定,进程真正拥有资源的情况(页表映射多少才是拥有多少) 合理的对地址空间+页表进行资源划分,我们就可以对一个进程所有的资源进行分类 虚拟地址如何找到物理地址: 最后一级页表存放的是页框的起

    2024年02月15日
    浏览(44)
  • Linux进程调度

    转自:深入理解Linux进程调度(0.4)_进程调度 城_城中之城的博客-CSDN博客 一、进程调度概览 进程调度是操作系统最重要的内容之一,也是学习操作系统的重点和难点。关于进程本身的实现和管理请参看《深入理解Linux进程管理》。关于进程调度,我们首先就会问出一些问题,什

    2024年02月13日
    浏览(43)
  • 【Linux】详谈进程优先级&&进程调度与切换

             进程要访问某种资源,进程通过一定的方式排队,确认享受资源的优先顺序。计算机中资源过少,所以进程访问某种资源时需要排队。          进程的优先级其实就是PCB中的一个整形变量(int PRI)。Linux中进程的默认优先级是80,这个默认优先级是可以被修改

    2024年03月22日
    浏览(50)
  • Linux下进程的调度与切换

    文章目录: 进程的调度与切换     进程切换     进程调度       活动状态进程队列       位图判断       过期队列     总结 前言:   在Linux操作系统中,进程的调度与切换是操作系统核心功能之一,它直接影响着系统的性能和响应速

    2024年03月19日
    浏览(32)
  • 进程切换和是Linux2.6内核中进程调度的算法

    正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能 学习网站, 通俗易懂,风趣幽默 ,忍不住分享一下给大家。点击跳转到网站。 进程并发就需要做到进程切换,一个CPU一套寄存器但是需要运行的进程有很多,CPU内是内置的有时间片的,当时间片到之后,上

    2024年01月16日
    浏览(44)
  • 操作系统理论:Linux进程与进程状态(进程调度的大O(1)算法数据结构模型)

    冯诺依曼体系的计算机在运行时,内存中会预加载许多程序(数据+运算指令集),然而CPU 同一时刻只能执行一个程序 (多个程序竞争CPU资源),此时就需要操作系统 对内存中的诸多程序进行管理 ,让CPU资源得到合理的分配,于是便有了进程的概念: 进程:描述程序的结构体对象( PCB结构体

    2024年02月15日
    浏览(46)
  • 《深入Linux内核架构》第2章 进程管理和调度 (2)

    目录 2.4 进程管理相关的系统调用 2.4.1 进程复制 2.4.2 内核线程 2.4.3 启动新程序 2.4.4 退出进程 本专栏文章将有70篇左右,欢迎+关注,订阅后续文章。 1. _do_fork函数         fork vfork clone都最终调用_do_fork                 clone:通过CLONE_XX标志精确控制父子进程共享哪

    2024年04月11日
    浏览(39)
  • 【Linux进程】进程状态 {进程状态的介绍,进程状态的转换,Linux中的进程状态,浅度睡眠VS深度睡眠,僵尸进程VS孤儿进程,调度器的作用}

    1.1 进程状态介绍 创建状态:当一个进程被创建时,它处于创建状态。在这个阶段,操作系统为进程 分配必要的资源 (将代码和数据拷贝到内存,创建PCB结构体等),并为其分配一个唯一的进程标识符(PID)。 就绪状态:进程就绪状态是指进程已经满足了运行的条件, 进程

    2024年02月12日
    浏览(41)
  • 基于VSCode的Linux内核调试环境搭建以及start_kernel跟踪分析

    参考ppt的步骤: 准备工作:1-5 ,配置vscode环境:6 ,跟踪分析:7。 目录 1.安装开发工具  2.下载内核源码  3.配置内核选项 4.编译和运行内核 5.制作内存根文件系统 *gdb调试(可跳过)  7.配置VSCode调试Linux内核  7.跟踪分析 下载出现了“Axel -n 20 :太多重定向”的问题,原因是

    2023年04月17日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包