我们在使用binder时候的大致流程是先获取servicemanger的binder,然后通过该binder获取目标服务的binder,最后调用该binder的接口。本篇就介绍下第一步的内容,涉及了从native到驱动,fwk部分先不涉及,希望可以完全理解servic...
binder是android中独有的一种ipc实现,业界有句话是无binder不android。不了解binder,在阅读android代码中会遇到很多困难,因此为了为后续的android知识介绍打下坚实的基础,决定介绍下binder。binder涉及内容很多,单凭一篇...
堆有rwx权限,下标溢出写got函数为堆地址,在两个堆块上拼接shellcode调用read读入shellcode进行orw拿flag
Shell里有很多命令用来查看/管理/调试RTP,最基本的应该就是组件INCLUDE_RTP_SHOW带来的rtpShow()
VxWorks支持POSIX的shared memory object - 通过shm_open()获得文件描述符,然后使用mmap()进行映射。shared和private方式都支持。
[dalvik.vm.heaptargetutilization]: [0.75]
在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。Frame 是帧的意思,buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。Framebuffer 中保存着一帧图像的每一个像素颜色值,假设 LCD 的分...
众所周知,在fork时,属于进程private的内存页将会进行COW机制。所谓COW,就是一个资源如果需要值拷贝,在读时不创建出副本,仅当写时再创建。这样的话,就可以方便地判断出什么资源需要真的进行拷贝,而能够共享则无需拷贝,从而减...
我们以MediaService为例,来看下service的注册过程。MediaService对应的启动文件在main_mediaserver.cpp中的main方法。
我们可以写一个程序,来创建很多个线程,然后观察内存占用,在我的笔记本上,创建10000个线程后,通过htop命令我观察到,virtual memory使用了80G,resident memory试用了240M,这两个指标的区别在哪呢?我的笔记本内存只有8G,虚拟内存...