For faster navigation, this Iframe is preloading the Wikiwand page for 内存管理.

内存管理

维基百科,自由的百科全书

此条目没有列出任何参考或来源。 (2010年8月17日)维基百科所有的内容都应该可供查证。请协助补充可靠来源改善这篇条目无法查证的内容可能会因为异议提出而移除。

内存管理,是指软件运行时对电脑内存资源的分配和使用的技术。其最主要的目的是如何高效、快速的分配,并且在适当的时候释放和回收内存资源。

一个执行中的程序,譬如网页浏览器在个人电脑或是图灵机(Turing machine)里面,为一个进程将资料转换于真实世界及电脑存储器之间,然后将资料存于电脑存储器内部(在电脑科学,一个程序是一群指令的集合,一个进程是电脑在执行中的程序)。存储器能被实际组织在许多方法里头,例如磁带或是磁盘,或是小数组容量的微芯片。 从1950年代开始,电脑变的更复杂,它被连线于许多种类的存储器。内存管理的任务也变得复杂,甚至必须要在同一台机器上相同的时间执行多个进程

在存储器内,一个程序(操作系统)在每一个资料区段持续地追踪实体位置,及移动实体上的资料去改善其性能及保证可靠性,对于每个用户层(user-level)的程序,操作系统分配一段虚拟内存空间,当行程起始时,不需要移动资料到实体设备间,资料存于磁盘内的虚拟内存空间,也不需要去配置主存空间给该行程,当用户有需要用到时,他们才会很自由地加载到主存内。

可以想像一个很大的程序,当他执行时变成行程,而大部分的存储器空间都被存到磁盘内虚拟内存地址,需要用到的部分才被加载到存储器内部提供服务。

主存使用

一个程序结构由以下两部分而成:

  • “本文区段”,也就是指令存放,提供CPU使用及执行
  • “资料区段”,存储程序内部本身设置的资料,例如常量字符串,像是GUI接口内部一些文字消息,或是程序设计时所放入的消息资料,资料可借由程序执行时由输入(input)的方式加入,或者经由程序执行的流程中被移除。

当一个程序执行,操作系统将程序的资料区段及本文区段映射到虚拟内存空间内部,然后在存储器执行程序的指令(见范纽曼架构),无论如何,当程序执行时就必须去存储暂时性的资料,或更重要的,它会调用一些函数(function)或是例程(subroutine),并且存储当前函数的状态,最好的数据结构方法,资料由堆栈(stack)的方式存储,当我们完成这个函数,资料会由堆栈的pop方式取出,堆栈将会在函数的生命周期内动态的成长,操作系统提供区分本文区段及资料区段,而堆栈区段则在一个行程的最顶端,这种方式称为段式结构(segments)或“分段”。

参考文献

参见

{{bottomLinkPreText}} {{bottomLinkText}}
内存管理
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.