电脑的所有程序是不是都在内存中运行?

电脑的所有程序是不是都在内存中运行?,第1张

是的,运行程序时的内存,也叫RAM(简称运存)。而另一个内存是用来存储东西的内存,就像8G的MP4一样,它拥有8G的存储空间,这种内存为一般叫的电脑内存。内存这东西就像工厂的车间,存储正在处理的数据,CPU只是车间的机器,只处理数据,你说的程序应该是在内存中运行,就像产品在车间被处理一样。

当我们同时在电脑上打开很多软件,而电脑本身内存又不是很大的时候,电脑就会出现内存占用很高的现象。如果你安装了360或者电脑管家等软件的话,那么就能看到大致是那些软件占用的内存,如果没有安装这些安全软件也可以按下ctrl+shift+Esc键打开windows本身的任务管理器,然后我们可以看到是那些软件在占用内存。

所以把代码从存储器拷贝到RAM中,变成了bootloader的工作之一。一般的,嵌入式系统的存储器以Flash应用最广,Flash分为两种:norFlash和nandFlash,打个不恰当的比方,norFlash相当于ROM,程序可以直接在其上运行,nandFlash相当于硬盘,只负责存储程序。所以一般的bootloader代码都存储在norFlash中,上电后芯片可直接读取其上的代码来运行,而S3C2410芯片比较特别,以它为平台构建的系统可以用nandFlash来储存bootloader。因为它自带了4K的RAM,上电后通过硬件机制将存储器中的前4K代码拷贝到芯片自身的RAM里。

总结一下,硬盘、光驱、软盘等外存设备,由于接口的不同,CPU是不能直接访问的,而CPU

能访问的只有和它共享地址、数据总线的内存因此,程序无法在硬盘、光驱、软盘等外存设备上直接运行,必须读入内存运行,这就是程序加载的原因。也是BOOTLOAD

存在的原因。

BIOS等都是norFlash,程序可以直接在上面运行。

内存与外存的区别

ROM

norflash

、nandflash

的区别主要是接口、存储器单元组织的不同:

程序ROM、norflash

总线型可以随机按字节读取,容量小;nandflash

是特殊接口,只能页读,容量大

程序ROM

是字节读写单位;norflash

、nandflash

是FLASH

有页、块的概念特别是擦除,必须块擦除。硬盘更是有扇区、簇的概念,便于文件管理,但是也必须有专门的控制器管理

这就是为什么程序都是由

硬盘、光盘等外存读入内存再执行的原因。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11247965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存