Fundamentos de Programación

Memory-Mapped I/O

Technique where files are mapped directly into process virtual memory, allowing the OS to handle reads/writes through page faults. Solana's AccountsDB uses memory-mapped files (AppendVec) to store account data, enabling efficient random access to gigabytes of account state without loading everything into heap memory.

IDmemory-mapped-ioAliasmmap

Lectura rápida

Empieza por la explicación más corta y útil antes de profundizar.

Technique where files are mapped directly into process virtual memory, allowing the OS to handle reads/writes through page faults. Solana's AccountsDB uses memory-mapped files (AppendVec) to store account data, enabling efficient random access to gigabytes of account state without loading everything into heap memory.

Modelo mental

Usa primero la analogía corta para razonar mejor sobre el término cuando aparezca en código, docs o prompts.

Piensa en esto como un bloque de construcción que conecta una definición aislada con el sistema mayor donde vive.

Contexto técnico

Ubica el término dentro de la capa de Solana en la que vive para razonar mejor sobre él.

Serialización, memoria, estructuras de datos y bases de ingeniería.

Por qué le importa a un builder

Convierte el término de vocabulario en algo operacional para producto e ingeniería.

Este término desbloquea conceptos adyacentes rápido, así que funciona mejor cuando lo tratas como un punto de conexión y no como una definición aislada.

Handoff para IA

Handoff para IA

Usa este bloque compacto cuando quieras dar contexto sólido a un agente o asistente sin volcar toda la página.

Memory-Mapped I/O (memory-mapped-io)
Categoría: Fundamentos de Programación
Definición: Technique where files are mapped directly into process virtual memory, allowing the OS to handle reads/writes through page faults. Solana's AccountsDB uses memory-mapped files (AppendVec) to store account data, enabling efficient random access to gigabytes of account state without loading everything into heap memory.
Aliases: mmap
Relacionados: AccountsDB, AppendVec, Heap Memory
Glossary Copilot

Haz preguntas de Solana con contexto aterrizado sin salir del glosario.

Usa contexto del glosario, relaciones entre términos, modelos mentales y builder paths para recibir respuestas estructuradas en vez de output genérico.

Abrir workspace completa del Copilot
Explicar este código

Opcional: pega código Anchor, Solana o Rust para que el Copilot mapee primitivas de vuelta al glosario.

Haz una pregunta aterrizada en el glosario

Haz una pregunta aterrizada en el glosario

El Copilot responderá usando el término actual, conceptos relacionados, modelos mentales y el grafo alrededor del glosario.

Grafo conceptual

Ve el término como parte de una red, no como una definición aislada.

Estas ramas muestran qué conceptos toca este término directamente y qué existe una capa más allá de ellos.

Rama

AccountsDB

The persistent storage layer for all Solana accounts. AccountsDB stores account data in memory-mapped AppendVec files, indexed by pubkey and slot. It supports fast lookups, handles account deduplication across slots, and periodically cleans up dead accounts. AccountsDB is the largest consumer of validator disk space.

Rama

AppendVec

A memory-mapped, append-only file used by AccountsDB to store account data. Each AppendVec corresponds to a specific slot and contains serialized account entries (pubkey, lamports, data, owner, etc.). AppendVecs are immutable once the slot is rooted, enabling efficient snapshotting and cleanup.

Rama

Heap Memory

The dynamic memory region available to SBF programs during execution, defaulting to 32KB. Programs use heap memory for dynamic allocations (Vec, String, Box). The heap size can be increased up to 256KB by requesting additional compute units via the Compute Budget Program's RequestHeapFrame instruction. Heap exhaustion causes the program to fail with an AccessViolation error. Efficient programs minimize heap usage through zero-copy patterns and stack-allocated buffers.

Siguientes conceptos para explorar

Mantén la cadena de aprendizaje en movimiento en lugar de parar en una sola definición.

Estos son los siguientes conceptos que vale la pena abrir si quieres que este término tenga más sentido dentro de un workflow real de Solana.

Protocolo Base

AccountsDB

The persistent storage layer for all Solana accounts. AccountsDB stores account data in memory-mapped AppendVec files, indexed by pubkey and slot. It supports fast lookups, handles account deduplication across slots, and periodically cleans up dead accounts. AccountsDB is the largest consumer of validator disk space.

