- La jerarquía de memoria(caché、RAM、almacenamiento)决定延迟、成本和持久性。
- 整个过程包括结构、数据、堆积和堆积,以及整个生活过程。
- En C, sizeof y & son esenciales para tamaños y direcciones; GC 可以自动进行堆操作,也可以手动进行操作。
- RAM 的速度和波动性;永远保持持久性和记忆力,增强能力。

如果记忆是在实验室中进行的,则不是单独的:所有硬件、数据、堆和数据段都易于操作。 Este texto te guía desde lo más básico (bits y bytes) hasta cómo tu procesoorganiza código, datos y estructuras dinámicas,特别注意 Windows 管理员的操作。
哈里纳的入口,方便观看完整的电影: la memoria de un programa se apoya en la memoria física del ordenador y en una jerarquía de capas (cachés, RAM, almacenamiento),您的操作系统将进程空间划分为可射出的区域、数据、数据和堆。就这样,程序终端中的变量“viven”和其他变量都变得非常重要。
De los bits a los bytes: lo minimo imprescindible
Todo se construye desde la unidad minima: el bit, que alone puede valer 0 o 1; los bits se agrupan en bytes(ocho bits por byte en la práctica Moderna),您可以使用程序中的各种字节来编辑数据和编译器。
一个经常被忽视的细节: 在所有平台上都没有相同的风格。 32 位结构占用 4 个字节;输入 64 位,可输入 8 字节,具体规范取决于使用编译器和系统的数据模型。
代表了消极的态度,主导的惯例和积极的补充; 简化操作和简化操作的表示方法,由 CPU 和编译者采用。
C 语言的 Cuando 程序,不是“a ojo”: 美国操作员大小在平台上以字节为单位进行具体操作。 Así evitas supuestos fragiles al trabajar con buffers, estructuras y llamadas a sistema que exigen tamaños precisos.
También en C, el operador unario & (&) te da la dirección de memoria del prime byte de una variable; Con ese valor, un puntero puede “señalar” a dónde vive realmente el dato en memoria,您可以参考 pasar 的功能或连续的记录。
Y, ya que estamos, un apunte simpático de pronuncia: “byte” se suele decir “诱饵”。没有例外,但有一些要点。
Memoria física y jerarquía: qué hay debajo del capó
晶体管和电容器电路的主要记忆体 (RAM); Cada celda almacena un bit,y el Circuito refresca periódicamente su carga para que no pierda el dato Mientras haya alimentación。这是 DRAM(动态 RAM)的主题。
存在不同的记忆类别、速度和成本: SRAM(高速、易失性、高速缓存)、DRAM(高速、易失性、系统内存)、VRAM(图形专用)、ROM(无易失性)、闪存(无易失性和可重新读取)、虚拟存储器和 SCM 类存储器 que intata acortar la distancia entre RAM y almacenamiento tradicional.
La RAM es volátil y brillante para la inmediatez: 按比例快速访问 CPU 所需的数据“ya”, a costa de que su contenido se pierde cuando apagas elquipo.如果您想与其他设备(HDD、SSD、硬盘)进行交流,可以将其持久化或千兆字节化。
Sobre la memoria caché conviene subrayar su papel: 这是 CPU 和 RAM 之间的快速记忆和不稳定行为、almacenando data 和 instrucciones de uso inmediato 减少延迟。 Sin esa capa, cualquier programa sufriría parones Constantes al esperar a la RAM.
Cando la RAM se queda corta,entra en juego la memoria virtual: 操作储备空间系统和统一的类似记忆原则;欧空局“放大”速度非常慢,但允许在 RAM 和迪斯科之间实现跨页功能。
En entornos de centro de datos,包括通过中间体进行探索: 技术分类 (SCM) aportan baja Latencia y persistencia,这是商业解决方案,是专门用于快速解决问题的解决方案,它是基于不同 RAM 成本的数据和分析基础上的快速批评讲座。
Por qué la RAM es clave (y qué no puede darte)
RAM,CPU 的趋势是通过数据和指令进行迪斯科; 一个SSD现代的vuelan,siguen estando años luz de la RAM en Latencia。对于所有配置,移动服务器,将 RAM 设置为敏捷响应系统。
Su gran “pero” es la volatilidad: 阿帕加斯设备和洛斯比特德萨帕雷森。现在,如果您的档案已保存在 RAM 中,则该档案将保存在 RAM 中。 Para conservarlos, hay escribirlos antes en almacenamiento persiste.
主要记忆、主要和次要记忆
En el lenguaje cotidiano se mezclan terminos, así que conviene separarlos. 内存主要包括 RAM(易失)和 ROM(无易失),并且可以直接通过 CPU 访问。 A menudo se la llama “memoriaprincipal” 或 “principal” a secas。
主要记忆
- 访问 CPU 目录 快速的讲授和书写。
- RAM 易失性与 ROM 易失性共存,cada una con su papel。
- 操作和应用系统中间工作空间.
最初的阿尔玛萨米恩托
- Se usa a veces como paraguas que incluye la memoria prime y 阿尔托的其他记忆, sobre todo en entornos empresariales。
- 启动 CPU 和辅助设备 movilizar datos con fluidez.
二级存储
- 迪斯科杜罗、SSD、unidades ópticas yimies, CPU 没有直接访问权限.
- 持久的能力, 理想的宽敞广场和安全保障,牺牲 RAM 速度算法。
La norma práctica es clara: 必须保护所有物品; La Memoria Primary te da Rendimiento en caliente, pero no durabilidad por sí sola.在数据中心,我们将提供“主要的基本信息”,以帮助响应者快速响应 E/S 和 IOPS 的强化响应。
组织记忆和计划:las cuatro zonas clave
执行计划、操作准备系统和逻辑区域划分空间。 最重要的相关内容:código ejecutable、datos estáticos、pila(堆栈)和 heap。 Cada una tiene reglas de vida y uso different.
代码记忆: es el propio binario (lo que ha Generado el compilador a partir del código fuente)。 以下是有关 CPU 执行的操作的继续部分 y,为了安全,suele Ser de 独奏讲座和可弹出。
Memoria de datos estáticos:aquí viven las 变量全局和估计。 Se reservan cuando arranca el programa y permanecen hasta su Final, por lo que son Ideales para configuraciones or estados que deban durar toda la vida del proceso.
Pila de llamadas(堆栈): cada vez que una función entra en escena, se “apila” un nuevo contexto (frame) con sus 参数 y 变量 locale。 Al devolver el control (return), se “desapila” y su espacio queda libre automáticamente.
堆:在喷射过程中,这是一个记忆区域。 没有编译内容的结构 (listas、arboles、buffers leídos de archivo 等)。 Tú (o el runtime/GC) gestionas su vida útil。
Un apunte operativo: en muchas Implementaciones, la pila crece y decrece “desde arriba” del espacio reservado, mientras el heap lo hace “desde abajo”;系统已建立了限制,并且在未来可能会发生变化。
Pila de llamadas:调用函数时发生的情况
La pila funciona como una estructura LIFO (último en entrar, primero en salir)。 调用创建一个包含返回方向、参数和区域设置的框架,一个菜单多 colocados de forma contigua para aprovechar la localidad de Referencias。
Si encadenas llamadas como saludar(1), saludar(2), saludar(3), 与 apilan 和 desapilan sucesivamente 的框架相同。 Este mecanismo automático simplifica la vida:没有“自由”变量区域设置; Mueren al salir de la función。
因此,干草限制了实践: una recursion profunda o la reserva de grandes arrays en la pila puede desbordarla,引起堆栈溢出。 Para estructuras voluminosas o impredecibles, el heap es más apropiado.
堆: memoria dinámica bajodemanda
想象一下,在存档或控制台中保存了一些有益的东西,但没有任何危险。 注射时注射药物 y gestionas su ciclo de vida con disciplina (liberándolos cuando ya no se usan)。
En C,típicamente reservarás y liberarás de forma explícita; 使用语言恢复器 (GC),运行时决定恢复记忆。在这方面,我们要避免所有权的重复和困难。
十个碎片介绍: 多种储备和自由的塔玛尼奥斯dispares pueden dejar “huecos” desaprovechados。作为减少影响的现代应用策略的代表,请使用重要的应用程序。
Direcciones y tamaños en C: & y sizeof como brújula
如果要检查平台,请编写一个小程序,以指定各种类型的大小(char、int、long、punteros...)。 Así sabrás strictamente cuántos bytes ocupa cada uno y podrás definir estructuras y protocolos con precisión.
Cuando tomas la dirección con & de una 变量, 获取基本字节本地化信息。部分内容包括编辑和解释这些记忆块、字节大小和线性访问。
Relaciona esto con la pila: las 变量 locales suelen colocarse consecutivamente en memoria, lo que explica por qué recorrer arrays locales es tan eficiente (aprovechas la localidad y las cachés del procesador)。
物品与 POO:生命与生活的循环
面向对象的程序,“dónde vive”un object dependente del lenguaje and del patrón de uso。 使用 C++ 创建自动对象(en pila)或动态对象(en heap);在 Java 或 C# 中,运行时堆中的对象是剩余的,请参阅 pasan 参考。
Ese detalle influye en la semántica: los objetos en pila tienen vida acotada al bloque y coste de Creación/desstrucción muy bajo;堆是主要结构和模块的一部分,是额外的管理工具(GC 手册)。
这是 Windows 10 中的情况:塔雷亚斯和记忆管理员
Cuando abre el Administrador de tareas, la cifra de memoria de un proceso te muestra, simplificando, su conjunto de trabajo (working set) y otros consumos agregados. Parte de esa memoria es privada (solo tu proceso la usa) y otra es compartida (módulos del sistema, bibliotecas).
Además,Windows maneja el “compromiso”(提交),que es RAM 或分页存档的保留系统的 Promesa。为了纪念“妥协”,您可以在 RAM 中进行分页。
Con esa traducción mental, Lo que llamas “pila” y “heap” no aparece como barras separadas;在这样的情况下,全球范围内的页面分配、比较和居民。最后,我们使用监控器来监控堆、堆栈和段的递归或删除。
记忆中的特洛佩萨实践指南
Primero, mide y verifica: 没有asumas tamaños;预登记消费雷亚尔的大小。第二,asigna la memoria donde tenga sentido:pila para cosas pequeñas y efímeras;大量的收藏和生活扩展结构。
Evita mezclar 职责: si una función reserva, que también libere, o documenta claramente quién es el “dueño”。在 C 和 C++ 中,所有权和媒体解决方案之间存在合同关系,可实现双重解放。
Piensa en la jerarquía: acceder de forma lineal y predecible ayuda a las cachés, y eso se traduce en rendimiento。重组结构(SoA 与 AoS)需要额外的 CPU 操作。
Y recuerda las limitaciones: RAM 速度快、有限且不稳定。 Asegura persistencia cuando toque (guardar antes de cerrar) 并考虑虚拟记忆机制、mapeos 和 SCM si tu carga los puede aprovechar。
最后,不要忽视教育“自我评估”: Plantearte preguntas sencillas sobre qué zona aloja cada dato, cuánto ocupa y quién lo libera Suele destapar malentendidos antes de que lleguen a producción。
Si tienes claras las piezas —bits y bytes, jerarquía de memoria, y las cuatro zonas del proceso—, Lo que parecía magia negra pasa a Ser un patrón comprensible al que puedes sacarle rendimiento y fiabilidad.