4

Click here to load reader

Archivos Ejecutables

  • Upload
    ingzepe

  • View
    40.810

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Archivos Ejecutables

Archivo

Un archivo informático es un conjunto de información que se almacena en algún mediode escritura que permita ser leído o accedido por una computadora. Un archivo esidentificado por un nombre y la descripción de la carpeta o directorio que lo contiene.Los archivos informáticos se llaman así porque son los equivalentes digitales de losarchivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Los archivosinformáticos facilitan una manera de organizar los recursos usados para almacenarpermanentemente información dentro de un computador.

En lo que concierne al sistema operativo, un archivo es, en la mayoría de los casos,simplemente un flujo unidimensional de bytes (números enteros en el intervalo de 0 a255), que es tratado por el sistema operativo como una única unidad lógica. Un archivode datos informático normalmente tiene un tamaño, que generalmente se expresaen bytes; en todos los sistemas operativos modernos, el tamaño puede ser cualquiernúmero entero no negativo de bytes hasta un máximo dependiente del sistema. Dependedel software que se ejecuta en la computadora el interpretar esta simplísima estructurabásica como por ejemplo un programa, un texto o una imagen, basándose en su nombrey contenido

Extensión de Archivo

En informática, una extensión de archivo o extensión de fichero, es una cadena decaracteres anexada al nombre de un archivo, usualmente antecedida por un punto. Sufunción principal es diferenciar el contenido del archivo de modo que el sistemaoperativo disponga el procedimiento necesario para ejecutarlo o interpretarlo, sinembargo, la extensión es solamente parte del nombre del archivo y no representa ningúntipo de obligación respecto al contenido del mismo.

Archivo Ejecutable

En Informática, un ejecutable o archivo ejecutable, es un archivo binario cuyo contenidose interpreta por la computadora como un programa.Generalmente, contiene instrucciones en código máquina de un procesador en concreto,pero también puede contener bytecode que requiera un intérprete para ejecutarlo.Además suele contener llamadas a funciones específicas de un sistema operativo(llamadas al sistema).

Dependiendo del tipo de que se traten las instrucciones, hablaremos deejecutables portables (se pueden ejecutar en varias plataformas) y no portables

Page 2: Archivos Ejecutables

(destinado a una plataforma concreta). Por ejemplo, un ejecutable Java es portable yaque utiliza un bytecode no asociado a un procesador en concreto.

Page 3: Archivos Ejecutables

Archivos COM

En MS-DOS, sistemas operativos compatibles, y en CP/M de 8-bits, un fichero COM esun tipo simple de fichero ejecutable. El nombre del formato de fichero proviene dela extensión del nombre de fichero .com , que fue la extensión original usada para estosficheros. Sin embargo, no existe asociación real entre el formato de fichero y la extensióndel nombre de fichero más que en CP/M y versiones muy antiguas de MS-DOS.

Los COM tienen una estructura muy simple y almacenan en forma directa y lineal laimagen de memoria que será un programa. Solamente pueden almacenarse en archivosCOM los programas que quepan en un solo segmento.

El formato COM es quizás el formato ejecutable más simple de todos, nocontiene metadatos, sólo código y datos, y se carga en el desplazamiento 0x0100 de unsegmento y se ejecuta. Debido a la segmentación de la memoria no es necesariala relocalización.Sin embargo su simpleza tiene un precio: el binario tiene un tamaño máximo de 65,280(0xFF00) bytes y almacena todo su código y datos en un segmento. Esto no era unproblema en los primeros ordenadores de 8-bits, pero es la razón principal por la queeste formato cayó en desuso con la introducción de los procesadores de 16-bits y luegocon los de 32-bits debido a sus mayores memorias segmentadas.

Archivos EXE

El formato de archivos EXE fue introducido en marzo de 1983, en la versión 2.0de MS-DOS y sigue siendo utilizado en la actualidad.

Las capacidades del formato EXE fueron evolucionando al paso de los años paraadecuarse a las nuevas necesidades del mundo del software y a las nuevas posibilidadesque abrían los hardwares más recientes

Existen dos formas de crear un archivo de tipo EXE. Una es usando un compilador quepueda crear este tipo de archivos. La otra forma es ensamblando un código fuente dellenguaje Assembler y luego enlazand el código objeto resultante de la tarea anterior.

Diferencias entre.COM y.EXE

La principal diferencia es que el formato EXE no restringe el tamaño del ejecutable, encambio el COM está restringido como máximo a ocupar un solo segmento dememoria (un espacio de memoria de 64 Kb); además hay que incluir los 256 bytes queocupa el PSP. Este límite fue dado en una época en la que esta cantidad de espacio eramás que suficiente para poder realizar cualquier clase de tarea, pero con el paso del

Page 4: Archivos Ejecutables

tiempo este limite termino siendo absurdo (hoy en día gran parte de los programas decomputadoras ocupan miles de veces más espacio). De todas formas es posible hacer queun programa COM pueda extender este limite usando el enunciado SEGMENT AT.Un programa COM es prácticamente una imagen en memoria del archivo en disco,menos por el PSP que es creado durante el proceso de inicialización, y es por esta razónque el programa se inicia a partir del offset 0x100 (en assembler se utiliza eloperador ORG). En cambio el formato EXE reorganiza sus segmentos en la memoriadando un tamaño adecuado (que es posible y necesario que el programador lo determine,dependiendo del lenguaje en el cual fue escrito), es por esta razón que dentro de lacabecera de un archivo EXE hay cierto código que realiza esta tarea.El utilitario EXE2COM cambiaba de un formato a otro.