RAM可以从概念上分为'stack'和'heap memory'吗?
Can RAM be conceptually divided into 'stack' and 'heap memory'?
我一直在阅读有关计算机如何实现进程的文章,发现其中提到了栈和堆。这对我来说非常酷,因为缺乏任何计算机科学背景意味着这些东西对我来说非常深奥。
我目前的理解是,在极其基本的层面上,进程在 RAM 中表示为固定大小的 'Stack' 和相关的可变大小的数据结构,这些数据结构统称为 'heap' space。将帧添加到堆栈可能会导致创建、编辑或删除存储在堆中的数据 space,从而改变进程 'state')。
所以我的问题是,是否可以将所有 RAM 使用归类为堆的一部分或堆栈的一部分?
RAM 中还可以存储哪些不属于这些类别的内容?
是的,在极其简单的系统中,尤其是老旧且不支持多任务处理的系统中,所有用户内存都可以通过用户代码、用户数据、用户堆数据、用户堆栈数据的组合使用。由程序员决定使用内存做什么。记忆不介意。但是,自然地,需要有代码,而且在大多数情况下,还需要堆栈。其他一切都是可选的。
我一直在阅读有关计算机如何实现进程的文章,发现其中提到了栈和堆。这对我来说非常酷,因为缺乏任何计算机科学背景意味着这些东西对我来说非常深奥。
我目前的理解是,在极其基本的层面上,进程在 RAM 中表示为固定大小的 'Stack' 和相关的可变大小的数据结构,这些数据结构统称为 'heap' space。将帧添加到堆栈可能会导致创建、编辑或删除存储在堆中的数据 space,从而改变进程 'state')。
所以我的问题是,是否可以将所有 RAM 使用归类为堆的一部分或堆栈的一部分?
RAM 中还可以存储哪些不属于这些类别的内容?
是的,在极其简单的系统中,尤其是老旧且不支持多任务处理的系统中,所有用户内存都可以通过用户代码、用户数据、用户堆数据、用户堆栈数据的组合使用。由程序员决定使用内存做什么。记忆不介意。但是,自然地,需要有代码,而且在大多数情况下,还需要堆栈。其他一切都是可选的。