自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

内核工匠

内核工匠秉承开源精神,分享Linux内核相关黑科技、技术文章、技术资讯和精选教程,文章首发在微信公众号“内核工匠”(Linux-Tech),欢迎大家关注,共同交流探讨

  • 博客(278)
  • 收藏
  • 关注

转载 倒计时1天,第20届「CLK大会」全议程和直播链接公开

第二十届中国Linux内核开发者大会【主论坛】分论坛五:AI基础设施与eBPF应用。分论坛四:硬件架构与异构计算。分论坛三:调度、性能与调试。分论坛一:内存管理与优化。分论坛二:文件系统与存储。

2025-10-31 12:04:38 1385

转载 <span class=“js_title_inner“>倒计时1天,第20届「CLK大会」全议程和直播链接公开</span>

第二十届中国Linux内核开发者大会【主论坛】分论坛五:AI基础设施与eBPF应用。分论坛四:硬件架构与异构计算。分论坛三:调度、性能与调试。分论坛一:内存管理与优化。分论坛二:文件系统与存储。

2025-10-31 12:04:38 301

转载 速览!第 20 届 CLK 大会硬件架构与异构计算分论坛议程出炉

(完)

2025-10-22 17:03:35 1054

转载 收藏!第 20 届 CLK 大会文件系统与存储分论坛议程已上线

(完)

2025-10-22 17:03:35 1067

转载 第 20 届 CLK 大会新动态:调度、性能与调试分论坛议程公布

(完)

2025-10-22 17:03:35 1045

转载 第 20 届 CLK 大会速递!内存管理与优化分论坛议程正式公布

(完)

2025-10-22 17:03:35 1050

转载 划重点!第 20 届 CLK 大会 AI 基础设施与 eBPF 应用分论坛议程新鲜发布

(完)

2025-10-22 17:03:35 1001

转载 <span class=“js_title_inner“>第 20 届 CLK 大会新动态:调度、性能与调试分论坛议程公布</span>

(完)

2025-10-22 17:03:35 300

转载 <span class=“js_title_inner“>第 20 届 CLK 大会速递!内存管理与优化分论坛议程正式公布</span>

(完)

2025-10-22 17:03:35 286

转载 <span class=“js_title_inner“>收藏!第 20 届 CLK 大会文件系统与存储分论坛议程已上线</span>

(完)

2025-10-22 17:03:35 289

转载 <span class=“js_title_inner“>速览!第 20 届 CLK 大会硬件架构与异构计算分论坛议程出炉</span>

(完)

2025-10-22 17:03:35 288

转载 <span class=“js_title_inner“>速览!第 20 届 CLK 大会硬件架构与异构计算分论坛议程出炉</span>

(完)

2025-10-22 17:03:35 289

转载 第 20 届 CLK 报名通道已开启!请查收参会指南

根据导航可直接到达酒店入口,抵达酒店后进入大堂左转,根据指引乘坐电梯/扶手梯前往 3 楼,即可抵达宴会厅参会。参会嘉宾报名成功后,凭签到二维码在签到处扫码签到,若签到二维码丢失,可报手机号或扫现场核验码签到。:前湾站,地铁 5 号线及 9 号线,D 出口,步行 10 分钟至酒店。:深圳北站-深圳前海 JEN 酒店,驾车车程 35 分钟左右。:深圳站-深圳前海 JEN 酒店,驾车车程 45 分钟。距离会场 2.4 公里 ,驾车 10 分钟。11 月 1 日 ,多云转阵雨 20。(差旅费一般由参会开发者自理)

2025-10-17 16:07:03 1347

转载 <span class=“js_title_inner“>第 20 届 CLK 报名通道已开启!请查收参会指南</span>

根据导航可直接到达酒店入口,抵达酒店后进入大堂左转,根据指引乘坐电梯/扶手梯前往 3 楼,即可抵达宴会厅参会。参会嘉宾报名成功后,凭签到二维码在签到处扫码签到,若签到二维码丢失,可报手机号或扫现场核验码签到。:前湾站,地铁 5 号线及 9 号线,D 出口,步行 10 分钟至酒店。:深圳北站-深圳前海 JEN 酒店,驾车车程 35 分钟左右。:深圳站-深圳前海 JEN 酒店,驾车车程 45 分钟。距离会场 2.4 公里 ,驾车 10 分钟。11 月 1 日 ,多云转阵雨 20。(差旅费一般由参会开发者自理)

