1. “AÑO DE LA DIVERSIFICACIÓN PRODUCTIVA Y EL
FORTALECIMIENTO DE LA EDUCACIÓN”
INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO
“ENRIQUE LÓPEZ ALBÚJAR”
FERREÑAFE
Carrera Profesional:
Computación e Informática IV
Módulo Profesional:
Desarrollo de Software y Gestión de Base de Datos
Unidad Didáctica:
Taller de Programación Distribuida
Profesor:
Ing. Carlos A. Ríos Campos
Alumnos:
Manayay Chávez, Rommel
2. La abstracción
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).
3. La abstracción
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
(POO), la Programación Orientada a Aspectos (POA); u otros paradigmas
como la programación declarativa, etc.
4. Network File System
El Network File System (Sistema de archivos de red), o NFS, es un
protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para
sistemas de archivos distribuido en un entorno de red de computadoras
de área local. Posibilita que distintos sistemas conectados a una misma
red accedan a ficheros remotos como si se tratara de locales.
Originalmente fue desarrollado en 1984 por Sun Microsystems, con el
objetivo de que sea independiente de la máquina, el sistema operativo
y el protocolo de transporte, esto fue posible gracias a que está
implementado sobre los protocolos XDR (presentación) y ONC RPC
(sesión).1 El protocolo NFS está incluido por defecto en los Sistemas
Operativos UNIX y la mayoría de distribuciones Linux.
5. Sistema de archivos
El sistema de archivos o sistema de ficheros (en inglés: "filesystem") es
el componente del sistema operativo encargado de administrar y
facilitar el uso de las memorias periféricas, ya sean secundarias o
terciarias.
Sus principales funciones son la asignación de espacio a los archivos, la
administración del espacio libre y del acceso a los datos resguardados.
Estructuran la información guardada en un dispositivo de
almacenamiento de datos o unidad de almacenamiento (normalmente
un disco duro de una computadora), que luego será representada ya sea
textual o gráficamente utilizando un gestor de archivos.
La mayoría de los sistemas operativos manejan su propio sistema de
archivos.
6. Sistema de archivos
Lo habitual es utilizar dispositivos de almacenamiento de datos que
permiten el acceso a los datos como una cadena de bloques de un
mismo tamaño, a veces llamados sectores, usualmente de 512bytes de
longitud (también denominados clústers). El software del sistema de
archivos es responsable de la organización de estos sectores en archivos
y directorios y mantiene un registro de qué sectores pertenecen a qué
archivos y cuáles no han sido utilizados. En la práctica, un sistema de
archivos también puede ser utilizado para acceder a datos generados
dinámicamente, como los recibidos a través de una conexión de red de
computadoras (sin la intervención de un dispositivo de
almacenamiento).
7. Interfaz de programación de
aplicaciones
La interfaz de programación de aplicaciones, abreviada
como API (del inglés: Application Programming Interface), es el conjunto
de subrutinas, funciones y procedimientos (o métodos, en laprogramación orientada
a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una
capa de abstracción.
Son usadas generalmente en las bibliotecas de programación.
Características
Una API representa la capacidad de comunicación entre componentes de software.
Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos
servicios desde los procesos y representa un método para conseguir abstracción en
la programación, generalmente (aunque no necesariamente) entre los niveles o
capas inferiores y los superiores del software. Uno de los principales propósitos de
una API consiste en proporcionar un conjunto de funciones de uso general, por
ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma,
los programadores se benefician de las ventajas de la API haciendo uso de su
funcionalidad, evitándose el trabajo de programar todo desde el principio. Las API
asimismo son abstractas: el software que proporciona una cierta API generalmente
es llamado la implementación de esa API.
8. Tolerancia frente a fallos
En informática, la tolerancia a fallos o conmutación por error (en
inglés: failover) se refiere a la capacidad de un sistema de acceder a la
información, aun en caso de producirse algún fallo o anomalía en el
sistema.
Una posibilidad es que el fallo se deba a daños físicos en uno o más
componentes de hardware, con la consiguiente pérdida de la
información almacenada. La implementación de la tolerancia a fallos
requiere que el sistema de almacenamiento guarde la misma
información en más de un soporte físico (redundancia), o en un equipo
o dispositivo externo a modo de respaldo. De esta forma, si se produce
alguna falla que pueda ocasionar pérdida de datos, el sistema debe ser
capaz de restablecer toda la información, recuperando los datos
necesarios a partir de algún medio de respaldo disponible.