自定义博客皮肤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),欢迎大家关注,共同交流探讨

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

原创 Perfetto数据流架构故障分析:带你研究 trace 为何丢失

在系统工程师的日常工作中,最苦恼的事情之一就是分析问题所依赖的可观测性数据出现了错误。“这该死的玩意儿又出错了!” 在面对新工具出现的新问题时,工程师们在愤懑之余免不了怀念旧时的荣光:那时的调试工具设计精巧,API 简明易用,如老伙计般地可靠。然而随着新系统、新编程语言和新编程框架的不断发展,可观测性工具也在不断地推陈出新,"good old days" 早已一去不复返了。可观测性领域的技术虽并未...

2024-02-23 17:30:51 294

原创 深入理解Linux内核共享内存机制- shmem&tmpfs

搞过Linux人都知道,Linux的世界中,进程的虚拟地址空间有两部分组成:内核空间和用户空间,内核空间各个进程直接共享,而用户空间彼此隔离,大家井水不犯河水。但是并不是老死不相往来,我们有时候需要进程直接共享一些数据,于是乎,Linux就有了共享内存的机制。我们在使用Linux时,匿名页和文件页这两种类型的页面经常在我们耳边回荡,我们或多或少都知道,文件页会关联文件系统中的文件,而匿名页不关联任...

2024-02-02 17:31:43 897

原创 Android分区挂载原理介绍(下)

上章内容请点击链接:Android分区挂载原理介绍(上)三、分区挂载流程介绍 3.1 分区挂载顺序总览挂载顺序实际内容所在物理分区挂载点名称是否为logical分区Avb校验avb校验信息保存位置挂载阶段fstab生效位置1metadata/metadata否否N/Ainit first stagevendor_boot(ramdisk)2super/system是是vbmeta_syste...

2024-01-26 17:00:12 939

原创 Android分区挂载原理介绍(上)