Protocolo Base

AppendVec

A memory-mapped, append-only file used by AccountsDB to store account data. Each AppendVec corresponds to a specific slot and contains serialized account entries (pubkey, lamports, data, owner, etc.). AppendVecs are immutable once the slot is rooted, enabling efficient snapshotting and cleanup.

Protocolo Base

Heap Memory

The dynamic memory region available to SBF programs during execution, defaulting to 32KB. Programs use heap memory for dynamic allocations (Vec, String, Box). The heap size can be increased up to 256KB by requesting additional compute units via the Compute Budget Program's RequestHeapFrame instruction. Heap exhaustion causes the program to fail with an AccessViolation error. Efficient programs minimize heap usage through zero-copy patterns and stack-allocated buffers.

Fundamentos de Programación

Monorepo

A software development strategy where multiple related packages, programs, or applications are stored in a single version-controlled repository. In Solana development, monorepos commonly contain multiple on-chain programs, their test suites, client SDKs, and frontend applications in one repository. Tools like Cargo workspaces (Rust), npm/pnpm workspaces (TypeScript), and Anchor's workspace configuration support monorepo patterns, enabling shared dependencies and atomic cross-package changes.

Términos relacionados

Sigue los conceptos que realmente le dan contexto a este término.

Las entradas del glosario se vuelven útiles cuando están conectadas. Estos enlaces son el camino más corto hacia ideas adyacentes.

Protocolo Baseaccounts-db

AccountsDB

The persistent storage layer for all Solana accounts. AccountsDB stores account data in memory-mapped AppendVec files, indexed by pubkey and slot. It supports fast lookups, handles account deduplication across slots, and periodically cleans up dead accounts. AccountsDB is the largest consumer of validator disk space.

Protocolo Baseappend-vec

AppendVec

A memory-mapped, append-only file used by AccountsDB to store account data. Each AppendVec corresponds to a specific slot and contains serialized account entries (pubkey, lamports, data, owner, etc.). AppendVecs are immutable once the slot is rooted, enabling efficient snapshotting and cleanup.

Protocolo Baseheap-memory

Heap Memory

The dynamic memory region available to SBF programs during execution, defaulting to 32KB. Programs use heap memory for dynamic allocations (Vec, String, Box). The heap size can be increased up to 256KB by requesting additional compute units via the Compute Budget Program's RequestHeapFrame instruction. Heap exhaustion causes the program to fail with an AccessViolation error. Efficient programs minimize heap usage through zero-copy patterns and stack-allocated buffers.

Más en la categoría

Quédate en la misma capa y sigue construyendo contexto.

Estas entradas viven junto al término actual y ayudan a que la página se sienta parte de un grafo de conocimiento más amplio en lugar de un callejón sin salida.

Fundamentos de Programación

Rust

A systems programming language emphasizing memory safety, zero-cost abstractions, and concurrency without a garbage collector. Rust uses an ownership model with borrow checking at compile time to prevent data races and null pointer bugs. It is the primary language for Solana program development (via Anchor or native solana-program crate) and the Agave validator client.

Fundamentos de Programación

TypeScript

A statically typed superset of JavaScript that compiles to plain JavaScript. TypeScript adds type annotations, interfaces, generics, and enums to catch errors at compile time. It is the standard language for Solana client-side development—wallet adapters, dApp frontends, test suites, and SDK interactions (web3.js, Anchor client) are typically written in TypeScript.

Fundamentos de Programación

JavaScript

The ubiquitous scripting language for web development, running in browsers and Node.js. JavaScript is dynamically typed and event-driven. Most Solana dApp frontends and scripts use JavaScript/TypeScript with libraries like @solana/web3.js. Node.js enables server-side JS for backend services, indexers, and bot development.

Fundamentos de Programación

Node.js

A JavaScript runtime built on Chrome's V8 engine that enables server-side JavaScript execution. Node.js uses an event-driven, non-blocking I/O model. In the Solana ecosystem, Node.js is used for: running Anchor tests (Mocha/Jest), backend services, transaction bots, indexers, and CLI tools. npm/yarn/pnpm manage JavaScript package dependencies.