miércoles, 7 de noviembre de 2012

LENGUAJE MAQUINA Y ENCADENAMIENTO

 lenguaje de máquina:
lenguaje de máquina es el sistema de códigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontrolador de un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones de lenguaje de máquina (más los datos). Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de cada máquina o arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas. 



El lenguaje ensamblador, o assembler:
 (assembly language en inglés) es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables  


leguaje compilador:

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.


lenguaje generador o interprete:

Un lenguaje interpretado es un lenguaje de programación que está diseñado para ser ejecutado por medio de un intérprete, en contraste con los lenguajes compilados. Teóricamente, cualquier lenguaje puede ser compilado o ser interpretado, así que esta designación es aplicada puramente debido a la práctica de implementación común y no a alguna característica subyacente de un lenguaje en particular. Sin embargo, hay lenguajes que son diseñados para ser intrínsecamente interpretativos, por lo tanto un compilador causará una carencia de la eficacia. Muchos autores rechazan la clasificación de lenguajes de programación entre interpretados y compilados, considerando que el modo de ejecución (por medio de intérprete o de compilador) del programa escrito en el lenguaje es independiente del propio lenguaje. A ciertos lenguajes interpretados también se les conoce como lenguajes de script.
                      video de lenguajes compiladores e interprete
                                                                   

Encadenamiento:

Es una función necesaria en todas las redes excepto en aquellas redes LAN que proporcionan conexiones directas entre todos los pares de hosts conectados. En las redes grandes se emplea un encaminamiento adaptativo: se reevalúan periódicamente las mejores rutas para comunicar los puntos de red, teniendo en cuenta el tráfico actual y cualquier fallo como conexiones rotas o ronters caidos.


La entrega de los paquetes a sus destinos es una  responsabilidad colectiva de los routers situados en los puntos de conexión El paquete deberá ser transmitido en una serie de saltos, pasando a través de los routers. La determinación de las rutas a seguir para que   un paquete llegue a destino es responsabilidad del algoritmo de encaminamiento por un programa en la capa de red de cada nodo.
Un algoritmo de encaminamiento tiene dos partes:
&Tomar decisiones que determinen la ruta seguida por cada paquete  que viajan por la red.
&Debe actualizar dinámicamente su conocimiento de la red basándose en la monotorización  del  tráfico y la detección de cambios de configuración o de fallos .
  Las decisiones de encaminamiento  se toma  salto a salto, utilizando información  local para determinar el siguiente salto a dar por el paquete recién llegado.  La información almacenada localmente es actualizada periódicamente por un algoritmo que distribuye información sobre el estado de los enlaces ( su carga  y sus estados de error ).



EJEMPLO DE ENCADENAMIENTO:

Encadenamiento IP

La capa IP encamina paquetes desde su origen hasta su destino. Cada router en Internet implementa la capa de software IP para proporcionar un algoritmo de encaminamiento.


OTRO EJEMPLO DE ENCADENAMIENTO SE PUEDE APRECIAR EN ESTA IMAGEN