数据存储内存管理:优化计算机内存
2019/9/3 14:58:45
大多数计算和存储部署如今面临的情况是,计算机内存空间都受到了上限的限制。现代系统的资源可能并不像内存那样受到限制,但操作系统、应用程序和存储设备总是需要采用更多的内存。但内存空间并不是无限的,在某些时候将会完全耗尽,这会导致系统不稳定或数据丢失。 自从现代IT出现以来,内存空间耗尽的挑战已由多种功能进行处理,通常都归入内存管理的内容,以下对内存管理的内容进行概述。 什么是内存管理? 内存管理就是要确保有尽可能多的可用内存空间来执行新的程序、数据和进程。由于现代操作系统的多个部分使用内存,因此内存分配和内存管理可以采取不同的形式。 •操作系统—Windows和Linux等操作系统可以利用物理内存和硬盘交换空间来管理可用内存的内存池。 •编程语言—C语言要求开发人员直接管理内存利用率,而其他语言(如Java和C#)则提供自动内存管理。 •应用程序—应用程序使用和管理内存,但通常受到基础语言和操作系统定义的内存管理功能的限制。 •存储内存管理—借助新的NVMe存储驱动器,操作系统可以从更快的存储驱动器中受益,以帮助扩展和实现更持久的内存管理形式。 为了有效处理,计算机的内存管理功能必须位于硬件和操作系统之间。 内存管理如何工作 内存管理是关于有限物理资源的分配和优化。例如,2GB RAM DIMM不能用作一大块空间。而是使用存储器分配技术将内存划分成可用的存储器高速缓存块。 操作系统或应用程序中的内存管理策略通常涉及了解内存中可用的物理地址空间,并执行内存分配以从内存地址空间正确放置、移动、删除进程。 内存地址的类型 操作系统中的静态和动态内存分配链接到不同类型的内存地址。从根本上说,有两种核心类型的内存地址: •物理地址—是指系统内存中的存储位置,标识为一组数字。 •逻辑地址—有时也称为虚拟内存,逻辑地址是操作系统和应用程序访问执行代码的内容,作为物理地址空间的抽象。 内存管理单元(MMU)如何将虚拟地址转换为物理地址? 计算系统内的存储器管理单元(MMU)是将虚拟逻辑地址空间转换为物理地址的核心硬件组件。存储器管理单元(MMU)通常是物理硬件,有时也称为分页存储器管理单元(PMMU)。 存储器管理单元(MMU)将虚拟地址转换为物理地址的过程称为虚拟地址转换,并使用页面目录指针表(PDPT)将一种地址类型转换为另一种地址类型。 该过程直接与页表分配相关联,将一种地址类型匹配和管理到另一种地址类型。为了帮助加速虚拟地址转换,有一种称为转换后备缓冲区(TLB)的缓存机制,它也是物理地址转换过程的虚拟地址的一部分。 内存分配:静态加载与动态加载 应用程序和数据可以通过多种不同方式加载到内存中,两种核心方法是静态加载和动态加载。 •静态加载—代码在执行之前加载到内存中。用于结构化编程语言,其中包括C语言。 •动态加载—根据需要将代码加载到内存中。用于面向对象的编程语言,例如Java语言。 内存碎片 当在系统中分配内存时,并非所有可用内存总是以线性方式使用,这可能导致碎片化。 内存碎片有两种核心类型:内部碎片和外部碎片 •内部碎片—内存分配给进程或应用程序,未使用、未分配或碎片化的内存。 •外部碎片—当分配内存然后释放时,可能会有较小的内存剩余空间,留下不适合其他进程的内存漏洞或“碎片”。 分页 在逻辑地址空间内,虚拟内存使用分页进行划分,这意味着它被分为固定的内存单元,称为页面。页面可以具有不同的大小,具体取决于底层系统体系结构和操作系统。页面管理过程可能非常复杂。 •有关如何在Linux中处理分页的更多信息
下一页
返回列表
返回首页
©2025 智能硬件世界----智能硬件产业门户网站 电脑版
Powered by iwms