2025-10-17 16:07:03 291

原创 2025年Arm最新处理器架构介绍——全新C1系列

SME(Scalable Matrix Extension,可扩展矩阵扩展)是Armv9架构引入的指令集,虽然SME指令集在2021年就提出了,但是Arm的Cortex-X系列处理器从X925才开始支持第一代的SME指令集,苹果公司的M4处理器和今年的A19处理器也支持第一代的SME指令集,最新的高通的8 Elite 2处理器也可以支持SME指令集。新一代的C1-DSU相比DS120,调整了CPU连接的拓扑结构,提供优秀的AI能力支持,支持新的SME2扩展指令集,并且在不影响性能的情况下降低了功耗和面积。

2025-10-10 17:31:34 3703

原创 <span class=“js_title_inner“>2025年Arm最新处理器架构介绍——全新C1系列</span>

SME(Scalable Matrix Extension,可扩展矩阵扩展)是Armv9架构引入的指令集,虽然SME指令集在2021年就提出了,但是Arm的Cortex-X系列处理器从X925才开始支持第一代的SME指令集,苹果公司的M4处理器和今年的A19处理器也支持第一代的SME指令集,最新的高通的8 Elite 2处理器也可以支持SME指令集。新一代的C1-DSU相比DS120,调整了CPU连接的拓扑结构,提供优秀的AI能力支持,支持新的SME2扩展指令集,并且在不影响性能的情况下降低了功耗和面积。

2025-10-10 17:31:34 656

原创 任务调度器:从入门到放弃(四)

rt_mutex_adjust_priochain,可以看到当一个RT线程因为锁的原因进入D状态等待的时候,它会把自己的优先级(RT优先级)传递给锁的持有者,也就是上面截图的kworker/u24:8线程,这时候kworker/u24:8会被短暂的提升到RT的优先级,得到优先调度,等到kworker/u24:8线程释放锁(rtmutex_unlock)的时候,kworker/u24:8会被恢复成原始的CFS进程。当RT线程出现异常时,进行限制。它们对于算力的需求是不一样的,最后的量化结果也应该是不一样的。

2025-07-11 17:30:34 2386

原创 <span class=“js_title_inner“>任务调度器:从入门到放弃(四)</span>

rt_mutex_adjust_priochain,可以看到当一个RT线程因为锁的原因进入D状态等待的时候,它会把自己的优先级(RT优先级)传递给锁的持有者,也就是上面截图的kworker/u24:8线程,这时候kworker/u24:8会被短暂的提升到RT的优先级,得到优先调度,等到kworker/u24:8线程释放锁(rtmutex_unlock)的时候,kworker/u24:8会被恢复成原始的CFS进程。当RT线程出现异常时,进行限制。它们对于算力的需求是不一样的,最后的量化结果也应该是不一样的。

2025-07-11 17:30:34 647

原创 任务调度器:从入门到放弃(三)

