关闭
当前搜索:

Android 的lowmemorykiller机制

转自:http://blog.csdn.net/u012440406/article/details/51960387 最近在处理一些lowmemorykiller相关的问题,于是对lowmemorykiller机制作了一个简单的了解。在这里总结一下。 首先,是lowmemorykiller的一些背景知识。 众所周知,Andorid的实质是一个...
阅读(2) 评论(0)

Linux内核内存压缩技术

为什么需要内存压缩说到压缩这个词,我们都可以想到是降低占用空间,使同样的空间可以存放更多的东西,如我们平时常用的压缩文件等。内存压缩同样也是为了节省内存。 内存无论是多大,总是不够用的(至少目前如此),而当系统内存紧张的时候,系统会将匿名页swap出去disk(flash).而这涉及到IO操作,这RAM操作速度不是一个数量级的。因此,如果频繁地做IO操作,不仅影响flash使用寿命,还严重影响系统...
阅读(22) 评论(0)

git如何合并两个仓库

如何合并两个仓库假设现在有两个repo:repo1,repo2,每个repo中都已经有一堆提交记录了,现在想把repo2中的记录合并到repo1中,命令如下:cd repo1 git remote add other ../repo2 git fetch other git checkout -b repo2 other/master git checkout master git mer...
阅读(82) 评论(0)

Linux输入子系统

为何需要input子系统Linux系统支持的许多设备,都是输入性的设备,如按键、触摸屏、键盘、鼠标。本质上都是一个个的字符设备驱动,Linux系统为这些设备统一管理实现了input子系统,方便驱动和应用的开发。input子系统软件架构linux输入子系统主要分三层:driver层,core层, event hander层。 Driver层根据core层提供的接口,向上报告发生的按键动作。然后cor...
阅读(46) 评论(0)

Linux并发与同步(二)RCU

概述RCU是Read-Copy-Update的缩写。于linux2.5版本开发期间加入并顺利被社区接纳。现在广泛应用于指针及内核链表的保护。RCU相对其它并发访问保护的锁,具体更好的性能,因为严格意义上来说,RCU并不是一个锁。但RCU对内存是有一定的开销的。为何需要RCU 性能问题,无需获得锁,性能更好。 读写线程可并发执行。 RCU使用接口rcu_read_lock() //RCU读临界区开始...
阅读(55) 评论(0)

Linux电源管理(六)cpuhotplug

概述目前处理器大多是多核,4核和8核等。linux在初始化的时候会调用开启smp多核。最后,空闲的cpu会进入cpuidle状态。cpuhotplug,可以根据cpu负载的情况,自动开核,做到性能与功耗的平衡。实现原理定期采样计算cpu负载cpuhotplug线程这里描述是的cmp的情况,如果big.LITTLE情况还会有些差异。...
阅读(74) 评论(0)

内存映射mmap

概述应用与设备驱动之间数据交互,很多时候都使用copy_to_user与copy_from_user。但如果在追求高性能的驱动上,这种拷贝显然不是最佳的做法。 Linux内核提供了一种内存映射的机制,它主要完成将设备的地址空间映射到用户空间或者直接使用用户空间中的地址,这样做的目的显然是为了提升系统性能。设备缓存与设备内存的概念 设备缓存:由驱动管理的位于RAM中的一段内存区域。 设备内存:设备所...
阅读(49) 评论(0)

图说“数字签名”与“数字证书”

今天,我读到一篇好文章。 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。 我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。 文中涉及的密码学基本知识,可以参见我以前的笔记。 =======...
阅读(37) 评论(0)

ARM TrustZone技术简介(四)(TrustOS)

转自:http://blog.csdn.net/Alex___Zhao/article/details/77608018 TrustZone技术在物理上可以把一个ARM处理器核分时复用为两个不同的处理器,在处理器的非安全部分运行的是标准的Linux系统,而在另外一侧运行的是安全强相关的功能。而由于ARM  TrustZone的硬件隔离作用,其相互之间的交互只能通过机器指令SMC来...
阅读(173) 评论(0)

ARM TrustZone技术简介(三)(BL31 Secure Monitor简介)

转自:http://blog.csdn.net/Alex___Zhao/article/details/76794586 在使用TrustZone技术的嵌入式设备当中,无法避免的需要解决从非安全侧切换到安全侧的问题,而为了完成这个切换,需要一个专用的进行非安全上下文和安全上下文切换的固件,这个固件一般我们称为arm trust firmware,在ARM官方维护的github中我...
阅读(159) 评论(0)

ARM TrustZone技术简介(二)

转自:http://blog.csdn.net/Alex___Zhao/article/details/76695492 对具有TrustZone的ARM处理器来说,为了保证运行其在EL3,安全侧和非安全侧的不同软件系统,其一般分为多个部分被bootloader分别进行加载运行,其流程在Linaro的Trust Firmware中有介绍,其基本流程如下图所示 当...
阅读(120) 评论(0)

ARM TrustZone技术简介(一)

转自:http://blog.csdn.net/Alex___Zhao/article/details/76647377 有幸做过将近1年时间的TrustZone OS,这里对通用的TrustZone硬件技术做一点记录,来记录自己曾经工作过的领域。 TrustZone是ARM处理器特有的一个安全特性,其简介可以在ARM的官方网站上找到 https://ww...
阅读(206) 评论(0)

Linux电源管理(五)thermal

thermal子系统概述thermal子系统是内核提供的温控管理框架,一套软件温度解决方案,配合ic内部温度传感器,对ic温度进行管控,保证系统稳定性。 thermal系统多用于对ic内部的重点发热模块的功能管控,如cpu、gpu。 thermal sensor驱动负责读取硬件温度sensor的温度,并传给thermal 子系统,thermal子系统将根据调控对象的温度,决定是否触发对应的冷却措...
阅读(132) 评论(0)

Android访问硬件的方法

Android应用访问硬件的两种方法我们知道,Android应用由java编写,而java不能直接访问硬件,那么Android应用如何访问硬件? 一般有两个访问硬件的方法: JNI访问 硬件访问服务 JNI访问JAVA APP—>JNI_OnLoad()加载C库—->将JAVA三个地方法与C库函数进行关联并注册—->调用JAVA本地Native方法就可以访问C库的C接口——>进而访问硬件驱动中的o...
阅读(152) 评论(0)

图解Android系统的启动过程

转自博客:http://ticktick.blog.51cto.com/823160/1659473看到网上一篇博客写Android启动流程,讲的还是比较清晰,这里就转载过来了,感谢前人的总结分享。 学习任何软硬件系统,研究系统启动过程都是一种非常有效地起步手段,搞Android内核开发也不例外。网上有很多文章对Android启动相关代码进行分析和走读,大家可以先搜索阅读一下,我...
阅读(110) 评论(0)
29条 共2页1 2 下一页 尾页
    个人资料
    • 访问:3905次
    • 积分:259
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条