P. 1
Archivos Ejecutables

Archivos Ejecutables

4.25

|Views: 42.452|Likes:
Publicado poringzepe

More info:

Published by: ingzepe on Sep 29, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/29/2014

pdf

text

original

Archivo

Un archivo informático es un conjunto de información que se almacena en algún medio de escritura que permita ser leído o accedido por una computadora. Un archivo es identificado 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 los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Los archivos informáticos facilitan una manera de organizar los recursos usados para almacenar permanentemente 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 a 255), que es tratado por el sistema operativo como una única unidad lógica. Un archivo de datos informático normalmente tiene un tamaño, que generalmente se expresa en bytes; en todos los sistemas operativos modernos, el tamaño puede ser cualquier número entero no negativo de bytes hasta un máximo dependiente del sistema. Depende del software que se ejecuta en la computadora el interpretar esta simplísima estructura básica como por ejemplo un programa, un texto o una imagen, basándose en su nombre y contenido

Extensión de Archivo
En informática, una extensión de archivo o extensión de fichero, es una cadena de caracteres anexada al nombre de un archivo, usualmente antecedida por un punto. Su función principal es diferenciar el contenido del archivo de modo que el sistema operativo disponga el procedimiento necesario para ejecutarlo o interpretarlo, sin embargo, la extensión es solamente parte del nombre del archivo y no representa ningún tipo de obligación respecto al contenido del mismo.

Archivo Ejecutable
En Informática, un ejecutable o archivo ejecutable, es un archivo binario cuyo contenido se 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 de ejecutables portables (se pueden ejecutar en varias plataformas) y no portables

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

Archivos COM
En MS-DOS, sistemas operativos compatibles, y en CP/M de 8-bits, un fichero COM es un tipo simple de fichero ejecutable. El nombre del formato de fichero proviene de la extensión del nombre de fichero .com , que fue la extensión original usada para estos ficheros. Sin embargo, no existe asociación real entre el formato de fichero y la extensión del 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 la imagen de memoria que será un programa. Solamente pueden almacenarse en archivos COM los programas que quepan en un solo segmento. El formato COM es quizás el formato ejecutable más simple de todos, no contiene metadatos, sólo código y datos, y se carga en el desplazamiento 0x0100 de un segmento y se ejecuta. Debido a la segmentación de la memoria no es necesaria la 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 un problema en los primeros ordenadores de 8-bits, pero es la razón principal por la que este formato cayó en desuso con la introducción de los procesadores de 16-bits y luego con 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.0 de MS-DOS y sigue siendo utilizado en la actualidad. Las capacidades del formato EXE fueron evolucionando al paso de los años para adecuarse a las nuevas necesidades del mundo del software y a las nuevas posibilidades que abrían los hardwares más recientes Existen dos formas de crear un archivo de tipo EXE. Una es usando un compilador que pueda crear este tipo de archivos. La otra forma es ensamblando un código fuente del lenguaje 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, en cambio el COM está restringido como máximo a ocupar un solo segmento de memoria (un espacio de memoria de 64 Kb); además hay que incluir los 256 bytes que ocupa el PSP. Este límite fue dado en una época en la que esta cantidad de espacio era más que suficiente para poder realizar cualquier clase de tarea, pero con el paso del

tiempo este limite termino siendo absurdo (hoy en día gran parte de los programas de computadoras ocupan miles de veces más espacio). De todas formas es posible hacer que un 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ón que el programa se inicia a partir del offset 0x100 (en assembler se utiliza el operador ORG). En cambio el formato EXE reorganiza sus segmentos en la memoria dando 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 la cabecera de un archivo EXE hay cierto código que realiza esta tarea. El utilitario EXE2COM cambiaba de un formato a otro.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->