博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2010年4月2日

摘要: 进程的静态特征 1. task_struct 2. task state进程状态 3. PID 与tgid tgid是线程组的id,pid是当前进程id,而需要注意的是getpid()得到的是tgid。线程组就是轻量级进程的集合。tgid就是组中第一个轻量级进程的pid 4. current宏... 阅读全文

posted @ 2010-04-02 18:05 xuczhang 阅读(647) 评论(0) 推荐(0) 编辑

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

posted @ 2010-04-02 18:02 xuczhang 阅读(2556) 评论(0) 推荐(0) 编辑

摘要: memory 1. what happens in malloc() 2. what’s kalloc, vmalloc and their difference. brk()?? 3. kernel stack?? 4. copy on write 3. Linux segmentation... 阅读全文

posted @ 2010-04-02 18:01 xuczhang 阅读(209) 评论(0) 推荐(0) 编辑

摘要: memory descriptor(内存描述符) 与进程地址空间相关的全部信息都包含在内存描述符中。其类型是mm_struct,记录在task_struct的mm成员中。 1. 有一个mmlist的链表链接所有的mm_struct。表头是init_mm(进程0的mm)。 2. mm_users和m... 阅读全文

posted @ 2010-04-02 17:58 xuczhang 阅读(721) 评论(0) 推荐(0) 编辑