摘要: 1 前言 这节我们来看看内存的另一个问题哈,「在 4GB 物理内存的机器上,申请 8G 内存会怎么样?」 这个问题在没有前置条件下,就说出答案就是耍流氓。这个问题要考虑三个前置条件: 操作系统是 32 位的,还是 64 位的? 申请完 8G 内存后会不会被使用? 操作系统有没有使用 Swap 机制? 阅读全文
posted @ 2023-06-14 09:38 酷酷- 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看一个极端情况,就是当内存满了,接下来会发生什么呢?大家可以猜一下,类似我们的jvm oom然后是不是会进行垃圾回收呢,其实都是一样的道理,我们来看看。 2 内存分配的过程是怎样的? 应用程序通过 malloc 函数申请内存的时候,实际上申请的是虚拟内存,此时并不会分配物理内存 阅读全文
posted @ 2023-06-14 08:17 酷酷- 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来实际看看一次内存分配的过程,就以 malloc 动态内存分配为切入点,我在文中也做了小实验: malloc 是如何分配内存的? malloc 分配的是物理内存吗? malloc(1) 会分配多大的内存? free 释放内存,会归还给操作系统吗? free() 函数只传入一个内存地 阅读全文
posted @ 2023-06-14 07:49 酷酷- 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们来看看内存管理里的虚拟内存哈,内存管理还是比较重要的一个环节,理解了它,至少对整个操作系统的工作会有一个初步的轮廓。 2 虚拟内存 如果你是电子相关专业的,肯定在大学里捣鼓过单片机。 单片机是没有操作系统的,所以每次写完代码,都需要借助工具把程序烧录进去,这样程序才能跑起来。 另外 阅读全文
posted @ 2023-06-14 07:26 酷酷- 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1 前言 Windows 和 Linux 可以说是我们比较常见的两款操作系统的。 Windows 基本占领了电脑时代的市场,商业上取得了很大成就,但是它并不开源,所以要想接触源码得加入 Windows 的开发团队中。 对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可 阅读全文
posted @ 2023-06-14 06:33 酷酷- 阅读(389) 评论(0) 推荐(0) 编辑