zRAM内存压缩技术原理与应用

作者:OPPO内核团队 发布于:2020-3-8 8:38 分类:内存管理

说到压缩这个词,我们并不陌生,应该都能想到是降低占用空间,使同样的空间可以存放更多的东西,类似于我们平时常用的文件压缩,内存压缩同样也是为了节省内存。

尽管当前android手机6GB,8GB甚至12GB的机器都较为常见了,但内存无论多大,总是会有不够用的时候。当系统内存紧张的时候,会将文件页丢弃或回写回磁盘(如果是脏页),还可能会触发LMK杀进程进行内存回收。这些被回收的内存如果再次使用都需要重新从磁盘读取,而这个过程涉及到较多的IO操作。就目前的技术而言,IO的速度远远慢于这RAM操作速度。因此,如果频繁地做IO操作,不仅影响flash使用寿命,还严重影响系统性能。内存压缩是一种让IO过程平滑过渡的做法, 即尽量减少由于内存紧张导致的IO,提升性能。

阅读全文>>

标签: zRAM

评论(2) 浏览(2605)

Binder从入门到放弃(下)

作者:OPPO内核团队 发布于:2020-2-18 21:19

 Binder从入门到放弃包括了上下篇,上篇是框架部分,下篇通过几个典型的binder通信过程来呈现其实现细节,即本文。

阅读全文>>

标签: binder

评论(1) 浏览(1264)

Binder从入门到放弃(上)

作者:OPPO内核团队 发布于:2020-2-18 21:13 分类:Linux内核分析

Binder从入门到放弃包括了上下篇,上篇是框架部分,即本文。下篇通过几个典型的binder通信过程来呈现其实现细节,稍后发布,敬请期待。

阅读全文>>

标签: binder

评论(4) 浏览(2409)

F2FS技术拆解

作者:OPPO内核团队 发布于:2020-1-31 20:26 分类:文件系统

F2FS (Flash Friendly File System) 是专门针对SSD、eMMC、UFS等闪存设备设计的文件系统。由三星工程师Jaegeuk Kim于2012年10月发布到Linux社区,并于2012年12月进入Linux 3.8 内核主线。和UBIFS、JFFS2等文件系统不同,F2FS并不直接面向裸NAND闪存设计,而是和其他通用文件系统一样基于块设备层接口实现。既然如此,为什么说F2FS是针对SSD、EMMC、UFS等闪存设备设计呢?另一方面SSD、eMMC、UFS等拥有FTL(Flash Translation Layer)的闪存存储已经对外提供了通用块设备接口,是否真的需要针对性地设计一个文件系统呢?F2FS的“Flash Friendly”体现在哪些方面呢?请跟随本文对F2FS的设计实现做详细拆解,揭开F2FS与FTL“剪不断理还乱”的“爱恨交织”。

阅读全文>>

标签: F2FS

评论(5) 浏览(2771)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog