程序分为4个部分:堆栈,数据,代码,堆。
我知道它们中的每一个都是数据结构(如Java中使用的那样),但它们在操作系统中的区别(和定义)是什么?
答案 0 :(得分:1)
程序分为4个部分:堆栈,数据,代码,堆。
这不是一个准确的起点。
程序分为具有各种属性的程序部分。
堆栈只是一个使用推送和弹出操作分配和释放的内存块。分配和释放通常使用堆栈指针寄存器实现。
堆是一个或多个内存块,可以按任何顺序和各种大小分配和释放。操作系统对所有程序堆都不了解。它们由链接到代码的库管理(尽管操作系统将拥有自己的堆)。操作系统只是看到这些内存块。