Vistas a la página totales

lunes, 3 de octubre de 2016

Cuestionario sobre los temas ("Lenguaje maquina" y " Buses del Computador")



"Cuestionario"

1. ¿Qué es un bus de un computador?
 Es en un circuito de comunicación impreso.

2. ¿El bus del computador también es conocido como?
 Es conocido como canal del computador.

3. ¿El bus está formando por?
 Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados.

4. ¿Los primeros buses eran de tipo?
 Eran de tipo paralelo.

5. ¿Cómo se hacía la comunicación en los buses de tipo paralelo?
 Se hacía por medio de cintas o muchas pistas en el circuito impreso.

6. ¿Qué es lo único que requiere la conexión del bus paralelo?
 Requiere únicamente puertos de entrada y de salida para cada dispositivo.

7. ¿Cómo se llama el bus que vino a remplazar al bus paralelo?
 Los buses seriales como el USB, Firewire.

8. ¿Para qué se utilizaban los buses seriales?
 Se utilizaban para comunicaciones con periféricos.

9. ¿Qué es lo que posee el bus serial que no tiene el bus paralelo?
Posee una lógica más compleja.

10. ¿El bus tiene unas características que lo definen como un?
 Se define como un conjunto de características mecánicas.

11. ¿Qué características mecánicas tienen los buses?
Sus características son conectores, cables y tarjetas, además de protocolos eléctricos y de señales.
  
12. ¿Cuál es el funcionamiento de los buses?
 La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles.
  
13. ¿Las señales que transmiten los buses son?
 Son señales digitales que se trasmiten como datos, de direcciones o señales de control.

14. ¿Cuáles son los tipos de buses que existen?
Los buses paralelos , buses series, buses de direcciones, bus de datos y bus de multiplexado.

15. ¿Qué es el bus paralelo?
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias líneas que tienen funciones fijas.

16. ¿Qué es el bus serial?
 En este bus los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas.

17. ¿Qué es el bus de direcciones?
 El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito.

18. ¿Qué es el bus de datos?
Es el bus que permite el intercambio de datos entre la CPU y el resto de unidades.

19. ¿Qué es el bus de multiplexado?
 Es el bus en el que sus diseños utilizan líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos.

20. ¿Qué es el lenguaje maquina?
 Es el sistema de códigos directamente interpretable por un circuito micro programable, como el microprocesador de una computadora o el micro controlador de un autómata.

21. ¿El lenguaje maquina también es conocido como?
Código maquina.

22. ¿Porqué está compuesto este lenguaje?
Por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina.

23. ¿Qué es un red de conmutación?
Es un circuito de interruptores eléctricos que al cumplir ciertas combinaciones booleanas con las variables de entrada, define el estado de la salida.

24. ¿Qué es lo que ha permitido el desarrollo tecnológico?
Ha permitido evolucionar desde las redes de relés electromagnéticos a circuitos con tubos de vacío, luego a redes transistorizadas, hasta llegar a los modernos circuitos integrados, en cuya cúspide se encuentran los circuitos micro programado.
  
25. ¿Cuáles son las soluciones ante problemas de funcionamiento de la CPU?

·         Trabaja Primero en la Solución Más Simple.
·         Intenta reiniciar la PC.
·         Intenta Eliminando Complicaciones.
·         Remplaza Primero el Software.
·         Se Metódico y Científico.
·         No Confíes en la Documentación.
·         No Adivines el Problema.

sábado, 10 de septiembre de 2016


Lenguaje de Máquina: Lenguaje de máquina del Intel 8088. El código de máquina en hexadecimal se resalta en rojo, el equivalente en lenguaje ensamblador en magenta, y las direcciones de memoria donde se encuentra el código, en azul. Abajo se ve un texto en hexadecimal y ASCII.
El lenguaje de máquina o código máquina es el sistema de códigos directamente interpretable por un circuito micro programable, como el microprocesador de una computadora o el micro controlador 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 más un conjunto de datos sobre el cual se trabaja. 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 la arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.
Los circuitos micro programables son digitales, lo que significa que trabajan con dos únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y 1, por eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías del álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.

