Las computadoras de hoy usan memoria virtual.
La unidad de memoria que el sistema operativo otorga a un proceso es la página (generalmente unos pocos KB, podría ser diferente)
Cuando se realizó su llamada a malloc, la matriz se asignó en la página.
La pregunta importante aquí es, ¿dónde está el final de la matriz wrt el límite de la página?
- El final de la matriz y la página no se encuentran. Tienes algo de espacio después del final de la matriz en esa página
- Fin de la matriz y la página se encuentran.
Tenga en cuenta que la matriz también puede cruzar muchas páginas.
Como se garantiza que una página se asignará a una ubicación física, cualquier acceso dentro del límite de la página pasará
Si la ubicación a la que accede está fuera y no está asignada a una ubicación física, se bloquea. Principalmente con una señal SIGSEGV enviada por el sistema operativo, también conocido como error de segmentación.
Si el undécimo elemento es una ubicación de memoria asignada a una ubicación física, puede escribir.
De lo contrario, falla.
- Creo que me estoy convirtiendo gradualmente en un misógino. ¿Voy por el camino equivocado?
- Gano $ 40,000 USD al año en el pago de jubilación y estoy pensando en mudarme a la India, ¿sería mucho dinero allí?
- La luz de mi porche está rodeada de telarañas que atrapan toda clase de insectos. Las luces eléctricas son relativamente nuevas. ¿Es este un ejemplo de arañas (y sus presas) que se adaptan o evolucionan a una nueva oportunidad?
- Estoy cansado de hacer lo “correcto”. ¿Qué tengo que hacer?
- Actualmente estoy ejecutando un sitio de comercio electrónico que está en un nicho de mercado. Mi pregunta es ‘¿A quién le comercializo este sitio? ¿Vendedores o compradores? ¿O ambos al mismo tiempo?