永发信息网

flat 内存系统是什么意思

答案:2  悬赏:30  手机版
解决时间 2021-01-28 23:41
  • 提问者网友:斑駁影
  • 2021-01-28 13:40
flat 内存系统是什么意思
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-01-28 14:56
★flat 内存系统的意思:平面内存模式或平坦内存模型(Flat memory Model)

平面内存模式 (flat memory model)
是一种组织 内存 寻址空间的方式。一个用本地32位Windows格式写成的程序是由所谓“平坦内存模型”创建的,它只有一个包含代码和数据的段。这个程序必须在386或更高的处理器上运行。早期的16位代码,由段和偏移地址混合达到寻址64k(段的限制)。与此不同的是,平坦内存模型只需要偏移量却有4G的寻址范围。这使得汇编更容易书写,而代码总得来说也将快一点。
在这种模式下,一个电脑的应用程序最多使用两个内存区段,一个是给程序码使用,另外一个是资料。此外,同样的区段也可以用量同时给程序码或是资料使用,但这是不必要的,因为只有对于自我更改程序码 的程序才有用处,但这种程序设计风格 现今被视为一种很不好的方法。

平面内存模型的优点
应用程序在存取他们的资料时候不需要切换不同的区段。然而,在 16 位元的 Intel 8086 和 80286 中,这种方式是不可行的,因为应用程序无法存取超过 64 KB 的资料。在 32 位元的芯片,应用程序可以存取最大到 4 GB 的资料。但这也变成现在大的数据库以及像是影片编辑应用程序的问题。

在这种平坦内存模型下,所有的段寄存器都被自动设为相同的值,而这意味着段/偏移寻址方式一定不能用于在32位Windows上运行的32位程序。
对于曾经在DOS下写程序的程序员来讲,一个32位的Windows PE可执行文件就像一个DOS下的COM文件,它们仅有一个包含程序代码和数据的段,而它们都直接用偏移地址,而不是段/偏移寻址方式。平坦模型程序是近(NEAR)代码寻址以及近数据寻址,都是在4G的范围之内。
FS和GS段寄存器不在普通的程序中用到,但却被操作系统的某些程序实例所利用。
全部回答
  • 1楼网友:归鹤鸣
  • 2021-01-28 15:55
任务占坑
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