Una visión típica de la arquitectura de computadoras como una serie de capas de abstracción: hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.
Claude Elwood Shannon, en su libro Analysis of Relay and Switching Circuits, y con sus experiencias en redes de conmutación, sentó las bases para la aplicación del álgebra de Boole a las redes de conmutación. Una red de conmutación es un circuito de interruptores eléctricos que al cumplir ciertas combinaciones booleanas con las variables de entrada, define el estado de la salida. Este concepto es el núcleo de las puertas lógicas, las cuales son, por su parte, los ladrillos con que se construyen sistemas lógicos cada vez más complejos. Shannon utilizaba el relé como dispositivo físico de conmutación en sus redes, dado que el relé, a igual que una lámpara eléctrica, posee dos estados: activado (encendido) o desactivado (apagado).
El desarrollo tecnológico ha permitido evolucionar desde las redes de relés electromagnéticos a circuitos con tubos de vacío, luego a redes transistorizadas, hasta llegar a los modernos circuitos integrados, en cuya cúspide se encuentran los circuitos micro programado.

Soluciones Ante Problemas en el Funcionamiento de la CPU: 


· Toma Notas: Siempre dibuja diagramas, anota cualquier información que 
no es totalmente obvia cuando estés instalando, desarmando, remplazando 
o cambiando cosas en una PC. Cuando desarmas equipo, usualmente es 
difícil recordar exactamente como colocar todo de nuevo. Algunas personas 
incluso toman fotos de la configuración del equipo.


· Trabaja Primero en la Solución Más Simple: No empieces a arreglar un
problema de ratón con el remplazo de la tarjeta madre. La tarjeta Madre
puede que sea el origen del problema, pero el problema también puede ser
el ratón, y es mucho más sencillo limpiar el ratón o cambiarlo por otro que
sabes que está bien, que cambiar la Tarjeta Madre. Moraleja: enlista el
hardware que posiblemente este defectuoso y trata el cambio mas fácil
primero.


· Intenta reiniciar la PC: Esta es una extensión de la regla anterior. Si algo
extraño pasa en el comportamiento de una aplicación, el primer (y más
fácil) remedio a intentar es apagar la computadora, esperar 3 minutos, y
volverla a encender. Esto arregla cualquier problema en memoria RAM
causado por ruido en la corriente y otras fuentes.


Cuando haya un problema, intenta
reducir la configuración de la computadora a lo mínimo y ve si el problema
persiste. Quita la Computadora de la red (sí forma parte de una red);
desconéctala de Internet; apaga el protector de pantalla y cualquier otro
software no indispensable. En otras palabras trata con una configuración lo
más elemental posible. Rastreando conflictos en el software es similar a
encontrar los problemas de Hardware, es un proceso de eliminación. El
menor número de programas corriendo, más cerca de encontrar el
problema estarás.


· Remplaza Primero el Software: Haz un diagrama del problema. Si una
impresora está fallando, dibuja las partes involucradas en el proceso de
impresión: La impresora, el cable, el puerto de impresión, el motherboard,
los drivers de la impresora, la aplicación que trata de imprimir. En esta lista
de sospechosos, él más fácil de revisar primero es el software. Intenta
reinstalar los drivers de la impresora, o utiliza el programa de instalación.

La mayoría de las soluciones de problemas requiere el intercambio de partes
ya que probar los componentes individuales de hardware requiere
demasiado equipo especializado y conocimiento. Pero más fácil que
cambiar partes es revisar el software para ver primero si no es la causa del
problema.

Solo porque cierto software siempre se ha
comportado estable, no asumas que no es el problema. Solo porque el
MODEM si funciona, no asumas que no puede interferir con la tarjeta de
sonido. Nunca teorices en esta forma: Esto no puede ser la causa del
problema _________ llena la línea. Lo más probable es que sea
___________llena la línea.


· No Confíes en la Documentación:Debes de leer los manuales y panfletos
que vienen con tu Hardware y Software para ver si la respuesta a tu
problema se encuentra ahí. Pero tampoco te debes de confiar que no
contienen errores, A menudo las personas que conocen los detalles
técnicos no son los mismos que escriben los manuales. Y algunas
ocasiones los manuales tratan de cubrir más de un producto en más de un
idioma. Algunas veces los editores cambian detalles. Los errores en
documentación técnica son comunes.

