栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

sbrk / brk如何在Linux中实现?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

sbrk / brk如何在Linux中实现?

在一个非常高级的视图中,Linux内核将进程可见的内存跟踪为几个“内存区域”(

structvm_area_struct
)。还有一个结构(再次以非常高的层次表示)表示进程的整个地址空间(
structmm_struct
)。每个进程(某些内核线程除外)都只有一个
struct mm_struct
,它依次指向
structvm_area_struct
它可以访问的所有内存。

sys_brk
系统调用(中发现的
mm/mmap.c
)简单地调整某些内存区域。(
sbrk
是glibc包装器
brk
)。通过比较
brk
地址的旧值(位于内部
structmm_struct
)和请求的值来做到这一点。

首先看一下

mmap
功能族会比较简单,因为这
brk
是一个特殊情况。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号