MS.*_*MS. 7 embedded cpu operating-system computer-architecture
我对存储在ROM中的可执行文件有基本疑问.
据我所知,带有文本和RO属性的可执行文件存储在ROM中.问题是ROM是只读内存,如果有代码需要写入内存的情况会发生什么?
我无法想出任何一个例子来引用这里(可能我对这种情况一无所知或者我错过了基本的东西;)但是这个主题的任何亮点都可以帮助我理解!:)
最后关闭 - 1.有没有这样的情况?2.在这种情况下,将代码从ROM复制到RAM是答案吗?
回答一些例子可以大大帮助..
提前谢谢了!
/女士
由于硬件限制,只读存储器是只读的.该程序可能位于EEPROM,闪存中,不受写入,CD-ROM或硬件物理上不允许写入的任何内容.如果软件写入ROM,硬件无法更改存储的数据,因此没有任何反应.
因此,如果ROM中的软件程序想要写入内存,它会写入RAM.这是唯一的选择.如果程序从ROM运行并想要自行更改,则不能,因为它无法写入ROM.但是,是的,该程序可以从RAM运行.
事实上,除了最小的嵌入式系统外,从ROM运行很少见.操作系统在运行之前将可执行代码从ROM复制到RAM.有时代码在ROM中压缩,必须在运行之前解压缩到RAM中.如果RAM已满,则操作系统使用分页来管理它.从ROM运行的原因是如此罕见,因为ROM比RAM慢,有时代码需要在运行之前由加载器更改.
请注意,如果您有自己修改的代码,则必须了解您的系统.许多系统使用数据执行保护(DEP).可执行代码进入RAM的读取+执行区域.数据进入读/写区域.所以在这些系统上,代码永远不会在RAM中自行改变.
| 归档时间: |
|
| 查看次数: |
5100 次 |
| 最近记录: |