8.31

作者: 鹤书嗣音 | 来源:发表于2017-08-31 12:03 被阅读0次
    • Android匿名共享(Ashmen)
      • Android特有内存共享机制,实现了进程间的内存共享。基于ashmen设备(如MemoryDealer可以看作是ashmem的封装),涉及Binder、设备驱动等内容。
      • ashmem设备核心源码位于Linux工程中,实质上扩用了Linux Kernel内存共享机制。
      • ashmem操作函数:
        • ashmem_open:从ashmem_area_cachep分配一块ashamed_area内存(asma),并对其进行初始化操作,声明其名称、权限等,并记录在file文件中,后续即可通过file文件进行访问。
        • ashamed_mmap: 把ashmem设备文件映射到进程虚拟空间中,将同一块物理内存映射至不同进程(即进程间通信的方式),使得进程可以像操作内存一样操作文件。共享进程双方拥有一个共同临时文件file,file为空时即为第一个访问该共享空间的进程,ashmem会创建file并记录,后面其他进程访问file则直接将此file映射过去。
        • ashmem_ioctl:设置ashmem设备名称、获取设备名称、设置设备大小等,并保存在各进程asma中。
    • 明天内容:
      p127-p131

    相关文章

      网友评论

          本文标题:8.31

          本文链接:https://www.haomeiwen.com/subject/htcqjxtx.html