- 博客(6)
- 资源 (2)
- 收藏
- 关注
转载 linux arm的存储分布那些事之一
linux arm的存储分布那些事之一linux arm 内存分布总览上图是linux的arm的虚拟地址分布总览,我们按从低地址到高地址的顺序逐个描述,每项的描述包括如下的内容的组和:地址范围大小,虚拟转物理的接口函数,各个区域对应的分配函数,该区域有什么作用,使用场合等等。首先开始第一个区域:CPUvector page
2015-03-19 18:18:50 561
转载 kmap的实现分析与实验
kmap的实现分析kmap/unkmap系统调用是用来映射高端物理内存页到内核地址空间的api函数,他们分配的内核虚拟地址范围属于[PKMAP_BASE,PAGE_OFFSET]即[0xbfe00000,0xc0000000]范围,大小是2M的虚拟空间,为了映射该块虚拟地址,所使用的二级页表的大小刚好是一个物理page的总计是两个pte table(4KB)kmap的调用流程分析:
2015-03-19 18:17:44 678
转载 mmap那些事之android property实现之二
1 基于tmpfs的mmap系统调用过程前面一篇blog:mmap那些事之android property实现,讲述了android的属性系统是基于tmpfs的mmap来实现内存的共享,只是论述了应用层的使用,并未涉及到内核空间是怎么处理的。包括如下几个问题:mmap系统调用过程tmpfs文件针对mmap做了哪些处理?这里包括tmpfs是怎样分配实际的物理内存到共享
2015-03-19 18:16:07 652
转载 android usb adb流程
android adb 概述android adb的代码分为两部分:kernel层的代码在如下路径:drivers/usb/gadget/f_adb.cdrivers/usb/gadget/android.c他吐给上层应用的是如下的设备节点:/dev/android_adb应用层的代码在如下路径:system/core/adb目录
2015-03-19 17:46:37 477
转载 mmap那些事之android property实现
mmap的概论mmap的一大应用就是将内核空间的一段内存映射到各个应用程序的各自的应用地址空间中,然后各个应用程序都可以访问这段内存空间,这就是所谓的内存共享实现进程间的信息的交互。类似于内核的读写锁一样,应用进程对共享内存的访问分为两种:一种是读,一种是写。所有进程的读可以同时并发的访问同一个内存地址,但写跟读是互斥的,即我在读某个内存地址的时候,不能有写的操作,写操作相对于读操作有更高
2015-03-19 17:40:35 388
转载 并发和竞态
今天我们会分析到以下内容:1. 并发和竞态简介2. 竞态解决办法3. 为我们的虚拟设备增加并发控制 在前几次博文我们已经实现了简单的字符设备,看似完美但我们忽视了一个很严重的问题,即并发问题,那么什么是并发,又如何解决并发呢,我们下面进行分析。 l 并发和竞态简介1. 并发与竞态概念1. 何为并发:并发是
2015-03-11 10:39:22 443
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人