linux内存管理 (五) 8 用户空间 glibc对内存相关系统调用的封装

前言

linux内存管理 (五) 6 用户空间 内存相关的系统调用中简述了在内存方面 内核空间 会给 应用空间提供什么服务,但是 应用空间会怎么使用内核空间提供的服务并没有提及

glibc的定义

应用空间对 内存相关系统调用的使用

应用程序一般会使用 malloc free mmap munmap 这 四个函数 来 对 0-3G中的 heap段 进行操作
这4个函数是glibc提供的.
在内存方面,glibc除了提供这4个函数,还提供了哪些函数


可以看出 内核空间 提供了 很多 sys_xxx 的 系统调用
用户空间 调用  xxx函数的时候 (其中调用了 store xxx ; int 0x80 ),然后就进入了 内核空间中的 sys_xxx
而 用户空间的 xxx 一般 由 glibc 提供
这叫做 xxx 完成了 对 系统调用 sys_xxx 的封装 

那么在 内存方面 内核空间有多少个 sys_xxx, glibc完成了 多少个 sys_xxx 的封装呢?

1. malloc 	完成了 对 sys_brk  和 sys_mmap 的封装
2. mmap 	完成了 对 sys_mmap 	的封装

glibc提供的API

Glibc Manual描述了 glibc 的API
Linux man-pages project 也大概描述了 glibc api 的接口
api使用示例

源码追踪

猜你喜欢

转载自blog.csdn.net/u011011827/article/details/111672846