而且这个漏电流的占比,随着工艺越来越先进,在整体电流中的占比越来越大。这才是最要命的,不仅不能提升性能,反而会受到惩罚,带来性能的衰退(因为惩罚过于严重,现代处理器至少要保证90%+的分支预测准确性,才能保障最基本的性能不衰退)。这条公式也说明一个最基本的问题,就是CPU频率虽然高了,虽然程序执行时间段了,但是从功耗上看是不划算的(特此阐述一下,因为我遇到很多同学认为,频率高了,程序运行时间短了。更加要命的是,影响漏电流的因素很多,其中一点就是温度(这也很好理解,因为温度越高,电子越活跃,漏电流就越高)。

2025-06-16 17:40:51 2786

原创 任务调度器:从入门到放弃(二)

进程运行的时间横轴,以1ms为一个period周期,Li是一个调度实体在i个时间周期内的负载,虽然进程已经又运行了i个周期,它对当前系统负载仍有贡献 Li*y^i,y是衰减系数, y^32=0.5,距离当前时间点越远,衰减系数越大,对调度实体总的负载影响越小。调度器是知道这个线程1的virtual runtime的(简称V1),同时也是知道左次节点的线程2的virtual runtime(简称V2),随着线程1的在CPU上运行,线程1的virtual runtime V1一直在递增。时间远的,贡献权重小。

2025-05-30 18:00:39 2515 1

原创 <span class=“js_title_inner“>任务调度器:从入门到放弃(二)</span>

进程运行的时间横轴,以1ms为一个period周期,Li是一个调度实体在i个时间周期内的负载,虽然进程已经又运行了i个周期,它对当前系统负载仍有贡献 Li*y^i,y是衰减系数, y^32=0.5,距离当前时间点越远,衰减系数越大,对调度实体总的负载影响越小。调度器是知道这个线程1的virtual runtime的(简称V1),同时也是知道左次节点的线程2的virtual runtime(简称V2),随着线程1的在CPU上运行,线程1的virtual runtime V1一直在递增。时间远的,贡献权重小。

2025-05-30 18:00:39 858

原创 任务调度器:从入门到放弃(一)

也亏了这段牛马的经历,在找工作的时候占了不少的优势。回到cgroup问题这个话题,在android系统里面,top-app、foreground、以及background分组的cpu.shares配额默认都是1024(以后会经常看到1024这个magic number,就跟我们日常用的100分制跟5分制的打分一样). 这是明显不合理的。因此大部分正常的时候,虽然系统的线程数量很多,成千上万个,但是在就绪队列里面(调度器的视野里面的)线程数量并不多(PS:CPU团队大部分都是处理的“不正常”的情况)

2025-05-23 18:01:43 3602 2

原创 <span class=“js_title_inner“>任务调度器:从入门到放弃(一)</span>

也亏了这段牛马的经历,在找工作的时候占了不少的优势。回到cgroup问题这个话题,在android系统里面,top-app、foreground、以及background分组的cpu.shares配额默认都是1024(以后会经常看到1024这个magic number,就跟我们日常用的100分制跟5分制的打分一样). 这是明显不合理的。因此大部分正常的时候,虽然系统的线程数量很多,成千上万个,但是在就绪队列里面(调度器的视野里面的)线程数量并不多(PS:CPU团队大部分都是处理的“不正常”的情况)

2025-05-23 18:01:43 578

原创 ebpf工作原理介绍——ebpf指令集及虚拟机

从前两章介绍可以看到,BPF程序是运行在BPF虚拟机上的,它有自己的指令集,有虚拟机的寄存器。前面一节中介绍了BPF字节码在BPF虚拟机上执行的逻辑,即使没有本章内容,EBPF程序也可以执行起来了,但是虚拟机执行效率肯定不如真实物理机,所以现在BPF还支持JIT编译,将BPF字节码编译成本地可执行的机器指令,直接运行在真实的物理机上。其实可以根据第二章中介绍的BPF字节码中的信息可以看到,每个字节码的opcode是占据8位的,所以这里的jumptable就对应了所有的opcode的取值。

2025-05-16 18:30:47 3405 1

原创 <span class=“js_title_inner“>ebpf工作原理介绍——ebpf指令集及虚拟机</span>

从前两章介绍可以看到,BPF程序是运行在BPF虚拟机上的,它有自己的指令集,有虚拟机的寄存器。前面一节中介绍了BPF字节码在BPF虚拟机上执行的逻辑,即使没有本章内容,EBPF程序也可以执行起来了,但是虚拟机执行效率肯定不如真实物理机,所以现在BPF还支持JIT编译,将BPF字节码编译成本地可执行的机器指令,直接运行在真实的物理机上。其实可以根据第二章中介绍的BPF字节码中的信息可以看到,每个字节码的opcode是占据8位的,所以这里的jumptable就对应了所有的opcode的取值。

2025-05-16 18:30:47 620

原创 自适应流媒体(ABR)技术与算法解析

Adaptive Bitrate Streaming(ABR)是一种视频流媒体技术,它能够根据用户的网络状况动态调整视频的质量和码率,以确保视频播放的流畅性和用户体验, 是现代视频流媒体服务中不可或缺的一部分,本文先是介绍了ABR的背景以及相应的协议,而后则重点探讨了ABR想要达成的目标(QoE最优)、面临的挑战以及面对相应挑战所探索出的基础算法。那么同样的,多分辨率的表示在网络状态不好时虽然尽可能的保证了用户可流畅观看的基本要求,但同样的会带来清晰度的下降问题从而影响用户的观看体验。

2025-04-18 17:30:35 3487

原创 <span class=“js_title_inner“>自适应流媒体(ABR)技术与算法解析</span>

Adaptive Bitrate Streaming(ABR)是一种视频流媒体技术,它能够根据用户的网络状况动态调整视频的质量和码率,以确保视频播放的流畅性和用户体验, 是现代视频流媒体服务中不可或缺的一部分,本文先是介绍了ABR的背景以及相应的协议,而后则重点探讨了ABR想要达成的目标(QoE最优)、面临的挑战以及面对相应挑战所探索出的基础算法。那么同样的,多分辨率的表示在网络状态不好时虽然尽可能的保证了用户可流畅观看的基本要求,但同样的会带来清晰度的下降问题从而影响用户的观看体验。

2025-04-18 17:30:35 634

原创 DRM(Digital Rights Management)生态以及架构介绍

Google Widevine凭借其开放的生态系统、灵活的安全等级(L1/L3)和持续演进的技术(如Provisioning 4.0),成为流媒体领域的主流方案。未来,随着超高清内容和物联网设备的普及,DRM将更深度融入硬件与云服务,推动数字内容分发的安全与创新。随着数字内容分发方式从物理媒介(如DVD、蓝光光碟)转向在线流媒体平台,传统版权保护手段(如物理加密)已无法应对互联网环境下的盗版风险。技术应运而生,旨在通过加密、授权管理和安全传输等手段,保护数字内容在分发、存储和播放过程中的安全性。

2025-04-11 17:30:35 3079

原创 Weaver - 基于安全硬件的锁屏密码方案

Android平台上,GateKeeper+KeyMint是一种常见的密码解锁方案,基于仅用户知道的密码保护用户的数据。OMAPI服务openLogicalChannel被调用时,会先检查调用者的Access Control Rules是否存在后,才会创建和安全芯片通信的channel,这个操作会消耗大量时间。针对Weaver特性进行Channel绑定,即启动过程中访问Weaver Applet时,打开一个固定的逻辑通道不关闭,从而规避每次打开逻辑通道的时间开销,但需要安全芯片供应商做好功耗控制。

2025-03-14 17:31:00 3345

原创 提升移动游戏体验:性能和功耗的双重优化策略

根据中国音像与数字出版协会发布的《2024年中国游戏产业报告》显示,中国游戏用户规模已经达到6.74亿人,在这庞大的市场中,移动游戏实际销售收入占比为73.12%,持续稳居主导地位。这说明如今手机用户玩游戏已经是主流趋势,作为开发者必须为用户提供更好的游戏体验。在游戏体验优化这方面,可能大家第一个想到的是游戏开发商,他们必须合理利用手机系统提供的资源,给玩家流畅舒适的游玩体验。但与主机和PC游戏开...

2025-02-28 17:30:34 4557

原创 探索Android动态埋点的新视界:UprobeStats深度解析

一. 概述Android15中Google正式引入 UprobeStats,它利用Linux Kernel eBPF uprobe(用户空间探针)机制来动态获取用户进程中的埋点数据,并将其汇总至 StatsD 模块。整体架构如下:本文涉及的主要代码路径如下:https://cs.android.com/android/platform/superproject/main/+/main:packag...

2025-02-21 18:08:41 3566

原创 Android 系统服务DisplayManagerService和DisplayDevice生命周期解读

一、引言 DisplayManagerService(以下简称DMS)是 Android 系统中用于管理显示设备的核心服务。Android 早期版本中显示管理主要由SurfaceFlinger和WindowManagerService(以下简称WMS)处理 ,DMS只负责管理基本的显示设备和加载相关配置。Android 4.2中引入了多用户支持功能,每个用户可以拥有独立的显示配置,并且支持多...

2025-01-03 17:31:06 3399

原创 走进音频:器件与效果篇

1引言1.1目的和对象Android手机音频经过多年累积持续迭代,日趋完善,系统趋于稳定。但随着应用的丰富,场景的多样性,以及生态的碎片化,当前的音频架构,依然存在种种缺陷,包括历史遗留包袱。最具代表性的,诸如复杂的音量调节控制,复杂的通话路由策略,特别是蓝牙音频路由,带来的三方应用兼容性问题,始终是Android系统的核心痛点,尽管Google做了很大努力,问题依然多发。从本文开始将在内核工匠栏...

2024-12-27 17:31:10 8135 1

原创 解析H.266/VVC视频编码标准的关键技术

自上世纪90年代开始,MPEG,ITU_T发布第一代视频编码标准MPEG-1、H.261之后,过去30多年,两大标准化组织又陆续发布了多代视频编码标准,目前市场中主流的编码标准是H.264/AVC和H.265/HEVC。其中H.265/HEVC自发布以来,始终未能全面代替上一代标准H.264/AVC,其中专利是一座无法逾越的大山,总共有40多家公司持有H.265/HEVC专利,主要分为三大专利池M...

2024-12-13 17:32:37 5431

原创 ARM64裸机操作系统开发实践

--开始之前的准备一、导言 项目概述 在当今的计算设备中,操作系统(Operating System,简称OS)扮演着至关重要的角色。它连接硬件与应用软件,管理资源,提供用户界面,是现代计算机和嵌入式设备正常运行的基石。随着ARM64架构的流行,我们越来越多地在移动设备、服务器以及物联网设备中见到这种高效且性能优越的处理器架构。本文的目标是带领读者通过实践开发一个简单的裸机操作系统,能够运...

2024-12-06 17:31:33 3006 1

原创 WebRTC音视频同步原理与实现详解(下)

WebRTC音视频同步原理与实现详解(上)第四章、音视频同步实现详解4.1 音视频同步标准音视频做到什么程度才算是同步呢?关于音画同步, 业界有3个标准: 1)ITU-R BT.1359(1998):国际电信联盟标准 2)ATSC IS/191(2003):美国的数字电视国家标准 3)EBU R37(2007):欧洲广播联盟标准目前在音视频同步方面...

