相信看到这篇文章的朋友都是对操作系统非常熟悉的,对内存管理更是不在话下,那么今天咱们就从一段程序在内存中应该被如何管理开始说起。
咱们想运行一个程度就需要将其调进内存中,启动为进程,才可以被CPU执行。
我们最初的想法是这样子的:比如说打开QQ,就将QQ软件的所有程序都加载进内存。

其实上图的做法还有一个关键点:QQ程序放在了内存地址为0的地方,在没有特定场景下说这一句话是有点不妥的。
可能会有些朋友有疑惑,这怎么就不好了,内存地址都清清楚楚明明白白地告诉你了,接才来不就是取指执行就好了吗??
随着PC计数器的移动,不断执行。

其实这里的不妥就恰恰是因为它太清楚明白了,有些时候是装装糊涂更好的。
相信各位朋友都知道内存地址为0的地方存放的是操作系统的程序,那有怎么可以存放QQ呢?这不就是乱套了吗?
就算QQ程序不放在内存地址为0的空闲地方也是不妥的,因为当QQ程序被换出内存,再换进的时候,就不一定还在该处了。
举个栗子: