进程地址空间与内存区域管理详解
1. 内存描述符相关概念
内存描述符在进程的内存管理中起着至关重要的作用。其中, mm_users 字段记录了共享 mm_struct 数据结构的轻量级进程数量。而 mm_count 字段则是内存描述符的主要使用计数器, mm_users 中的所有“用户”在 mm_count 中算作一个单位。
例如,若一个内存描述符由两个轻量级进程共享,通常 mm_users 字段的值为 2,而 mm_count 字段的值为 1。当内存描述符临时借给内核线程时, mm_count 字段会增加。这样,即使两个轻量级进程都终止, mm_users 字段变为 0,但只要内核线程仍在使用,由于 mm_count 字段大于 0,内存描述符就不会被释放。
如果内核希望确保在长时间操作过程中内存描述符不被释放,可能会增加 mm_users 字段而非 mm_count 。 mm_alloc() 函数用于获取新的内存描述符,它会调用 kmem_cache_alloc() ,初始化新的内存描述符,并将 mm_count 和 mm_users 字段设置为 1。相反, mmput() 函
超级会员免费看
订阅专栏 解锁全文
1604

被折叠的 条评论
为什么被折叠?



