自学笔记(一)

个人理解

linux内存采用分页的内存管理,而32位pc机还采用了段式内存管理,它的地址关系为:逻辑地址--->虚拟地址(也叫线性地址)--->物理地址。

linux所有段基地址都为0,所以可以看做linux并没有采用段式的内存管理,linux的地址关系:虚拟地址--->物理地址

因为,linux会为每个进程分配独立的进程地址空间(大小为3GB),这里的地址指的是虚拟地址并不是实际意义上的物理地址,通过map映射到对应的物理地址。

malloc()

malloc申请内存返回的是虚拟地址而不是物理地址,而且,返回的这个虚拟地址是没有map映射到物理内存中的,只有当程序(进程)用到访问了这个地址的时候,

内核才响应“缺页异常”,才回去映射一块物理地址。

关于malloc(0) 能申请成功是肯定的,它返回的是虚拟地址(对应的物理地址还不确定的),在你没用到这块地址空间的时候,它不会再物理上开辟内存。

在你用到malloc(0)返回的地址时,因为参数为0,缺页异常不会为你的进程空间申请额外内存。所以这个指针应该是不能用的。

关于虚拟地址

可以把一个程序运行3次,为了保证程序一直运行可以在程序中加10秒的延迟。可以看到这3个进程的使用的地址是一样的(虚拟地址),映射的物理地址肯定不一样的。

linux下的malloc申请的是虚拟还是物理的,关于malloc申请内存相关推荐

  1. linux单位转换,用windows和Linux下的单位转换工具ConvertAll解中学物理题

    最早使用过的单位转换工具是windows下的一个小portable软件, https://joshmadison.com/convert-for-windows/ 但是它最后更新时间为1999年,虽然 ...

  2. Linux下查看CPU个数(逻辑个数和物理个数)

    CPU个数=CPU颗数*CPU核数. 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 //查询逻辑CPU总数 $ grep -c 'processor' /proc/cpu ...

  3. vsftp账号_Linux下vsftp的重新安装和配置虚拟用户

    Linux下vsftp的重新安装和配置虚拟用户 上一篇 / 下一篇  2007-05-30 18:00:18 / 个人分类:Linux 重新安装和配置虚拟用户 以下都是在root用户下进行的 #tar ...

  4. linux下三台虚拟机互联,Linux下虚拟机qemu的使用

    Linux下虚拟机qemu的使用,设置qemu, 安装WinXP从桌面菜单启动qemu-launcher后, 1. 取消Snapshot Mode, 因为这个选项表示只有你按 虚拟机qemu的使用 R ...

  5. linux网络速度不稳定,关于Linux下上网速度慢的问题

    首先要说明的是:不是Linux下上网速度慢,在Windows下如果用FireFox同样有这个问题: 其次再要说明的是:不是FireFox本身慢,是我们自己还没完全学会使用FireFox: 要补充说明一 ...

  6. Linux下网络传输测速程序小记

    一.题外话       最近需要在linux下做一个网络测速的小程序,将服务端内存中缓存的一个大文件整个的从服务端发送到客户端,并缓存到客户端的内存中,以此抛开硬盘读取速度的影响,测量网络实际的传输速 ...

  7. 关于Linux下上网速度慢的问题

    首先要说明的是:不是Linux下上网速度慢,在Windows下如果用FireFox同样有这个问题: 其次再要说明的是:不是FireFox本身慢,是我们自己还没完全学会使用FireFox: 要补充说明一 ...

  8. python将Linux下使用top命令获取的进程信息进行分析做可视化展示

    python将Linux下使用top命令获取的进程信息进行分析做可视化展示 版本 版本 作者 日期 备注 v1.0 ZY 2020.11.10 初版完成 文章目录 python将Linux下使用top ...

  9. linux ftp 团队认证,linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

    linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建 1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 ...

最新文章

  1. linux 文件查找及定位
  2. 计算机行业越来越卷,AI都会刷LeetCode了,网友:比我强
  3. 电脑有回声_游戏东西丨兽人游戏Echo回声电脑手机汉化版
  4. mysql text 不可指定默认值
  5. python自动卸载win程序_朋友说:能不能用python,帮我写一个“制作工资条”的自动化程序...
  6. weblogic双机热备部署linux,WebLogic应用在集群环境下的一些基本知识【转载】
  7. 傅里叶变换频谱的可视化保存
  8. RSA 非对称加密原理
  9. java8泛型包括_JAVA8 获取泛型类型问题
  10. 面部识别 vs 情绪状态,你还能守住自己的秘密吗?
  11. python a和b字符串和占位符输出_python格式化输出
  12. LeetCode Interview Qustions: Add Two Number
  13. 全国计算机信息处理技术员报名官网入口,信息处理技术员考试,就是这么简单!...
  14. 电脑能上qq等软件但是浏览器打不开网页
  15. Convex Optimization 读书笔记 (2)
  16. 图像描述(image caption)历年突破性论文总结
  17. 从程序员到CTO的Java技术路线图(转)
  18. 解决windows下蓝牙设备将休眠中的pc唤醒的困扰
  19. hive 修改分区备注_hive修改 表/分区语句
  20. 万国觉醒迁服务器显示该王国还未开放,万国觉醒怎么迁城到联盟其他王国

热门文章

  1. 最好电脑操作系统_操作系统都有哪些呢
  2. eslint是什么_一起来用 eslint 吧
  3. android settings 源码,菜鸟学Android源码-Settings(2)
  4. 在线闹钟html代码复制,html5时钟实现代码
  5. OpenShift 4 - 提升客户端访问 API Server 安全
  6. OpenShift 4 Tekton (3) - 通过控制台的图形化方式配置Tekton Pipeline
  7. 在Reporting Services (RDL)中自动生成大量列
  8. 将VS Code用于C#脚本
  9. oracle11g数据库的卸载,完全卸载Oracle数据库11g
  10. python画五角星代码_Python第八课 绘制五角星1.0