- 博客(57)
- 收藏
- 关注
原创 浅析丢帧检测机制上篇
一、背景在android平台上,对于用户而言,卡顿的层面较为广义,比如应用出现ANR,启动时间变成长,游戏的帧率不稳定,视频加载慢、滑动丢帧感较明显等等都一并认为是卡顿现象,主要原因是由...
2021-01-15 17:00:00
16
原创 android平台eBPF初探
一、eBPF是什么eBPF是extended BPF的缩写,而BPF是Berkeley Packet Filter的缩写。对linux网络比较熟悉的伙伴对BPF应该比较了解,它通过特定的...
2021-01-08 17:00:00
37
原创 负载均衡情景分析
我们描述CFS任务负载均衡的系列文章一共三篇,第一篇是框架部分,第二篇描述了task placement和active upmigration两个典型的负载均衡场景。本文是第三篇,主要通...
2020-12-31 17:00:00
63
原创 Linux Kernel Utilization Clamping简介
随着linux内核调度技术的不断演进,目前存在多个调度类(stop、deadline、rt、cfs、idle)以满足不同性质和要求的任务(task)的调度需求。对于用户空间来说,完全公平...
2020-12-25 17:00:00
119
3
原创 Linux内核File cache机制(上篇)
一、什么是File cache?1. File cache概述Linux File cache机制,每次动笔想写到该知识点的时候,我心里总会犹豫迟疑,众所周知内存管理是Linux系统的...
2020-12-18 17:04:50
111
3
转载 Reno5 系列登场,搭载最新 ColorOS 11
福利活动:点击阅读原文,在 ColorOS 微信聊天窗口回复 1210,抽送 1 部 OPPO Reno5 手机哦~转载说明:本文转载自ColorOS公众号长按关注内核工匠微信Linux...
2020-12-11 17:00:00
56
原创 CRASH安装和调试
一、Crash?当linux系统内核发生崩溃的时候,可以通过KEXEC+KDUMP等方式收集内核崩溃之前的内存,生成一个转储elf文件vmcore或者其他dump形式。内核开发者通过分析...
2020-12-04 17:00:00
108
1
原创 Linux Swap 介绍
由于内存和磁盘的读写性能差异较大,Linux会在内存充裕时将空闲内存用于缓存磁盘数据,以提高I/O性能。相对的在内存紧张时Linux会将这些缓存回收,将脏页回写到磁盘中。而在进程的地址空...
2020-11-27 17:00:00
1094
2
原创 如何利用ftrace精确跟踪特定进程调度信息
网上已经有很多阐述ftrace原理和使用方法的文章,本文不会面面俱到的介绍所有涉及的原理和方法,只会聚焦在阐述ftrace的event tracing机制,以及如何利用该机制(包括其他一...
2020-11-20 17:00:00
437
3
原创 Linux内核内存检测工具KASAN
KASAN 是 Kernel Address Sanitizer 的缩写,它是一个动态检测内存错误的工具,主要功能是检查内存越界访问和使用已释放的内存等问题。KASAN 集成在 Linu...
2020-11-13 17:00:00
129
原创 CHRE架构浅谈
CHRE(Context Hub Runtime Environment)是基于事件驱动的系统,因此CHRE围绕事件循环构建,该循环执行nanoapp代码以及CHRE系统回调。根据CHR...
2020-11-06 17:00:00
126
原创 FUSE文件系统
Fuse(filesystem in userspace),是一个用户空间的文件系统。通过fuse内核模块的支持,开发者只需要根据fuse提供的接口实现具体的文件操作就可以实现一个文件系...
2020-10-30 17:00:00
472
原创 盘点只读压缩文件系统
为什么需要只读压缩文件系统?在存储容量有限的嵌入式设备上,一般对于系统分区在使用过程中没有数据写入需求,同时希望可以节省存储空间——只读压缩文件系统应运而生。另外,只读压缩文件系统也可用...
2020-10-23 17:00:00
49
转载 通过泰尔抗老化五级认证,ColorOS 11助力手机持久流畅
9 月 24 日,OPPO 正式发布了基于安卓 11 的ColorOS11 操作系统。而就在这款操作系统发布的次日,也就是 9 月 25 日,ColorOS 官方宣布,收到了中国泰尔...
2020-10-22 12:00:00
97
原创 Type-C PD充电简介
一、Type-C简介自1998年以来,USB发布至今,USB已经走过20个年头有余了。在这20年间,USB-IF组织发布N种接口状态,包括A口、B口、MINI-A、MINI-B、Micr...
2020-10-16 17:00:00
691
原创 基于SIMD的算法加速技术简介
在手机应用越来越多,机身越来越轻薄的今天。CPU卡顿问题、手机发热问题和待机续航问题越来越多。限频、降帧,这些常用的手段会降低用户的体验,并不是根本的解决之策。我们迫切需要一个低功耗高性...
2020-09-30 17:00:00
269
原创 Suspend流程介绍
随着智能手机的普及,大家对手机续航也越来越重视,而手机处于休眠状态又是手机最省电的一种模式,因此本文简单介绍下android下suspend的流程。一、用户空间发起suspend流程我们...
2020-09-25 17:00:00
454
原创 Linux Scsi子系统框架介绍
scsi是一套古老的协议,至今它还在一些硬件中存在和使用,例如基于sata协议的ssd硬盘,ufs器件等。因为scsi命令已经标准化,因此scsi子系统也成为了linux kernel众...
2020-09-18 19:18:18
519
1
原创 Android Input 子系统初探
Android系统基于Linux内核实现,内核作为整个操作系统的核心,对下,它负责整个硬件的驱动、实现对硬件器件的控制管理;对上,它提供各种系统所需的核心功能。Android系统支持的输...
2020-09-11 17:00:00
69
原创 PELT 算法浅析
Linux是一个通用操作系统的内核,她的目标是星辰大海,上到网络服务器,下至嵌入式设备都能运行良好。做一款好的linux进程调度器是一项非常具有挑战性的任务,因为设计约束太多了:它必须是...
2020-09-04 17:00:00
321
原创 深入理解 Linux 位置无关代码 PIC
本文主要描述了Linux系统上关于位置无关代码PIC,位置无关可执行程序PIE及地址空间布局随机化ASLR三个主要特性的原理及联系。第一部分首先介绍了应用程序地址空间的基础知识作为铺垫;...
2020-08-28 17:00:00
249
转载 解读国产UI流畅不卡顿原因,ColorOS有妙招
智能手机作为当下最具代表性的科技产物,虽然更新换代十分快速,但很多用户还是坚持着一年一换甚至是几年一换的习惯,这时候就十分考验手机素质,其中就有搭载了 ColorOS 系统的手机,许多用...
2020-08-26 16:51:16
155
原创 Linux kernel 同步机制(下篇)
在上一部分,我们讨论了最基本常见的几类同步机制,这一部分我们将讨论相对复杂的几种同步机制,尤其是读写信号量和RCU,在操作系统内核中有相当广泛的应用。读写信号量(rw_semaphore...
2020-08-21 17:00:00
112
转载 ColorOS7的软硬深度底层优化
近年 ColorOS 操作系统可以说是进行了更新换代,从初代到如今的第七代 ColorOS,OPPO ColorOS 每次更新都带来了全新的体验和变化,尤其是手机系统的流畅度,有了超级的...
2020-08-19 17:25:52
123
原创 Linux kernel同步机制(上篇)
在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实像多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问,尤其是在多处理器系统上,更需要一些同步机制来同...
2020-08-14 17:00:00
144
原创 Android 热缓解框架解析
随着手机功能的不断丰富,算法复杂性、系统核心频率和集成水平不断提高,而设备的形制和尺寸不断缩小,手机热缓解的重要性日益凸显。为了在手机开始过热时进行有效的热缓解,Android 引入了热...
2020-08-07 17:00:00
571
原创 Android内存异常机制(用户空间)_NE
常见的Android稳定性异常,有内核异常和Android层异常。内核异常也就是常说的“kernel panic”,简称KE异常;Android层异常又分为java层crash和Nati...
2020-07-31 17:00:00
330
1
原创 Android内存异常机制(用户空间)_JE
常见的Android稳定性异常,有内核异常和Android层异常。内核异常也就是常说的“kernel panic”,简称KE异常;Android层异常又分为java层crash和Nati...
2020-07-24 17:00:00
127
原创 USB技术浅析
《带你遨游USB世界》中,我们已经初步介绍了USB的整体架构,本文将从以下几个方面继续介绍USB的内容。USB3.0有什么新特性?TYPEC介绍otg识别流程一、USB3.0USB是史上...
2020-07-17 17:00:00
257
原创 Kernel Crypto框架
随着数字时代的发展,每天都有海量的数据产生,并且用户也越来越重视个人隐私数据的安全,从某种意义上讲,用户个人数据的价值正逐步高于设备本身。实现数据安全保护的基础是【密钥 + 加密算法】;...
2020-07-10 17:00:00
963
2
原创 Linux 物理内存外碎片化浅析
本文出现的内核代码来自Linux4.19,如果有兴趣,读者可以配合代码阅读本文。一、Linux物理内存外碎片化概述什么是Linux物理内存碎片化?Linux物理内存碎片化包括两种:1.物...
2020-07-03 17:00:00
292
原创 安卓系统应用启动流程分析
随着移动开发的兴起,安卓系统的重要性愈加突显。本文简要介绍安卓系统上应用启动流程,对于应用开发、系统定制以及性能优化人员来说,熟悉应用启动流程会使得在今后的工作中更加得心应手,做到知其然...
2020-06-24 17:00:00
171
原创 Menu Governor
在现代操作系统中,往往很多时候并不需要去执行cpu密集型的任务,而每当这个时候,如果去持续的执行循环去等待新的任务发过来,那需要消耗巨大的能量。所以设计人员设计出一种空闲状态以此CPU进...
2020-06-19 17:00:00
192
原创 进程内存管理初探
随着cpu技术发展,现在大部分移动设备、PC、服务器都已经使用上64bit的CPU,但是关于Linux内核的虚拟内存管理,还停留在历史的用户态与内核态虚拟内存3:1的观念中,导致在解决一...
2020-06-12 17:00:00
251
原创 DeviceMapper架构及在android上的应用
在手机上敲一下mount命令,看到很多挂载成dm设备,它们到底是什么?背后的原理又是怎样的?以OPPO Reno3为例:首先请看下:Linux Storage Stack Diagram...
2020-06-05 17:07:00
204
原创 CFS任务的负载均衡
负载均衡的系列文章共分为三篇,第一篇为框架篇,描述负载均衡的相关原理、场景和框架。本篇作为该系列文章第二篇,主要通过对任务放置场景(task placement)的均衡分布进行分析,以便...
2020-05-29 17:00:00
526
原创 sdcardfs 浅析
sdcardfs是三星基于wrapfs框架开发的虚拟文件系统,并凭借其出色的IO性能,在Android O上替代FUSE(File system in Userspace),成功上位。不...
2020-05-22 17:00:00
199
原创 Systrace 的原理、流程及定制
一、原理和基本流程Systrace是android性能调试优化的常用工具,它可以收集进程的活动信息,如界面布局、UI渲染、binder通信等;也可以收集内核信息,如cpu调度、IO活动、...
2020-05-20 20:30:46
404
原创 Multi-queue 架构分析
Linux上传统的块设备层(Block Layer)和IO调度器(如cfq)主要是针对HDD(hard disk drivers)设计的。我们知道,HDD设备的随机IO性能很差,吞吐量大...
2020-05-08 17:00:00
1073
原创 ARMv8 异常处理简介
内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。诸如:“Unable to...
2020-04-30 17:00:00
1147
空空如也
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