1、linux内核管理内存空间的分配,所有程序对内存空间的申请和其他操作,最终都会交给内核来管理。

2、linux实现的是“虚拟内存系统”,对用户而言,所有内存都是虚拟的,也就是说程序并不是直接运行在物理内存上,而是运行在虚拟内存上,然后由虚拟内存转换到物理内存。

3、linux将所有的内存都以页为单位进行划分,通常每一页是4KB;

4、在对虚拟内存地址到物理内存地址进行转换时,内核会对地址的正确性进行检查,如果地址是合法的,内核就会提供对应的物理内存分页;如果是申请内存空间,内核就会检查空余的物理内存分页,并加以分配,如果物理内存空间不足,内核会拒绝此次申请;

5、使用malloc分配的内存空间在虚拟地址空间上是连续的,但是转换到物理内存空间上有可能是不连续的,因为有可能相邻的两个字节是在不同的物理分页上;


 

相关文章:

  • 2021-08-04
  • 2021-11-04
  • 2021-06-26
  • 2022-12-23
  • 2022-01-15
  • 2021-04-21
  • 2021-12-31
  • 2022-01-19
猜你喜欢
  • 2022-12-23
  • 2021-10-14
  • 2021-07-03
  • 2021-12-31
  • 2022-12-23
相关资源
相似解决方案