Linux内核优化:提升系统性能的艺术在深入Linux内核优化的世界之前,让我们先来理解一下内核优化的重要性。Linux内核是操作系统的核心,负责管理系统资源和控制硬件。一个经过精心优化的内核可以显著提升系统性能,无论是在处理速度、内存使用效率还是系统稳定性方面。了解你的系统在进行任何优化之前,了解你的系统是至关重要的。使用诸如top、htop、vmstat …
最新内容
Linux在众多进程中是怎么进行调度的,这个牵涉到Linux进程调度时机的概念,由Linux内核中Schedule()的函数来决定是否要进行进程的切换,如果要切换的话,切换到哪个进程等等。Linux进程调度时机主要有:1、进程状态转换的时刻:进程终止、进程睡眠;2、当前进程的时间片用完时(current->counter=0);3、设备驱动程序4、进程 …
什么是协程协程是在线程之上由“用户”构建的并发单元,对OS来说无感知,协程的切换由用户自己管理和调度。(这里的用户是相较于内核而言的,一些通用库这里也理解为用户)CC++怎么实现协程作为一个C++后台开发,我知道像go, lua之类的语言在语言层面上提供了协程的api,但是我比较关心C++下要怎么实现这一点,下面的讨论都是从CC++程序员的角度来看协程的问题 …
来看看,红黑树的广泛的应用:JDK 1.8开始,HashMap也引入了红黑树:当冲突的链表长度超过8时,自动转为红黑树Java中,TreeMap、TreeSet都使用红黑树作为底层数据结构Linux底层的CFS进程调度算法中,vruntime使用红黑树进行存储。多路复用技术的Epoll,其核心结构是红黑树 + 双向链表。所以掌握红黑树是非常有必要的!!!BS …
进程的概念任务的实体程序在内存的运行实例计算机资源的管理者与拥有者进程与线程的区别为了充分利用SMP资源,在进程中衍生了线程,提高并行处理能力一个进程由一个主线程与零个或多个线程组成主线程与线程在内核映射为独立的任务体与调度对象。内核没有线程概念,没有另外的调度算法与数据结构来表示线程线程与所属进程共享地址空间,共享资源内核线程即是没有用户空间在内核中运行 …
前言cgroups 是Docker的两大核心之一,另一个是namespace ,在讲解网络篇时有提到。cgroups是控制群组,是linux 内核用来限制资源,如内存,磁盘,网络等。CPU 限制认识参数docker 是通过 CPU cgroups 来限制容器使用的cpu上限,而和CPU groups 三个比较重要的参数是: cpu.cfs_quota_us、 …
简介:作为一个系统管理程序(hypervisor),Linux 有几个创新,2.6.32 内核中一个有趣的变化是 KSM(Kernel Samepage Merging) 允许这个系统管理程序通过合并内存页面来增加并发虚拟机的数量。本文探索 KSM 背后的理念(比如存储去耦合)、KSM 的实现、以及如何管理 KSM。服务器虚拟化虚拟化技术从上世纪 60 年代 …
这次介绍一下操作系统的进程调度算法操作系统的调度分为三种:1.远程调度(创建新进程);2.中程调度(交换功能的一部分);3.短程调度(下次执行哪个进程)这次讲述的就是短程调度,可以简单的看作咱们平时所说的进程调度啦当发生下面几种情况的时候会调用短程调度器,然后就看下次执行那个进程啦进程调度算法: 先来先服务(FCFS)短作业优先(SPN)最短剩余时间(SRT …
前言:调度器作为操作系统的核心部件,具有非常重要的意义,其随着linux内核的更新也不断进行着更新。本系列文章通过linux-3.18.3源码进行调度器的学习和分析,一步一步将linux现有的调度器原原本本地展现出来。此篇文章作为开篇,主要介绍调度器的原理及重要数据结构。一,调度器介绍随着时代的发展,linux也从其初始版本稳步发展到今天,从2.4的非抢占内 …
多任务并发和并行Linux作为一个多任务操作系统,必须支持程序的并发执行。嵌入式进阶教程分门别类整理好了,看的时候十分方便,由于内容较多,这里就截取一部分图吧。需要的朋友私信【内核】即可领取。内核学习地址:Linux内核源码内存调优文件系统进程管理设备驱动网络协议栈-学习视频教程-腾讯课堂分类非抢占式多任务除非任务自己结束,否则将会一直执行。2.抢占式多任务 …