· Adivines el Problema: Nunca pongas tu reputación detrás de una
solución en particular, o puedes terminar defendiendo tu ego en vez de
localizar el verdadero problema. Si alguien te pregunta ¿qué crees que este
mal?, Contesta que no tienes suficiente información en ese momento para
diagnosticar. Si tú contestas, “probablemente es el Disco Duro".

Buses del Computador: Buses de comunicación en un circuito impreso.
En arquitectura de computadores, el bus (o canal) es un sistema digital que transfiere datos entre los componentes de una computadora o entre varias computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados.

En los primeros computadores electrónicos, todos los buses eran de tipo paralelo, de manera que la comunicación entre las partes del computador se hacía por medio de cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una función fija y la conexión es sencilla requiriendo únicamente puertos de entrada y de salida para cada dispositivo.

La tendencia en los últimos años hacia el uso de buses seriales como el USB, Firewire para comunicaciones con periféricos, reemplazando los buses paralelos, incluyendo el caso del microprocesador con el chipset en la placa base, a pesar de que el bus serial posee una lógica compleja (requiriendo mayor poder de cómputo que el bus paralelo) se produce a cambio de velocidades y eficacias mayores.

Existen diversas especificaciones de que un bus se define en un conjunto de características mecánicas como conectores, cables y tarjetas, además de protocolos eléctricos y de señales.

Funcionamiento: La función del bus es la de permitir la conexión lógica entre distintos subsistemas de un sistema digital, enviando datos entre dispositivos de distintos órdenes: desde dentro de los mismos circuitos integrados, hasta equipos digitales completos que forman parte de supercomputadoras.

La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de direcciones o señales de control.
Los buses definen su capacidad de acuerdo a la frecuencia máxima de envío y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la frecuencia, de manera que un bus con pocas señales es menos susceptible a esos problemas y puede funcionar a alta velocidad.

Todos los buses de computador tienen funciones especiales como las interrupciones y las DMA que permiten que un dispositivo periférico acceda a una CPU o a la memoria usando el mínimo de recursos.

Primera Generación:  Bus Backplane del PDP-11 junto con algunas tarjetas. Los primeros computadores tenían dos sistemas de buses, uno para la memoria y otro para los demás dispositivos. La CPU tenía que acceder a dos sistemas con instrucciones para cada uno, protocolos y sincronizaciones diferentes.
La empresa DEC notó que el uso de dos buses no era necesario si se combinaban las direcciones de memoria con las de los periféricos en un solo espacio de memoria (mapeo), de manera que la arquitectura se simplificaba ahorrando costos de fabricación en equipos fabricados en masa, como eran los primeros minicomputadores.

Los primeros microcomputadores se basaban en la conexión de varias tarjetas de circuito impreso a un bus Backplane pasivo que servía de eje al sistema. En ese bus se conectaba la tarjeta de CPU que realiza las funciones de árbitro de las comunicaciones con las demás tarjetas de dispositivo conectadas; las tarjetas incluían la memoria, controladoras de disquete y disco, adaptadores de vídeo. La CPU escribía o leía los datos apuntando a la dirección que tuviera el dispositivo buscado en el espacio único de direcciones haciendo que la información fluyera a través del bus principal.

Entre las implementaciones más conocidas, están los buses Bus S-100 y el Bus ISA usados en varios microcomputadores de las décadas de 1970 y 1980. En ambos, el bus era simplemente una extensión del bus del procesador de manera que funcionaba a la misma frecuencia. Por ejemplo en los sistemas con procesador Intel 80286 el bus ISA tenía 6 u 8 megahercios de frecuencia dependiendo del procesador.

Segunda Generación: Jerarquía de diversos buses en un equipo relativamente moderno: SATA, FSB, AGP, USB entre otros. El hecho de que el bus fuera pasivo y que usara la CPU como control, representaba varios problemas para la ampliación y modernización de cualquier sistema con esa arquitectura. Además que la CPU utilizaba una parte considerable de su potencia en controlar el bus.

Desde que los procesadores empezaron a funcionar con frecuencias más altas, se hizo necesario jerarquizar los buses de acuerdo a su frecuencia: se creó el concepto de bus de sistema (conexión entre el procesador y la RAM) y de buses de expansión, haciendo necesario el uso de un chipset.

El bus ISA utilizado como backplane en el PC IBM original pasó de ser un bus de sistema a uno de expansión, dejando su arbitraje a un integrado del chipset e implementando un bus a una frecuencia más alta para conectar la memoria con el procesador.

En cambio, el bus Nubus era independiente desde su creación, tenía un controlador propio y presentaba una interfaz estándar al resto del sistema, permitiendo su inclusión en diferentes arquitecturas. Fue usado en diversos equipos, incluyendo algunos de Apple y se caracterizaba por tener un ancho de 32 bits y algunas capacidades Plug and Play (autoconfiguración), que lo hacían muy versátil y adelantado a su tiempo. Entre otros ejemplos de estos buses autónomos, están el AGP y el bus PCI.

Tercera Generación: Los buses de tercera generación se caracterizan por tener conexiones punto a punto, a diferencia de los buses arriba nombrados en los que se comparten señales de reloj. Esto se logra reduciendo fuertemente el número de conexiones que presenta cada dispositivo usando interfaces seriales. Entonces cada dispositivo puede negociar las características de enlace al inicio de la conexión y en algunos casos de manera dinámica, al igual que sucede en las redes de comunicaciones. Entre los ejemplos más notables, están los buses PCI-Express, el Infiniband y el Hyper 2Transport.

Tipos de Bus: Existen dos tipos que están clasificados por el método de envío de la información: bus paralelo o bus serie.

Hay diferencias en el rendimiento y hasta hace unos años se consideraba que el uso apropiado dependía de la longitud física de la conexión: para cortas distancias el bus paralelo, para largas el serial.

Bus Paralelo: Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias líneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo, hasta las impresoras.

El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en líneas dedicadas:

Las líneas de dirección son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación. Las líneas de control son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los indicadores de estado.

Las líneas de datos transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.

Un bus paralelo tiene conexiones físicas complejas, pero la lógica es sencilla, que lo hace útil en sistemas con poco poder de cómputo. En los primeros microcomputadores, el bus era simplemente la extensión del bus del procesador y los demás integrados "escuchan" la línea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros procesadores, abaratando el producto.

Bus Seial: En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas. Está formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 años en buses para discos duros, unidades de estado sólido, tarjetas de expansión y para el bus del procesador.


Buses:  de control, de direcciones y de datos. Como o extensión del bus del microprocesador donde se grafican los buses de direcciones, de datos, y de control, que van desde la CPU a la RAM, ROM, E/S y otros. Bus de control Editar, el bus de control gobierna el uso y acceso a las líneas de datos y de direcciones. Como estas líneas están compartidas por todos los componentes, tiene que proveerse de determinados mecanismos que controlen su utilización. Las señales de control transmiten tanto órdenes como información de temporización entre los módulos. Mejor dicho, es el que permite que no haya colisión de información en el sistema.


Bus de Direcciones: El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito.

El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2n el tamaño máximo en bits del banco de memoria que se podrá direccionar con n líneas. Por ejemplo, para direccionar una memoria de 256 bits, son necesarias al menos 8 líneas, pues 28 = 256. Adicionalmente pueden ser necesarias líneas de control para señalar cuando la dirección está disponible en el bus. Esto depende del diseño del propio bus.

Las Direcciones de Memoria:Las direcciones son números naturales (en hexadecimal) que indican la posición de los datos dentro de la memoria principal o del espacio de direcciones de la unidad de entrada/salida. Las direcciones son generadas por la CPU que es quien decide a qué dato se debe acceder en cada momento.

Bus de Datos: Permite el intercambio de datos entre la CPU y el resto de unidades.

Buses Multiplexados: Algunos diseños utilizan líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos. Esto significa que un mismo conjunto de líneas eléctricas se comportan unas veces como bus de direcciones y otras veces como bus de datos, pero nunca al mismo tiempo. Una línea de control permite discernir cual de las dos funciones está activa. 

Multiplexados: Algunos diseños utilizan líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos. Esto significa que un mismo conjunto de líneas eléctricas se comportan unas veces como bus de direcciones y otras veces como bus de datos, pero nunca al mismo tiempo. Una línea de control permite discernir cual de las dos funciones está activa.

Cuestionario

1. ¿Cómo se llama la unidad que se encarga de sincronizar las acciones?
R) Unidad de control.

2. ¿Qué tipos de discos duros hay?
R) IDE/EIDE y a SCSI.

3. ¿Qué es un disco duro IDE?
R) Es un disco duro que es aceptado por casi todas las tarjetas madre, también EIDE y se pueden combinar con de dos discos duros con una CD-ROM para cada uno.

4. ¿Qué es un disco duro  SCSI?
R) Es un disco duro que requiere de una tarjeta madre especial para conectarse a la tarjeta madre.

5. ¿Es un pequeño  dispositivo hardware que permite a tu ordenador procesar sonido?
R) Tarjeta de Sonido.

6. ¿Qué se debe distinguir cuando se describe una computadora?
R) Se debe distinguir entre arquitectura y organización.

7. ¿Qué es la arquitectura de una computadora?
R) La arquitectura de computadoras se refiere a los atributos de un sistema que son visibles a un programador, es decir aquellos atributos que tienen un impacto directo en la ejecución lógica de un programa.

8. ¿Qué es la organización de una computadora?
R)  La organización de computadoras se refiere a las unidades funcionales y sus interconexiones, que materializan especificaciones arquitectónicas.

9.  ¿Es la unidad central de procesos donde se realizan las operaciones de cálculo y control de los componentes que forman todo el sistema?
R) Unidad central de procesos.

10. ¿De qué se encarga la Unidad de Control de una computadora?
R) Se encarga de sincronizar las acciones que realiza cada una de las unidades funcionales de un computador.

11. ¿Qué significan las siglas RAM?
R) Memoria de Acceso Aleatorio.

12. ¿Para qué se utiliza la Memoria ROM?
R) Se utiliza para almacenar los programas que ponen en marcha el ordenador y realizan los diagnósticos.

13.  ¿Es la vía de comunicación para los datos y señales de control en la estructura de un computador?
R) Los Buses o Buses de Datos.

14. ¿ Qué es un caché?
R) Es un sistema especial de almacenamiento de alta velocidad.

15. ¿ Qué es la tarjeta controladora de periféricos?
R) Son placas que contienen circuitos lógicos y que se conectan al bus de datos para recibir la información que la CPU.

16.¿Cómo se llama el lenguaje que permite una máxima flexibilidad al programador?
R) Lenguaje de alto nivel.

17. ¿Qué es un lenguaje de bajo nivel?
R) Es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan.

18. ¿Qué es lo que el código binario admite?
R) Sólo admite todo (1) o nada (0). Todo sistema informático está basado en este código, ya que el 1 (todo, SÍ) quiere decir que se permite el paso de la electricidad y el 0 (nada, NO) no lo permite.

19. ¿ Los lenguajes ensambladores también son denominados cómo?
R) Son denominados como nemotécnicos o nemónicos.

20. ¿Qué es el lenguaje de medio nivel?
R) Es aquel lenguaje que se basa en los juegos de instrucciones disponibles de (chip set).

21. ¿ Qué es lo que utiliza el lenguaje máquina?
R) Utiliza procesos aritméticos lógicos son posiciones literales de conmutadores físicos del hardware en su representación booleana.

22. ¿ Qué permite el lenguaje de alto nivel?
R) Permite una máxima flexibilidad al programador a la hora de abstraerse o de ser literal.

23. ¿ Permiten un camino bidireccional entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior compilación, este lenguaje es?
R) Lenguaje de Alto Nivel.

24. ¿Qué es lo que no permite el lenguaje de aplicación?
R) No permite una bidireccionalidad conceptual entre el lenguaje máquina y los lenguajes de alto nivel, ni tampoco la literalidad a la hora de invocar conceptos lógicos.

25. ¿En que se basa el lenguaje de redes?
R) Se basan en un convenio de instrucciones totalmente independientes de la máquina, y completamente dependientes de la red a la que están orientadas.

26. ¿Qué tipos de lenguajes de redes existen?
R) Hay descriptivos (HTML, XML, VML).
Hay de cliente-Servidor (Java, PHP).
 Hay de script (javascript).

martes, 30 de agosto de 2016

Lenguaje de Bajo Nivel

Lenguaje de bajo nivel: Un lenguaje de programación de características bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan. El uso de la palabra bajo en su denominación no implica que el lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas críticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos.
Complejidad vs Dificultad: Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difícil. Dado que este lenguaje viene dado por las especificaciones técnicas del hardware, no permite una abstracción fuera de lo estipulado para el microprocesador de un ordenador. Consecuentemente, es fácilmente trasladado a lenguaje de máquina.
La estructura de los lenguajes son como sigue:
0. Código Binario - Es el lenguaje básico, sólo admite todo (1) o nada (0). Todo sistema informático está basado en este código, ya que el 1 (todo, SÍ) quiere decir que se permite el paso de la electricidad y el 0 (nada, NO) no lo permite. Sería la forma en la que están almacenados los programas, sea en memoria, sea en dispositivos de almacenamiento. De esta forma son recibidas y ejecutadas cada una de las instrucciones por la CPU del ordenador.
1. Lenguaje Máquina - Las invocaciones a memoria, como los procesos aritméticos lógicos son posiciones literales de conmutadores físicos del hardware en su representación booleana. Estos lenguajes son literales de tareas.
2. Lenguajes ensambladores - También denominados nemotécnicos o nemónicos, no son ya programas ejecutables directamente por el ordenador, sino textos de código fuente que necesitan de alguna herramienta para su conversión a lenguaje máquina, son los programas llamados ensambladores. Sus instrucciones suelen ser una denominación abreviada de la instrucción máquina que simbolizan, y tienen una correspondencia casi directa a las instrucciones máquina que representan. El código resultante de la ejecución del programa ensamblador generaría un código binario ejecutable.
Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Por norma general están disponibles a nivel firmware, cmos o chip set. Estos lenguajes están orientados a procesos. Los procesos se componen de tareas. Contienen tantas instrucciones como la arquitectura del hardware así haya sido diseñada.
Por ejemplo: La arquitectura CISC contiene muchas más instrucciones a este nivel, que la RISC.
Los otros lenguajes que completan la clasificación no serían ya lenguajes de bajo nivel.
3. Lenguajes de medio nivel - Son aquellos que, basándose en los juegos de instrucciones disponibles (chip set), permiten el uso de funciones a nivel aritmético, pero a nivel lógico dependen de literales en ensamblador. Estos lenguajes están orientados a procedimientos. Los procedimientos se componen de procesos.
Ejemplos: C, Basic.
4. Lenguajes de alto nivel - Son aquellos que permiten una máxima flexibilidad al programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior compilación. Estos lenguajes están orientados a objetos. Los objetos se componen de propiedades cuya naturaleza emerge de procedimientos.
Ejemplos: C++, Fortran, Cobol, Lisp.
E.A. Lenguajes de aplicaciones - Son aquellos que no permiten una bidireccionalidad conceptual entre el lenguaje máquina y los lenguajes de alto nivel, ni tampoco la literalidad a la hora de invocar conceptos lógicos. Se basan en librerías creadas en lenguajes de alto nivel. Pueden permitir la creación de nuevas librerías, pero son propietarias y dependientes de las suministradas por la aplicación. Estos lenguajes están orientados a eventos. Los eventos acontecen cuando las propiedades de un objeto interactúan con otro.
Ejemplos: Visual Basic para aplicaciones.
E.B. Lenguajes de redes: Son aquellos que se basan en un convenio de instrucciones totalmente independientes de la máquina, y completamente dependientes de la red a la que están orientadas. Se dividen en descriptivos (HTML, XML, VML), de cliente-Servidor (Java, PHP) y de script (javascript).
Interacción máquina: En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle, además, está completamente orientado a la máquina.
Adaptación - Máxima entre programación y aprovechamiento del recurso de la máquina.
Velocidad - Máxima al contar con un acceso directo a los recursos, sin capas intermedias.
Portabilidad - Mínima por estar restringido a las especificaciones del fabricante.
Abstracción - Mínima por depender completamente de la técnica del hardware.
Uso - Requiere de la máxima atención y de una organización estructurada sobre la base de los planos del hardware y del objetivo del software.
isomorfismo - Conceptualización de los datos de la información, que se complementaran
Primera generación
El lenguaje de programación de primera generación: (por sus siglas en inglés: 1GL), es el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de forma nativa. El lenguaje máquina no puede ser escrito o leído usando un editor de texto, y por lo tanto es raro que una persona lo use directamente.
Segunda generación: El lenguaje de programación de segunda generación (por sus siglas en inglés: 2GL), es el lenguaje ensamblador. Se considera de segunda generación porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).