2024-11-29 17:28:50 3548

原创 WebRTC音视频同步原理与实现详解(上)

第一章、RTP时间戳与NTP时间戳 1.1 RTP时间戳 时间戳,用来定义媒体负载数据的采样时刻,从单调线性递增的时钟中获取,时钟的精度由 RTP 负载数据的采样频率决定。 音频和视频的采样频率是不一样的,一般音频的采样频率有 8KHz、16KHz、48KHz等,而视频反映在采样帧率上,一般帧率有 20fps、24fps、30fps等。 音视频采样后会给每个音频采样、视...

2024-11-22 17:30:18 3259

转载 近400位内核专家相聚华科,第19届CLK大会圆满落幕,硬核回放已上线

2024 年 10 月 26 日,第 19届中国 Linux 内核开发者大会(以下简称 CLK 大会)于湖北武汉成功举办,线上观看人次超8万。来自全国各地的近 400 名内核开发者相约华中科技大学,聆听讲座,共商 Linux 内核未来之发展,共享内核技术之盛宴。现在就让我们一起来回顾一下本次大会的精彩内容吧。(图/大会现场)CLK 大会举办至今已是第 19 届,由清华大学、Intel、华为、...

2024-11-01 17:01:55 2878

原创 利用ADPF性能提示优化Android应用体验

Android Dynamic Performance Framework(ADPF)是google推广的一套用于优化散热以及CPU性能的动态性能框架。本文主要介绍其中的performance hint的部分。1、为何引入ADPF我们都知道,在大多数设备上,Android 会动态调整CPU的频率和核心类型。如果work load使用的CPU资源较多,那么提升CPU的频率,工作负载最终会移至性能更强...

2024-10-25 17:30:39 3637 1

转载 ODC24 ColorOS 基础体验分论坛:系统能力再升级,重塑安卓流畅体验

引言随着智能手机硬件性能的提升,用户对手机流畅体验的要求已经不仅仅局限于基础的操作流畅,而是开始追求基础操作、动效、内容加载、画面帧率、稳定耐用等多维度的流畅。10 月 17 日,2024 OPPO 开发者大会(以下简称ODC24)在杭州举办,在 ColorOS 基础体验分论坛上,OPPO 对外展示了 ColorOS 系统能力的各项优化升级,从动效、网络、通信、多媒体等多方面为用户带来极致流畅体验...

2024-10-21 11:08:09 2038

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除