Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1557089
  • 博文数量: 157
  • 博客积分: 1776
  • 博客等级: 上尉
  • 技术积分: 1786
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-19 10:49
文章分类

全部博文(157)

文章存档

2018年(1)

2017年(12)

2015年(6)

2014年(17)

2013年(51)

2012年(65)

2011年(5)

发布时间:2013-04-12 10:28:01

本文将介绍Linux的slab层,首先我们要解决一个问题就是什么是slab,slab是做什么用的。在linux内核中会有许多小对象,这些对象构造销毁十分频繁,比如i-node,dentry。这么这些对象如果每次构建的时候就向内存要一个页,而其实际大小可能只有几个字节,这样就非常浪费,为了解决这个问题就引入了一种新的机制来处理在.........【阅读全文】

阅读(1191) | 评论(0) | 转发(0)

发布时间:2013-04-12 10:27:14

memory1. what happens in malloc()2. what’s kalloc, vmalloc and their difference. brk()??3. kernel stack??4. copy on write  3. Linux segmentation,4. kernel2. what happens in memory map3. what’s the physical memory layout(memory,4.2. how ca.........【阅读全文】

阅读(793) | 评论(0) | 转发(0)

发布时间:2013-04-12 10:24:25

 保留的页框linux内核从第二个MB开始,第一个MB通常留给BIOS或者某些设备。下图是Linux2.6的前3MB,而在Linux2.4中只用了2MB,问题是2.6的代码多了。内核页表进程的线性地址空间分为0x00000000-0xbfffffff和0xc0000000-0xffffffff两部分,前面3GB空间是用户地址空间,后面1GB是内核地址空间。那.........【阅读全文】

阅读(778) | 评论(0) | 转发(0)

发布时间:2013-04-12 10:22:48

 AT&T与Intel汇编的区别在Linux内核中使用了AT&T格式的汇编指令而非Intel的格式,它们之间的区别1. common(1)Intel一般用大小字母,而AT&T一般用小写(2)寄存器:AT&T的寄存器要加%前缀,而Intel不需要。(3)立即数:AT&T的立即数要加前缀$,而Intel不需要。AT&T: pushl $4Intel:&nbs.........【阅读全文】

阅读(738) | 评论(0) | 转发(0)

发布时间:2013-04-12 10:21:43

 1. key word from c++inline –> __inline__asm –> __asm__这里在关键字前后加上"__"的原因是inline等c++的关键字不是c的关键字,为了避免冲突。2. attribute属性描述struct foo { char a; int x;}attribute__ ((packed));比如上述代码就是压缩struct的存储方式,如果没有压缩就是8.........【阅读全文】

阅读(584) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

aas39652011-12-29 10:15

回复  |  举报
留言热议
请登录后留言。

登录 注册