lkd进程地址空间读书笔记.pdf
《lkd进程地址空间读书笔记.pdf》由会员分享,可在线阅读,更多相关《lkd进程地址空间读书笔记.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、名师精编优秀资料进程地址空间12 章内存管理:管理内核本身的内存。进程地址空间:系统中每个用户空间进程所看到的内存。所有进程之间以虚拟方式共享内存。一个进程,可寻址空间远大于系统物理内存。【进程地址空间】由进程可寻址的寻你内存组成,内核允许进程使用这种虚拟内存中的地址。特点:平坦。即独立的连续区间。每个进程有唯一的这种平坦空间。一个进程的地址空间与另一个进程的地址空间即使有相同的内存地址,实际上也彼此互不相干,这样的进程就是线程。进程-线程进程只能访问有效内存区域内的内存地址。进程要有对该内存区域的权限才可执行读写等操作。如果进程访问无效或方式错误,内核会终止该进程,并返回“段错误”。内存区域
2、的内存对象代码段、数据段、bss段(零页)、进程用户空间栈(由内核维护,独立于内核栈)、C 库或动态连接程序等共享库的代码段|data段|bss也会呗载入程序的地址空间、任何内存映射文件、任何共享内存段、任何匿名的内存映射比如malloc。BSS:block started by symbol 好?内存描述符mm_struct 定义在 内核用于表示进程的地址空间名师精编优秀资料mm_user/ “ ?mm_count?”mmap=mm_rb(链表 /红黑二叉树): 该地址空间中的全部内存区域。链表利于简单高效地遍历,rb 适合搜索。进程描述符中,存放有内存描述符。fork() 复制,也复制内存
3、描述符。通常,每个进程有唯一的 mm_struct,即唯一的地址空间。如果父进程希望子进程共享地址空间-在 clone()时设置 CLONE_VM- 这样的进程叫线程。(是否共享地址空间是进程和linux 中线程本质上惟一的区别。线程只是共享特定资源的进程。 )进程退出时会撤销内存描述符。内核线程没有进程地址空间,也没有内存描述符。所以内核线程对应的进程描述符中mm 域为空。 -没有用户上下文。-不需要访问用户空间内存。内核线程访问内核内存,使用页表。?内核线程将直接使用前一个进程的内存描述符。名师精编优秀资料虚拟内存区域vm area 由 vm_area_struct 描述 内存区域= 虚拟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- lkd 进程 地址 空间 读书笔记
限制150内