13 eloudy

尚未进行身份认证

篮球 , 工程用的数学,生活认真, 尊老爱幼 ,还在上学。

等级
TA的排名 3w+

Android 图形系统分析的另一个方向,从下到上

两个方向的不同:从上往下好处:是可以从App developer所熟知的各种类和概念出发来展开讨论。缺点:其实App developer所熟悉的概念,一开始看似熟悉而感性,但是当分析到代码中间层的时候,由于主要是一些设计模式拼凑起来的关系,如果不能最终走码到设备内存上去,而是分析到中间就结束分析,那实际上本质还是比较抽象的,从下往上,好处:从C语言操作内存的角度出发,符合人类的...

2019-11-25 13:16:51

Signal : one of Linux IPCs

一个Linux 古老的IPC机制之一;作用:向不同进程发送异步通讯事件; 非法地址访问,键盘敲击,计时器到点;目的:1.通知进程一个特定事件发生了;2.强迫进程执行一段进程自己的信号处理程序。信号特别像中断,事件+代码;但是中断基本是由硬件产生的;信号是软件产生的。相同之处是都有都要执行一段代码;中断执行的是内核代码;信号处理程序执行的用户代码。信号一定是与进程对应的。...

2019-11-13 19:45:51

过程简记:AOSP android emulator build 源码编译 清华源 科大源

检查安装git工具sudo apt-get install git git config –global user.email “eloelo@gmail.com” git config –global user.name “eloelo”可以执行命令检查是否已经设置:git config --global --get user.namegit config --globa...

2019-11-13 13:28:28

备忘一下,vulkan android sample 编译错误:ninja: error: libshaderc.a', needed by

又要编译vulkan-API-Sample,每次找这行命令要用很久,备个忘不编译shaderc的对应的编译错误为:Build command failed.Error while executing process C:\Users\honglei.li\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe with argu...

2019-09-16 19:22:17

使用git bash 在windows上 SSH 远程命令行登录Linux主机,git bash的字体适合开发

推荐使用git bash,没想会推荐这个软件吧。git bash 很牛,比如可以对windows中的源码文件进行grep操作,查找关键字;还可以使用scp,在linux和windows之间拷贝;当然使用windows中的pscp也挺好,多个选择么。windows端预备工作:安装git for windowshttps://gitforwindows.org/Linux服务器至少要做的工...

2019-09-11 10:07:37

用TDD的开发思维解构Android 上面APP的渲染和显示系统

TDD的思维原则:运用于Android代码解构的方式:具体运用:

2019-09-06 20:41:08

Surface and SurfaceFlinger 以android Pie为例,用有意义的方式来解读

以Android Pie为例1.surfaceflinger 是一个独立的CPP应用程序,手机中存放在/system/bin/surfaceflinger可以看一下surfaceflinger调用的库:<----------------------------------------------------------------------------$adb shell...

2019-09-06 19:33:44

用抽象分层的方法分析Android的渲染和显示系统

Hello World!

2019-09-06 18:53:43

一个App的UI是如何产生并显示在屏幕上的,基于数据流和源代码关键数据结构和关键函数Surface,SurfaceFlinger,View

Hello World!

2019-09-06 18:52:20

面试题创作0010,请论述您对MMU的认识。

1.请问你第一次在项目中接触MMU是什么情形?(其实很少,除非是深度设计公司)2.请问简单论述MMU的使用步骤。3.Intel 的MMU和MIPS的MMU,以及ARM和RISC-V的MMU有不一样么?4.您对MMU的发展历史有了解么?比如第一个MMU是哪家公司在那个方案中提出来的呢?5.请问MMU有什么作用呢?...

2019-07-24 10:45:16

面试题创作0009,请问Linux kernel中的spinlock_t 是如何实现互斥访问同一数据的?

面试题创作0007,请问Linux kernel中的spinlock_t 是如何实现互斥访问同一数据的?在单核多线程,多核多线程,多cpu多线程中,spinlock_t实现互斥的机制有区别么?分别是什么呢?进一步列举一些使用spinlock_t的情况和组件。比如wait queues(kernelcoderoot/include/linux/wait.h)需要spinlock_t么?...

