在学习计算机体系结构和系统编程时,出现了一些问题。
首先,程序位于SSD或硬盘中,但是在执行时,此程序会加载到内存(RAM)中。为什么程序不直接在硬盘上执行?为什么需要在RAM上加载?
谢谢
答案 0 :(得分:1)
这样做很简单,因为您的RAM比硬盘快得多。
当您的计算机执行程序时,CPU会依次从内存中读取所有指令并执行它们。 CPU本身在执行程序时无法存储整个程序,因此必须从其他位置读取它。如果CPU必须从硬盘上读取指令,那将会非常疯狂。
现在我们有了SSD,这种关系变得不那么重要了,但是在过去,RAM(“随机访问存储器”)和HDD(“硬盘驱动器”)之间的区别是RAM可以访问任何内存地址在任何时间点,即“随机访问”。 HDD必须旋转存储数据的硬盘才能从某个地址读取。对于HDD来说,访问随机内存地址非常困难。
CPU执行程序时,必须始终跳来跳去。它还必须将程序的内存存储在某个地方,并在需要时尽快进行访问。 HDD在这两方面都很糟糕,RAM很好。
那为什么我们完全使用HDD?因为RAM
那SSD呢?与HDD相比,它们在随机访问方面要好得多,但仍然比RAM慢得多。
此外,您还必须考虑交换文件。如果需要,计算机可以将您的某些HDD或SSD存储器用作系统内存。如果CPU很少访问占用RAM的数据,这将非常有用。