Capa de abstracción


Capa de abstracción

Una capa de abstracción (o nivel de abstracción) es una forma de ocultar los detalles de implementación de ciertas funcionalidades. Quizás los modelos de software más conocidos que utilizan capas de abstracción son el modelo OSI de 7 capas para protocolos de red, la biblioteca gráfica OpenGL y el modelo de flujo de bytes de entrada/salida creado para Unix y adoptado por MS-DOS, Linux y muchos otros sistemas operativos.

En el sistema operativo Unix, la mayoría de los tipos de operaciones de entrada y salida son considerados como flujos de bytes que deben ser leídos a o escritos en un dispositivo. Este modelo de flujo de bytes es utilizado para la E/S de ficheros, sockets y terminales para conseguir la independencia de dispositivos. Para poder leer y escribir en dispositivos a nivel de aplicación, el programa llama a una función para abrir el dispositivo que puede ser real como un terminal o virtual como un puerto de red o un fichero de un sistema de ficheros. Las características físicas del dispositivo son ocultadas por el sistema operativo, que presenta una interfaz abstracta la cual permite al programador leer y escribir bytes de o al dispositivo. Entonces el sistema operativo realiza las transformaciones necesarias para leer dicho flujo de bytes.

La mayoría de las bibliotecas gráficas tales como OpenGL proveen modelo de dispositivo gráfico abstracto como interfaz. La biblioteca es la responsable de traducir los comandos suministrados por el programador en los comandos específicos del dispositivo necesarios para dibujar elementos y objetos. Los comandos específicos de un plotter son diferentes a los de un monitor CRT, pero la biblioteca gráfica oculta la implementación y los detalles dependientes del dispositivo gracias a una interfaz abstracta que suministra un conjunto de tipos primitivos útiles para el dibujo de objetos gráficos.

En informática, un nivel de abstracción es una generalización de un modelo o algoritmo, totalmente independiente de cualquier implementación específica. Estas generalizaciones surgen de similitudes que están muy bien encapsuladas mediante modelos que expresan similitudes presentes en varias implementaciones específicas. La simplificación suministrada por una buena capa de abstracción permite una fácil reutilización.

Una buena abstracción generalizará todo aquello que puede abstraerse, mientras que permitir conceptos específicos puede hacer que falle. Una aplicación exitosa de la abstracción requiere estudiar detalladamente cada problema.

Frecuentemente las capas de abstracción pueden organizarse de manera jerárquica. El modelo de red ISO-OSI comprende siete capas de abstracción. Cada capa del modelo encapsula y direcciona una parte distinta de las necesidades de muchas de las comunicaciones digitales reduciendo la complejidad de las soluciones de ingeniería.

Un famoso aforismo informático de Butler Lampson dice: Todo problema en computación puede ser resuelto añadiendo un nivel de indirección; a veces esto es modificado a propósito cambiando "indirección" por "abstracción".

Arquitectura de computadores

Una visión típica de la arquitectura de computadores como una serie de capas de abstracción: hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.

En arquitectura de computadores, un sistema suele representarse con cinco niveles de abstracción: hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones

Bibliografía

Véase también


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Capa de abstracción de hardware — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Capa de abstracción de hardware — La capa de abstracción de hardware (en inglés, Hardware Abstraction Layer o HAL) es un elemento del sistema operativo que funciona como una interfaz entre el software y el hardware del sistema, proveyendo una plataforma de hardware consistente… …   Enciclopedia Universal

  • Capa de abstracción de red — Este artículo o sección sobre informática necesita ser wikificado con un formato acorde a las convenciones de estilo. Por favor, edítalo para que las cumpla. Mientras tanto, no elimines este aviso puesto el 18 de diciembre de 2008. También puedes …   Wikipedia Español

  • Abstracción — puede referirse a: Abstracción (filosofía), un acto mental en el que se aisla conceptualmente un objeto o una propiedad de un objeto. Abstracción (psicología), un proceso que implica reducir los componentes fundamentales de información de un… …   Wikipedia Español

  • Abstracción del hardware — Saltar a navegación, búsqueda Capa de abstracción de hardware Obtenido de Abstracci%C3%B3n del hardware …   Wikipedia Español

  • Capa (desambiguación) — Saltar a navegación, búsqueda Capa puede designar: a la capa de vestir, una prenda de abrigo hoy desusada; al pelaje del caballo u otro animal doméstico; en informática, a cada uno de las capas de abstracción empleadas para ocultar los detalles… …   Wikipedia Español

  • Windows NT — es una familia de sistemas operativos producidos por Microsoft, de la cual la primera versión fue publicada en julio de 1993. Previamente a la aparición del famoso Windows 95 la empresa Microsoft concibió una nueva línea de sistemas operativos… …   Wikipedia Español

  • Arquitectura de Windows NT — Saltar a navegación, búsqueda La arquitectura de la familia de sistemas operativos de Windows NT se basa en dos capas, (modo usuario y modo núcleo), con distintos módulos dentro de éstas capas. La familia de los sistemas operativos Windows NT de …   Wikipedia Español

  • IBATIS — Saltar a navegación, búsqueda iBATIS es un framework (método de trabajo) de código abierto basado en capas desarrollado por Apache Software Foundation, que se ocupa de la capa de Persistencia (se sitúa entre la lógica de Negocio y la capa de la… …   Wikipedia Español

  • iBATIS — Desarrollador Apache Software Foundation http://ibatis.apache.org Información general Última versión estable 2.3.4 …   Wikipedia Español