2019-07-19 15:44:25

面试题创作0008,请说明当系统中的主CPU的MMU单元,与设备中的MMU单元共用内存时,两个CPU地址总线与内存的链接方式。

请说明当系统中的主CPU的MMU单元,与设备中的MMU单元共用内存时,两个CPU地址总线与内存的链接方式。这对软件编程的影响是什么呢?比如如何做到互知内存的分配情况,避免两个CPU打架的机制。...

2019-07-18 14:46:32

面试题创作0007,请说明c语言库函数malloc在Linux上的工作原理。

今天只能问这个问题了:请说明c语言库函数malloc在Linux上的工作原理。1. 陈述Linux内存管理的机制;2. mmu工作原理,可以以Arm或intel为例;3.Linux 内核内存管理(伙伴系统和slab,特点及其弊端,优化)与 用户态malloc内存管理的关联;4. malloc与系统调用与异常处理的关系;5. 考虑系统面临极限情况;6. 内存条与gpu的电路连...

2019-07-11 17:30:51

OOM Killer 持续更新中

虚拟地址空间的概念都门儿清,Linux 认为用户进程调用malloc申请了动态内存后不见得马上就会使用这段内存进行写读操作。Linux使用了拖到最后的分配机制——用时分配机制。但是,即使是用时分配,也不见得总有内存可分配。当进程太多,显得内存(加上swap)不足时,就有问题了。所有进程使用的内存量PrM是一定的,而系统物理内存量PyM本身又是有限的,也是一定的。当 用时分配机制导致P...

2019-07-11 11:40:54

LINUX Developer must must master: grep ,| , awk , fine,ldd, pmap,ps,vim+cscope +ctags...

http://www.vim.org/scripts/script_search_results.php1.源码文件搜索源码分析时,寻找文件名中包含某关键字的文件路径:比如寻找kernel源码中包含 usb的文件名。cd kernelSourceCode/ls -R | grep usb-------------------------------------...

2019-07-10 12:10:38

面试题创作0006,请说明gdb能够调试程序的原理。

请详细说明gdb能够调试程序的原理。1. 构成调试系统的软件相关组件;2. 带调试信息的可执行文件的特点;3. CPU相关支持的细节;4. 本机调试和嵌入式设备调试的异同;5. 编译器的配合原理。...

2019-07-09 15:04:12

Ubuntu Linux Host 用adb shell:error: insufficient permissions for device: user in plugdev group; are

热插拔usb设备的文件的访问权限。简单解决:cd/etc/udev/rules.d/sudo vim 50-android.rules在文件中添加一行:SUBSYSTEM=="usb" ,ENV{DEVTYPE}=="usb_device" , MODE="0666"退出保存:wq重新拔插手机即可。-------------------------------...

2019-07-09 15:00:27

VNDK

VNDK还没仔细看这个架构,先猜猜看,不要怕猜错了,即使错了也是进入纠正阶段,而不是初学^^,而且可以训练和保持创造能力。先往大了说,软件行业是一个本来不可能出现的行业。人类工业革命过程中创造了很多生产管理和科研管理理论,其中比较牛逼的的就是流水线理论和抽象化的模块化理论。这两个理论都被软件园业很好地吸收了过来。VNDK应该就是模块化。模块化的核心技术是框架化。画个图,让脑海里的...

2019-07-04 20:36:36

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(...)failed; error='...' (errno=12)

一. 原因发生在Linux Ubuntu上,运行或编译占用内存巨大的大软件大项目的过程中可能会出现 errno12 :Cannot allocate memory。原因应为内存不足,可以尝试增加内存条,可以尝试创建或增加swap的空间。如果算法是自己编写的我的机器用的是swapfile,而不是独立的swap分区,所以修改起来比较方便。二 . 解决 1.观察...

2019-07-04 19:43:21

面试题创作0005,请说明Linux 和 AI的关系(联系和区别)

请说明Linux 和 AI的关系(联系和区别)。(可以在AI的业务应用,平台服务提供,平台设备商,集成电路开发等各个跟AI相关的行业来寻找联系和区别)...

2019-07-01 13:22:52

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。