sys_brk
2017-01-24 14:21:12 0 举报
`sys_brk`是一个系统调用,它用于改变程序数据段的大小。这个函数在Linux内核中定义,其功能与Unix中的`sbrk`函数相似。当一个进程需要更多的内存空间时,它可以调用`sys_brk`来请求操作系统分配更多的虚拟内存。 `sys_brk`的参数是一个指针,指向当前数据段的结束位置。如果请求成功,`sys_brk`会返回新的结束位置;如果失败,它会返回原来的结束位置。需要注意的是,`sys_brk`并不保证请求的内存空间一定能得到满足,实际分配的内存大小可能小于请求的大小。 总之,`sys_brk`是一个非常有用的系统调用,它允许进程动态地调整自己的内存使用量。
作者其他创作
大纲/内容
申请物理内存,并建立虚拟空间与物理空间的映射关系
在页表中填写物理页的地址
扩展mm.brk,新生成一个vm_area,vma.start=brk,vma.end=newbrk
alloc_page:分配物理内存
sys_brk()
pte_alloc:分配页表
handle_pte_fault:填写页表
0 条评论
下一页