为什么程序在Memory而不是HardDisk上执行?

问题描述 投票:-2回答:1

当我在计算机体系结构和系统编程学习时,一些问题就出现了。

首先,程序是在SSD或硬盘中,但是当它执行时,这会加载到内存(RAM)。为什么程序不直接在HardDisk上执行?为什么需要加载RAM?

谢谢

operating-system cpu systems-programming
1个回答
2
投票

这样做很简单,因为你的RAM比你的硬盘快。

当您的计算机执行程序时,CPU会一个接一个地从内存中读取所有指令并执行它们。 CPU本身在执行时无法存储整个程序,因此必须从其他地方读取。如果CPU必须从硬盘读取指令,那将是疯狂的慢。

现在我们已经拥有了SSD这一点变得不那么相关了,但在过去,RAM(“随机存取存储器”)和HDD(“硬盘驱动器”)之间的区别在于RAM可以随时访问任何存储器地址。时间,因此“随机访问”。硬盘必须旋转存储数据的硬盘才能从某个地址读取。访问随机存储器地址对于HDD来说非常困难。

当CPU执行程序时,它必须一直跳转。它还必须在某处存储程序的内存,并在需要时尽快访问它。硬盘在这两件事情上非常糟糕,RAM非常好。

那我们为什么要使用硬盘呢?因为RAM

  1. 是昂贵的方式
  2. 关闭时不会保留数据

SSD怎么样?他们在随机访问HDD方面要好得多,但它们仍然比RAM慢得多。

此外,您还必须考虑交换文件。如果需要,计算机可以将一些HDD或SSD存储用作系统内存。如果CPU经常无法访问耗尽RAM的数据,这将非常有用。

© www.soinside.com 2019 - 2024. All rights reserved.