前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux 内核 内存管理】虚拟地址空间布局架构 ⑤ ( Linux 内核中对 “ 虚拟地址空间 “ 的描述 | task_struct 结构体源码 )

【Linux 内核 内存管理】虚拟地址空间布局架构 ⑤ ( Linux 内核中对 “ 虚拟地址空间 “ 的描述 | task_struct 结构体源码 )

作者头像
韩曙亮
发布2023-03-30 14:26:49
3.7K0
发布2023-03-30 14:26:49
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、Linux 内核中对 " 虚拟地址空间 " 的描述


进程 的 " 虚拟地址空间 " 由 mm_structvm_area_struct 两个数据结构描述 ;

  • mm_struct 是 “最高层次 " 上描述 ” 整个虚拟地址空间 “ 的结构体 ; 该结构是对 ” 整个 “ ” 用户空间 " 进行描述 ;
  • vm_area_struct 是 " 较高层次 " 上的描述 " 虚拟地址空间 " 的区间 的 ;

每个进程只有

1

mm_struct 结构体数据 , 用于描述 整个 " 虚拟地址空间 " ;

则 对应的 " 进程描述符 task_struct " 中 , 有

1

个指针指向 mm_struct 结构体 ;

task_struct -> mm_struct -> vm_area_struct ;

task_struct 结构体中 , 有指针指向 mm_struct 结构体 ,

mm_struct 结构体中 , 有指针指向 vm_area_struct 结构体 ;

二、task_struct 结构体源码


task_struct 进程描述符 结构体 , 定义在 Linux 内核源码的 linux-4.12\include\linux\sched.h#483 位置 ;

task_struct 中的 mm active_mm 是 描述 " 整个虚拟空间 " mm_struct 类型的结构体 ;

代码语言:javascript
复制
	struct mm_struct		*mm;
	struct mm_struct		*active_mm;
在这里插入图片描述
在这里插入图片描述

mm_struct 进程描述符 参考如下博客 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、Linux 内核中对 " 虚拟地址空间 " 的描述
  • 二、task_struct 结构体源码
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档