一、 device-mapper基本原理介绍1.1 dm工作原理1.2 dm实现动态卷(逻辑分区)功能介绍(dm-linear)1.3 dm 实现完整性校验功能介绍(dm-verity)1.4 元数据加密(default-key)1.5 dm实现快照功能介绍(snapshot,snapshot-origin,dm-snapsho...

2024-01-19 17:30:17 1141

原创 指纹驱动初始化引发的思考

缩略语清单:写在前边 本文将从Android上指纹驱动初始化为切入点,然后详细分析从开机到初始化整个过程的详细流程,最终将Linux platform device和DTS流程和关系梳理清楚,并类比到其他设计驱动设备。 fp_probe这个函数每次在系统初始化后都会自动执行,主要完成指纹设备相关结构体的初始化,注册其他模块的通知链等。随后在fp_open中,会去解析配置的D...

2024-01-12 17:30:50 977

原创 Linux内核并发与同步机制解读(arm64)下

上章内容请点击Linux内核并发与同步机制解读(arm64)上概述从浅到深,逐步分析各种同步机制的功能。5.读写信号量-rw_semaphore5.1原理介绍rw_semaphore的乐观自旋、handoff机制与mutex的对应机制代码实现略微不同,但是这些机制的思想是完全一样的,因此本章不再赘述乐观自旋、handoff的基本原理,如有需要,请阅读mutex章节。下面仍然通过问答的形...

2024-01-05 17:31:39 942

转载 OPPO亮相2024中国信通院ICT+深度观察报告会上海分会场,《移动应用可信技术研究白皮书》发布!...

文章来源:中国信通院华东分院12月28日,2024中国信通院ICT+深度观察报告会上海分会场暨“虹桥之源”大模型驱动数字经济新生态峰会在上海长宁圆满举办,首次深度聚焦大模型,以“智能涌现,创新生态”为主题,汇聚“产学研用”顶尖智慧,共同探索大模型的前沿技术创新和落地应用实践,为行业发展提供新思路、新方法、新路径。OPPO持续聚焦移动应用的安全可信技术研究,今年重磅发布《移动应用可信技术研究白皮书》...

2023-12-29 18:30:21 86

原创 Linux内核并发与同步机制解读(arm64)上

关键词 原子操作、自旋锁、信号量、mutex、读写锁、percpu-rwsem概述 从浅到深,逐步分析各种同步机制的功能。1、原子操作 解决“读-修改-回写”的完整性,一般用于静态全局变量的保护,静态全局变量的操作过程.例如,我们写一行代码把变量a加1,编译器把代码编译成3条汇编指令。(1)把变量a从内存加载到寄存器。(2)把寄存器的值加1。(3)把寄存器的值写回内存。由于是三条指令,无法...

2023-12-29 18:30:21 991

原创 干货 | 刷机流程介绍

1、背景介绍嵌入式开发者交流中经常听到升级、烧录、刷机等词汇。升级一般特指产品售出后,通过产品自身的升级功能更新ROM系统软件。烧录的概念出现的最早,早期的PROM(一次性可编程ROM)的编程中,主要通过电压熔断器件内部的电路进行编程,所以形象地称之为烧录,后来逐渐沿用到现在的Flash、eMMC和UFS等ROM芯片。刷机是手机行业的术语,是指通过一定的方法更改或替换手机中原本存在的操作系统,通俗...

2023-12-22 17:31:14 996

原创 crash实战:手把手教你使用crash分析内核dump

Kdump是Linux的一种内核崩溃捕获机制,Linux内核遇到致命错误崩溃时会触发Kdump机制将崩溃时的现场保存下来,以便后续分析和故障排查。目前市面上有很多分析Kdump的工具,例如trace32, crash tool,本文介绍crash tool在手机领域的应用,并重点介绍一些实用的技巧。然而,本文的重点并不是介绍crash tool的工作原理和基础命令,也不是为了介绍Kdump转储的原...

2023-12-15 17:30:30 1063

原创 深度好文 | Android高性能音频解析

1.引言1.1目的和对象该文档用于Android音频流畅性,聚焦优化音频卡顿、杂音问题。适用于Android音频开发人员查看。1.2背景游戏、k歌、直播等一些使用场景,音频对时延有较高的要求,保障低延迟,就需要更小的buffer,降低整个链路数据传递时延,但是抗性能抖动能力就会下降。如果音频线程CPU调度延迟,生产数据不及时,系统就会错过buffer周期,产生补0噪声。一方面,Android音频系...

2023-12-08 17:31:14 1222

原创 深入计算机系统看性能优化

一.引言“性能优化”,从计算机诞生之初就一直伴随着计算机技术的发展,直到现在。将来也必定不会消失。这是因为每个人都会追求性价比,花最少的钱,办最多的事。生活中也一样,就比如说泡茶,但凡有点常识的人都不会先洗茶杯,再去烧水,而是先去烧水,在等水开的过程中,去做洗茶杯等工作。这也是一种优化。本篇尝试带大家从计算机系统的角度,简单介绍一下几种性能优化的原理和方法,抛砖引玉,供大家参考。二.访问寄存器代替...

2023-12-01 17:28:13 1015

原创 多图文教你看懂单个图层的绘制流程

背景在Android系统中,图形绘制模块主要分为HWUI以及RenderEngine,我们所能在手机上看到的所有像素都有着这些模块或多或少的参与。而一个最简易的安卓渲染流程如图二所示,应用操作的所有view操作都转换为RenderNode的DisplayList;Displaylist存储着所有的绘制命令以及级联关系。图一图二1.HWUI Skia介绍HWUI、Skia的发展历程主要在Androi...

2023-11-27 11:30:33 959

原创 关于Ultra HDR Image的那些事

一、什么是Ultra HDR Image2023年10月初,google正式发布了Android 14。该版本中引入了一个新的功能Ultra HDR Image,被誉为”图像技术的未来”。之前Android版本各手机厂商或许有自己的HDR图片技术,本文这里重点分析下Android14上google的实现方案。让我们先来看一组图片。上图中左边的图片为SDR(标准动态范围),右边的图片为HDR(高动态...

2023-11-17 17:30:32 550

原创 2023 CLSF大会精彩回顾,近50位行业开发者齐聚OPPO畅谈技术

2023年10月26-27日,2023 CLSF(China Linux Storage, Memory Management & File System Workshop)大会成功举行,本次活动由OPPO承办,活动邀请了SUSE,OPPO, Intel , AMD, 蚂蚁,华为,vivo, 字节跳动,腾讯,阿里云,麒麟软件,红帽,北京大学,中国科学院软件研究所等单位的 Linux Ker...

2023-11-14 11:32:40 231 1

原创 超详细!Linux内核内存规整详解

1.前言伙伴系统作为内核最基础的物理页内存分配器,具有高效、实现逻辑简介等优点,其原理页也尽可能降低内存外部碎片产生,但依然无法杜绝碎片问题。外部碎片带来的最大影响就是内存足够,但是却无法满足内存分配需求,如下图所示:内存外部碎片导致实际占用物理页不多,但是已无法申请>=4个页连续内存,理想当中我们希望内存没有外部碎片,如下图所示:内核并未为此目标设计新的内存分配算法(伙伴系统足够简单和高效...

2023-11-10 17:30:49 317

原创 从量到质:中国如何在开源领域实现跃迁

近日,中国Linux内核开发者的年度盛会——第18届中国 Linux 内核开发者大会(CLK 2023)在深圳圆满落幕。本次大会吸引了近500名来自全国各地的开发者,他们或怀揣对开源文化的热爱,或携带对技术突破的期待,汇聚于此,共同探讨Linux内核的最新发展趋势和技术深度。在开源软件日益成为技术创新与数字经济的重要驱动力的今天,中国的开源社区正处于快速上升期。国内外的技术巨头和众多创新企业纷纷投...

2023-11-10 17:30:49 329 1

原创 Android logd日志简介及典型案例分析

在程序开发过程中,日志打印属于最普遍的操作,是代码调试和验证过程必不可少的手段。在Android开发过程中,我们经常通过Log\Slog等方式写入日志,然后通过对应的logcat命令读取相应的日志信息。具体日志如何写入或者读出,系统代码如何调用,可能也没有深入研究过。本文就通过具体的流程、框架设计、源码分析等讨论下Android日志的读写过程,以及介绍往往遇到日志丢失的场景及典型案例分析。1、日志...

2023-11-03 17:32:34 682

转载 OPPO在CLK大会上公布可编程内核技术,引领安卓流畅体验升级

10月28日,在第18届“中国Linux内核开发者大会”(以下简称CLK)上,OPPO平台软件开发中心GM、软件系统优化技术专家许珉嘉分享了ColorOS下基于用户体验改善的Linux内核优化方案,并公布了可编程内核技术方向,极大程度提升流畅性细节体验,从底层解决安卓卡顿问题。内存优化和内核调度多端发力,为ColorOS流畅性和稳定性保驾护航CLK是中国Linux内核领域颇影响力的峰会之一,至...

2023-11-02 08:30:53 152

转载 线上线下参与人数均创新高 | 第 18 届 CLK 大会圆满落幕,精彩回放已上线

2023 年 10 月 28 日,第 18 届中国 Linux 内核开发者大会(简称 CLK 2023)于深圳成功举办,近 500名开发者从全国各地抵达现场聆听讲座,交流探讨,共享技术盛宴。大会还通过 CSDN、阅码场、思否、InfoQ、腾源会、字节跳动 SYS Tech、openEuler、开源江湖、蔻享等媒体及社区渠道进行了同步直播,直播间累计观看人数超过 18 万。文末放上了大家最关心的直...

2023-11-01 09:50:23 450

原创 ARM NEON在矩阵&向量计算中的加速

一、概述NEON是ARM上使用的一种SIMD(Single Instruction Multiple Data – 单指令多数据)指令集。可实现64位/128位的并行计算。简单理解就是一个计算指令,可以指定4个Float和4个Float并行计算(也可以是其他数据类型,但是必须包含在64位/128位内),得到4个Float结果。而不是一次只能一个Float和一个Float的计算。比如在RGB颜色转灰...

2023-10-27 17:32:51 388

转载 线上直播预约开启!第十八届CLK大会欢迎大家参与!

10 月 28 日上午 9:00第十八届中国 Linux 内核开发者大会将在深圳皇庭V酒店多功能会议厅隆重举行线上直播预约现已开启未能现场参与的伙伴们欢迎大家线上参与线上直播预约及观看通道PART 1 上午专场主论坛 9:00~11:50扫码或通过链接访问:https://live.csdn.net/room/csdnnews/roru5arMPART 2 下午专场分会场1:内存管理 13:30...

2023-10-24 18:36:06 467

原创 手机主流存储器件的分析与发展

一、前言存储器件作为系统中存储数据的物理单元,承担着非常重要的责任,它的运行状态时刻影响着整个系统的运行效率,存储容量和数据安全。所以整个产业针对存储器件的寿命,稳定性,容量,性能以及价格等方面进行着长期持续的探索与改进,进而衍生出了多种多样的存储器件应用于不同阶段和不同场景需求的系统。而手机系统场景尤其复杂,对存储性能(包括IO的带宽,延迟和稳定性)的要求更加严苛。那么应对如此高要求的手机系统,...

2023-10-20 17:32:18 357

转载 大咖云集,智慧碰撞|第 18 届 CLK 大会完整议程揭晓(内附报名通道)

自 2006 年以来,在国内 Linux 技术爱好者和行业公司的鼎力支持下,中国 Linux 内核开发者大会已走过 17个年头,是中国 Linux 内核领域最具影响力的峰会之一。今年的中国内核开发者大会依然秉承历届理念,以“自由、协作、创新”为理念,以推动和普及开源技术为使命。旨在促进国内 Linux 内核开发爱好者的相互学习与交流,促进共同成长。10 月 28 日,第十八届中国 Linux 内核...

2023-10-19 18:23:56 444

原创 手机投屏之WFD简介

一、概述1.1 简介Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连(Wi-Fi Direct)为基础的无线显示标准。支持此标准的消费性电子产品(又称3C设备)可透过无线方式分享视频画面,例如手机可透过Miracast将影片或照片直接在电视或其他设备播放而无需任何连接线,也不需透过无线热点(AP,Access Point)。Wi-Fi Display(WFD)经常和Mirac...

2023-10-13 17:31:12 668

转载 欢迎赐稿 2023 中国 Linux 内核开发者大会及报名线下参会

亲爱的中国 Linux 内核开发者,秋风起兮白云飞,草木黄落兮雁南归。金秋十月,美丽而富饶的南方都市深圳,将迎来一年一度的中国 Linux 内核开发者最大盛会——CLK 2023。本次峰会征稿截止仅剩 2 天,我们再次诚挚地邀请您赐稿 CLK 2023。另外,无论您是否赐稿 CLK 2023,我们都欢迎您报名线下参会。征稿说明本次会议设置 1 个上午主会场和 4 个下午分会场,超 30 个演讲主...

2023-10-08 16:45:27 378

转载 征稿啦!第 18 届「中国 Linux 内核开发者大会」重磅启动

第十八届中国 Linux 内核开发者大会(CLK )如期而至。CLK 以“自由、协作、创新”为理念,以开源技术的推广和普及为使命,旨在促进Linux内核开发爱好者相互交流,共同进步。经过组委会公开征集承办单位和各意向承办单位的答辩竞选,本届大会的承办方最终确定为 OPPO,今年,我们计划于 10 月 28 日在广东深圳相聚。与往年不同的是,本届大会稿件的设置,我们将采用公开征稿以及组委会邀请相...

2023-09-22 17:01:10 258

转载 追求极致性能,OPPO自研64K动态大页等多项技术亮相CCF全国嵌入式系统大会

2023年9月16-17日,第21届CCF全国嵌入式系统大会(CCF ESTC 2023)于甘肃省张掖市召开。此次会议由中国计算机学会(CCF)主办,CCF嵌入式系统专委会、兰州大学、河西学院联合承办,邀请到加拿大工程院院士杨天若教授、西安电子科技大学副校长王泉教授、中科院软件所副所长武延军总工程师等200余位专家学者、业界工程师和学生代表参加。OPPO深度参与大会,带来特邀报告并联合兰州大学举办...

2023-09-22 17:01:10 428

转载 聚焦Linux内核技术与实践,OPPO邀你相约第21届CCF全国嵌入式系统大会

2023-09-15 17:00:47 138

原创 eBPF程序注入到内核中的流程,现在就带你研究(下)

”系列目录1. 疑惑2. vfsstat_bpf__open3. bpf_object__load_skeleton加载bpf4. bpf_object__attach_skeleton附着bpf程序5. 触发bpf程序6 .总结eBPF程序注入到内核中的流程,现在就带你研究(上)3. bpf_object__load_skeleton加载bpfvfsstat_bpf__load调用的就是bpf_...

2023-09-01 17:30:38 430

原创 eBPF程序注入到内核中的流程,现在就带你研究(上)

”系列目录1. 疑惑2. vfsstat_bpf__open2.1 bpf_object__open_skeleton2.2 bpf_object__open_mem/bpf_object_open2.3 OPTS_VALID检查参数合法性2.4 bpf_object__new新建bpf_object对象2.5 bpf_object__elf_init初始化elf文件2.6 bpf_object_...

2023-08-25 17:30:26 410

转载 OPPO南京研发中心参观活动圆满完成

8月21日上午,由南京邮电大学主办,OPPO协办的2023江苏省研究生“边缘智能与网络安全”暑期学校的OPPO南京研发中心参观活动圆满结束。这也是南邮- OPPO“泛终端安全技术”研发中心开展的全方位合作内容之一,旨在为研究生创造更多通过企业游学和参观实践等方式,开拓视野、感受企业文化、了解产业界需求和对外交流的机会。本次活动由南京邮电大学计算机学院、软件学院、网络空间安全学院副院长黄海平教授带领...

2023-08-25 17:30:26 340

转载 保护函数返回的利器——Linux Shadow Call Stack

0x01 写在前面提到内核栈溢出的漏洞缓解,许多朋友首先想到的是栈内金丝雀(Stack Canary)。今天向大家介绍一项在近年,于Android设备中新增,且默默生效的安全机制——影子调用栈:SCS(Shadow Call Stack)。0x02 功能介绍在通常的函数调用中,被调用函数的返回地址存储在栈上,攻击者可以通过篡改栈上返回地址劫持程序的执行流,常见的攻击方式如通过溢出覆盖返回地址、RO...

2023-08-18 17:01:15 203

原创 AMD高保真超分算法1.0解密

FSR 1.0是空间滤波算法,分成EASU和RCAS两部分。EASU是边缘适配的空间上采样(Edge Adaptive SpatialUpsampling),RCAS是健壮对比度适配锐化(Robust Contrast Adaptive Sharpening),从CAS发展而来。Lanczos 采样及多项式拟合FSR 1.0 使用了 Lanczos2 函数:a是Lanczos的核大小,蓝色是a=2...

2023-08-11 17:00:13 249

原创 一文搞定Android VSync机制来龙去脉

1. VSync的起源显示屏上一帧画面的显示过程,是像素自上而下逐行扫描的过程,如果在上一帧的扫描还没有结束的情况下,屏幕又开始扫描下一帧的像素,那么就会出现如下图中撕裂(tearing)的情况。这个问题最初是在PC上被重视和解决的,GPU厂商开发出了一种防止屏幕被撕裂的技术方案,全称Vertical Synchronization(中文名垂直同步,简称VSync)。基本思路就是在屏幕刷新之前向外...

2023-08-04 17:36:56 1476

转载 2023第二届ACM TURC – OPPO安全高峰论坛成功举行

计算科学领域盛会2023 ACM中国图灵大会于7月28日至30日在武汉举行。本次大会邀请到包括多位图灵奖得主、知名院士在内的世界各地专家、学者和企业齐聚一堂,围绕“通用智能,人机共生”的主题,分享计算机领域的最新进展和未来发展方向。7月30日下午,第二届ACM TURC-OPPO安全高峰论坛顺利举行。论坛以“AI赋能安全,数据引领未来”为主题,旨在促进学界与业界安全领域专家学者的沟通交流,探索产学...

2023-08-01 17:30:25 212

原创 一文了解Vulkan在移动端渲染中的带宽与同步

1.移动端GPU架构Immediate Mode Rendering Architecture(IMR)早先PC端的GPU大多数采用的是IMR的架构。IMR架构的大体流程如图所示,值得注意的是对于每个像素,经过数次的color/depth的读写,最终绘制到framebuffer上。这当中的每一次读写,都是直接与内存交互。所以,频繁读写内存,会消耗大量的带宽,这个过程会大量发热。对PC来说,为了更高...

2023-07-28 17:30:04 477

转载 直播预告 | Linux内核page到folio的变迁

Once upon a time,Netscape的大拿 Phil Karlton曾经说过:“There are only two hard things in Computer Science: cache invalidation and naming things”,成为程序界流传甚广的名言,可见取名是计算机科学中最难的两件事之一。取名,要用名字恰到好处地描述其想描述的事物,要体现代码注释的...

2023-07-26 17:30:55 223

原创 RTC在不同业务场景下的最佳音质实践

背景介绍WebRTC是目前实时音视频领域最流行的开源框架。2010年Google收购GIPS引擎后,将其纳入Chrome体系且开源后, 命名为“WebRTC”。WebRTC获得各大浏览器厂商的支持并纳入W3C标准,促进了实时音视频在移动互联网应用中的 普及。2021年1月,W3C和IETF两大标准制定组织宣布WebRTC成为官方标准,用户无需下载额外组件或单独的应用程 序,便可以支持在网络上的实时...

2023-07-21 17:30:10 468

原创 Android VNDK/VSDK Snapshot编译框架

1.背景背景一:为解决Android版本碎片化问题,引入Treble架构,它提供了稳定的新SoC供应商接口,引入HAL 接口定义语言(HIDL/Stable AIDL,技术栈依然是Binder),它指定了 vendor HAL 和system framework的接口, 解耦system Framework 与Vendor HAL, system/vendor组件功能互相独立,从而使得Vendor...

2023-07-14 18:02:00 280

空空如也

空空如也

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

TA关注的人

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