cambios SS

This commit is contained in:
Gallardo7761
2024-10-10 12:29:46 +02:00
parent f186155899
commit e5530e6de8
4 changed files with 38 additions and 9 deletions

View File

@@ -133,4 +133,32 @@ Hay al menos tres formatos:
## <mark style="background: #ADCCFFA6;">4. Tipos de archivo ejecutable</mark>
Hay tantos tipos de ejecutable como mecanismos de carga distintos. Los detalles del mecanismo de carga dependen del SO.
### <mark style="background: #FFB86CA6;">Imágenes binarias</mark>
El ejecutable es un **mapa de memoria**. Es el formato más simple, sin información de carga/reubicación. En el archivo están las zonas de memoria que usa el programa (el SO lo carga y se ejecuta). Se usan en computadores donde el SO o es muy simple o no existe (embedded).
- El ejecutable es un **mapa de memoria**.
- Es el formato más simple, sin información de carga/reubicación.
- En el archivo están las zonas de memoria que usa el programa (el SO lo carga y se ejecuta).
- Se usan en computadores donde el SO o es muy simple o no existe (embedded).
### <mark style="background: #FFB86CA6;">Ejecutables con información de carga/reubicación</mark>
- El ejecutable también es un mapa de memoria, pero más complejo
- Hay varios formatos muy utilizados:
- **COFF (Common Object File Format):** UNIX y Windows (sólo para archivos .obj y .lib).
- **PE (Portable Executable):** variante del COFF para Windows con código ejecutable (.exe y .dll).
- **ELF (Executable and Linkable Format):** variante del COFF usado en UNIX.
¿Qué contiene un ejecutable?
- Descripción de los **recursos iniciales** del programa
- código
- datos inicializados
- atributos estáticos
- constantes
- tamaño de datos no inicializados y pila
- **Instrucción inicial** donde comienza el código
- **Tablas de reubicación** de datos y código
- Información de debug (opcional)
Las **secciones mínimas** son:
![[Pasted image 20241010115957.png]]
## <mark style="background: #ADCCFFA6;">5. Generación del ejecutable: enlace (link)</mark>
Es el proceso final de la construcción del ejecutable. Hay dos tipos:
- **Estático:** posible en todos los IDE.
- **Dinámico:** posible en algunos SO/IDE. En el dinámico, el SO completa parte del enlace en la carga del programa y/o durante su ejecución.
![[Pasted image 20241010120358.png]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB