Abstracción (informática)
La abstracción
consiste en aislar un elemento de su contexto o del resto de los
elementos que lo acompañan. En programación, el término se refiere al
énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?"
(característica de caja negra). El común denominador en la evolución de
los lenguajes de programación, desde los clásicos o imperativos hasta
los orientados a objetos, ha sido el nivel de abstracción del que cada
uno de ellos hace uso.
Los lenguajes de programación son las herramientas mediante las cuales
los diseñadores de lenguajes pueden implementar los modelos abstractos.
La abstracción ofrecida por los lenguajes de programación se puede
dividir en dos categorías: abstracción de datos (pertenecientes a los
datos) y abstracción de control (perteneciente a las estructuras de
control).
Los diferentes paradigmas de programación han aumentado su nivel de
abstracción, comenzando desde los lenguajes de máquina, lo más próximo
al ordenador
y más lejano a la comprensión humana; pasando por los lenguajes de
comandos, los imperativos, la orientación a objetos (OO), la
Programación Orientada a Aspectos (POA); u otros paradigmas como la
programación declarativa, etc.
La abstracción encarada desde el punto de vista de la programación
orientada a objetos expresa las características esenciales de un objeto,
las cuales distinguen al objeto de los demás. Además de distinguir
entre los objetos provee límites conceptuales. Entonces se puede decir
que la encapsulación
separa las características esenciales de las no esenciales dentro de un
objeto. Si un objeto tiene más características de las necesarias los
mismos resultarán difíciles de usar, modificar, construir y comprender.
La misma genera una ilusión de simplicidad dado a que minimiza la cantidad de características que definen a un objeto.
Durante años, los
programadores se han dedicado a construir aplicaciones
muy parecidas que resolvían una y otra vez los mismos problemas. Para
conseguir que sus esfuerzos pudiesen ser utilizados por otras personas
se creó la POO que consiste en una serie de normas para garantizar la
interoperabilidad entre usuarios de manera que el código se pueda reutilizar.
Es un software que constituye la parte más importante del sistema operativo. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora
o en forma básica, es el encargado de gestionar recursos, a través de
servicios de llamada al sistema. Como hay muchos programas y el acceso
al hardware es limitado, también se encarga de decidir qué programa
podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo,
lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware.
Esto permite esconder la complejidad, y proporciona una interfaz limpia
y uniforme al hardware subyacente, lo que facilita su uso al programador.
FirmWare
Es un bloque de instrucciones de máquina para
propósitos específicos, grabado en una memoria, normalmente de lectura /
escritura (ROM, EEPROM, flash, etc), que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Está fuertemente integrado con la electrónica del dispositivo siendo el software que tiene directa interacción con el hardware: es el encargado de controlarlo para ejecutar correctamente las instrucciones externas.
En resumen, un firmware es el software que maneja al hardware.
El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para cargar un sistema operativo en la memoria RAM.
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 al 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
Consiste en un software que sirve para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas; en contraposición del llamado software de aplicación. Como ejemplos cabe mencionar a las bibliotecas como por ejemplo OpenGL para la aceleración gráfica, PNG para el sistema gráfico o demonios que controlan la temperatura, la velocidad del disco duro, como hdparm, o la frecuencia del procesador como cpudyn.
El software de sistema por antonomasia es Microsoft Windows, que entre todas sus versiones acumula cerca de un 90% de la cuota de mercado. Mención especial merece el proyecto GNU, cuyas herramientas de programación permitieron combinarse con el núcleo informático basado en Unix denominado Linux, formando entre ambos las conocidas como distribuciones GNU/Linux. A diferencia de la plataforma de Microsoft u otros ejemplos como Mac OS, es software libre.
En resumen, un firmware es el software que maneja al hardware.
El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para cargar un sistema operativo en la memoria RAM.
Lenguaje Maquina
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 al 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
Software de Sistema
Consiste en un software que sirve para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas; en contraposición del llamado software de aplicación. Como ejemplos cabe mencionar a las bibliotecas como por ejemplo OpenGL para la aceleración gráfica, PNG para el sistema gráfico o demonios que controlan la temperatura, la velocidad del disco duro, como hdparm, o la frecuencia del procesador como cpudyn.
El software de sistema por antonomasia es Microsoft Windows, que entre todas sus versiones acumula cerca de un 90% de la cuota de mercado. Mención especial merece el proyecto GNU, cuyas herramientas de programación permitieron combinarse con el núcleo informático basado en Unix denominado Linux, formando entre ambos las conocidas como distribuciones GNU/Linux. A diferencia de la plataforma de Microsoft u otros ejemplos como Mac OS, es software libre.
No hay comentarios:
Publicar un comentario