摘要: 一、Crash? 当linux系统内核发生崩溃的时候,可以通过KEXEC+KDUMP等方式收集内核崩溃之前的内存,生成一个转储elf文件vmcore或者其他dump形式。内核开发者通过分析该elf dump文件就可以诊断出内核崩溃的原因,从而进行操作系统... 阅读全文
posted @ 2020-12-04 17:00 内核工匠 阅读(3967) 评论(0) 推荐(1) 编辑
摘要: 由于内存和磁盘的读写性能差异较大,Linux会在内存充裕时将空闲内存用于缓存磁盘数据,以提高I/O性能。相对的在内存紧张时Linux会将这些缓存回收,将脏页回写到磁盘中。而在进程的地址空间中,如heap,stack等匿名页,在磁盘上并没有对应的文件,但同样... 阅读全文
posted @ 2020-11-27 17:00 内核工匠 阅读(1748) 评论(0) 推荐(0) 编辑
摘要: 网上已经有很多阐述ftrace原理和使用方法的文章,本文不会面面俱到的介绍所有涉及的原理和方法,只会聚焦在阐述ftrace的event tracing机制,以及如何利用该机制(包括其他一些方法配合)去跟踪某个进程的调度信息。本文的分析基于处理器为ARM64... 阅读全文
posted @ 2020-11-20 17:00 内核工匠 阅读(2523) 评论(0) 推荐(0) 编辑
摘要: KASAN 是 Kernel Address Sanitizer 的缩写,它是一个动态检测内存错误的工具,主要功能是检查内存越界访问和使用已释放的内存等问题。KASAN 集成在 Linux 内核中,随 Linux 内核代码一起发布,并由内核社区维护和发展。... 阅读全文
posted @ 2020-11-13 17:00 内核工匠 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: CHRE(Context Hub Runtime Environment)是基于事件驱动的系统,因此CHRE围绕事件循环构建,该循环执行nanoapp代码以及CHRE系统回调。根据CHRE API,nanoapp一次不能在一个以上的线程中执行,因此,尽管系... 阅读全文
posted @ 2020-11-06 17:00 内核工匠 阅读(1522) 评论(0) 推荐(0) 编辑
摘要: Fuse(filesystem in userspace),是一个用户空间的文件系统。通过fuse内核模块的支持,开发者只需要根据fuse提供的接口实现具体的文件操作就可以实现一个文件系统。由于其主要实现代码位于用户空间中,而不需要重新编译内核,这给开发者... 阅读全文
posted @ 2020-10-30 17:00 内核工匠 阅读(10219) 评论(0) 推荐(1) 编辑
摘要: 为什么需要只读压缩文件系统? 在存储容量有限的嵌入式设备上,一般对于系统分区在使用过程中没有数据写入需求,同时希望可以节省存储空间——只读压缩文件系统应运而生。另外,只读压缩文件系统也可用于归档文件。相比tar,zip等压缩软件,只读压缩文件系统的性能和... 阅读全文
posted @ 2020-10-23 17:00 内核工匠 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 9 月 24 日,OPPO 正式发布了基于安卓 11 的 ColorOS 11 操作系统。而就在这款操作系统发布的次日,也就是 9 月 25 日,ColorOS 官方宣布,收到了中国泰尔实验室颁发的「移动智能终端系统抗老化能力」测评证书,该证书具体意味着什... 阅读全文
posted @ 2020-10-22 12:00 内核工匠 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 一、Type-C简介 自1998年以来,USB发布至今,USB已经走过20个年头有余了。在这20年间,USB-IF组织发布N种接口状态,包括A口、B口、MINI-A、MINI-B、Micro-A、Micro-B等等接口形态,由于各家产品不同,不同产... 阅读全文
posted @ 2020-10-16 17:00 内核工匠 阅读(2754) 评论(0) 推荐(0) 编辑
摘要: 在手机应用越来越多,机身越来越轻薄的今天。CPU卡顿问题、手机发热问题和待机续航问题越来越多。限频、降帧,这些常用的手段会降低用户的体验,并不是根本的解决之策。我们迫切需要一个低功耗高性能的秘密武器,来解决遇到的上述问题。DSP作为手机中已配置的资源,其拥... 阅读全文
posted @ 2020-09-30 17:00 内核工匠 阅读(2890) 评论(0) 推荐(0) 编辑