arm linux 系统调用实现
arm linux 系统调用实现
In this article we will dive into system call interface implementation in arm linux(with gnu eabi).我们将从bionic中的open函数开始追溯arm linux的系统调用实现(使用gnu eabi)。
!--?xml>GCC 帮助系统文档
使用GCC 帮助系统
前面在使用gcc 帮助的时候老是找不到自己想要的信息,而且手册巨长(有超过10^4页)。于是就RTFM找到一些使用gcc 帮助系统找到自己需要信息的方法,其实就是gcc 手册的帮助部分的内容。大家还有什么技巧都来讲讲,交流中学习。
!--?xml>Learn Arm Assembly
notes on arm assembly
学习一种计算机体系结构的最好方法就是学习它的汇编 -- anonymous
!--?xml>Slab Allocator简介
Slab Allocator(对象缓存分配)
!--?xml>Linux Memory Management Notes
Linux 内存基础
地址类型
linux内核中有许多种不同的地址类型
- 用户虚拟地址 用户空间看到的常规地址,通过页表可以将虚拟地址和物理地址映射起来
- 物理地址 用在cpu和内存之间的地址叫做物理地址
- 总线地址 外围总线和内存之间的地址叫做总线地址。通常他们和物理地址相同
- 内核逻辑地址 内核的常规地址空间,必定有对应的物理内存与之映射。kmalloc返回的就是内核逻辑地址
- 内核虚拟地址 内核虚拟地址和内核逻辑地址的相同之处在于,他们都将内核空间的地址映射到物理内存上。但是内核虚拟地址不一定是线性的和一对一的。vmalloc返回的是虚拟地址。