Interfaz de programación de aplicación 5R1221. Las API’s API es la abreviatura de Aplication Programming Interface. Un API no es más que una serie de.

Slides:



Advertisements
Presentaciones similares
Tabla de Contenido Concurrencia.
Advertisements

TEMA 1 Introducción a la Programación Concurrente
VI Unidad. Sistema Operativo
Introducción Características de la nueva API E/S antes de Java 1.4 ¿Por qué NIO? E/S orientada a bloques El patrón Reactor Canales y Buffers Lectura y.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
UNIX COMP 240.
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
INTRODUCCIÓN A JAVA.
Servicios Web.
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Planificación de la Información.
HERRAMIENTAS INFORMATICAS
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Profesor: Miguel Angel Vidal
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
Tema 10: Gestión de Memoria
Semana 5 Subprogramas..
Unidad III Administración de procesos
Archivos.
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Profesor: Rodrigo Sanhueza Figueroa
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Correo electrónico Internet
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
SISTEMAS OPERATIVOS.
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
Los Sistemas Operativos
Introducción a los Sistemas Operativos
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Ingeniería en Sistemas de Información
ELO3091 Interfaz de Socket Agustín J. González ELO309.
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
Teoría de Sistemas Operativos Sistemas Archivos de Red
Punteros Recomendado: 1. Nivelación Funciones
Almacenamiento virtual de sitios web “HOSTS VIRTUALES”
Universidad Metropolitana Introducción a la Computación
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Modelo OSI Surgimiento del Modelo OSI ¿Que es el Modelo OSI?
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
Salir de la presentación
File Transfer Protocol.
SISTEMAS OPERATIVOS.
Elaboración de algoritmos usando lógica de programación
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
UTFSM - Sistemas Operativos
UNIDAD V Bibliotecas de Funciones L.I. & M.S.C. OSCAR RAMÍREZ CORTÉS PROGRAMACIÓN DE SISTEMAS.
Luis Villalta Márquez Servicios SFTP/SCP. SFTP SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo.
ESCULA NORMAL “PROFR. DARÍO RODRÍGUEZ CRUZ” LIC
ANA MARIA TUESTA CHAVEZ PROFESOR: VICTOR ESPINOZA MARTES Y JUEVES DE 4PM A 6PM CURSO: POWER POINT.
Tecnologías Cliente / Servidor
INTEGRANTES: Giovanna Kristhel Mendoza Castillo Eduardo Solis Lara Gustavo Antonio González Morales.
BASE DE DATOS DISTRIBUIDAS
Arquitectura Cliente Servidor
Elementos y tipos de sistemas operativos
SISTEMAS OPERATIVOS Son un conjunto de programas destinados a permitir la comunicación entre el usuario y en computador y gestionar sus recursos.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
Realizado por Lucia y Florencia.  Es el conjunto de programas encargado de la gestión interna de la computadora, controla el funcionamiento del hardware.
Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.
ARCHIVO Es una colección de información o bien es una secuencia de bits, bytes, líneas o registros definida por su creador.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Interfaz de programación de aplicación 5R1221

Las API’s API es la abreviatura de Aplication Programming Interface. Un API no es más que una serie de servicios o funciones que el Sistema Operativo ofrece al programador, como por ejemplo, imprimir un carácter en pantalla, leer el teclado, escribir en un fichero de disco, etc.

El API de OS/2 se halla subdividido en varios grupos, según su funcionalidad  DOS  KBD, VIO y MOU  WIN

Las API abren distintos tipos de diálogos con el proveedor para obtener o actualizar información en el mismo, entre ellos :  Acceso a bases de datos  Comunicación cliente/servidor  Comunicación peer-to-peer  Comunicación en tiempo real  Event-driven (orientada a eventos)  Store and forward  Procesamiento de transacciones

Hay cuatro tipos de APIs que posibilitan el intercambio de datos entre diferentes aplicaciones de software en plataformas individuales o distribuidas: 1) Remote Procedure Calls (RPCs) 2) Standard Query Language (SQL). 3) Transferencia de archivos. 4) Envío de mensajes.

El usuario nunca ve las API en pleno proceso de trabajo pero sí detalles de sus acciones. La API es una interfaz o rostro que sólo da la cara al software.

Manipulación de pantalla  Ventajas  Características

interfaz gráfica que simula el estilo de los programas en modo texto

Bibliotecas Las bibliotecas son una forma sencilla y versátil de modularizar y reutilizar código. Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, matemáticas, de manejo de memoria, etc.

Tipos de bibliotecas Bibliotecas estáticas 1.los nombres de todas las librerías estáticas comienzan por lib y tienen.a por extensión. 2.debemos indicar al compilador qué librerías queremos utilizar y el lugar donde se encuentran. 3.Un programa compilado con librerías estáticas es más grande, ya que se hace copia de todo lo que necesita. 4.Cuando llama a una función de la librería, la tiene en su código y no tiene que ir a leer el fichero de la librería Bibliotecas dinámica 1.Cuando se crea un objeto dinámico es necesario que dicho código objeto sea independiente. 2.La librería tiene como extensión.so que significa shared object. 3.Cuando un programa utiliza librerías dinámicas, el sistema necesita localizarlas en tiempo de ejecución 4.Un programa compilado con librerías estáticas se puede llevar a otro ordenador sin necesidad de llevarse las librerías.

Comunicación entre procesos  Se conoce por Comunicación entre procesos ó I nter P rocess C ommunication ( IPC ) al conjunto de mecanismos claves en la compartición de datos (intercomunicación) y sincronización entre distintos procesos. Comunicación entre

Razones por las cuales propiciar entornos que permitan la cooperación entre procesos:  Compartir información  Acelerar los cálculos  Modularidad  Conveniencia

Dentro de los mecanismos más usados tenemos:  paso por mensajes  memoria compartida  comunicación entre procesos

Pipes y FIFO  Un pipe es una tubería en memoria que se utiliza para la comunicación entre procesos (IPC). Existen dos tipos:  pipe anónima  pipe con nombre o FIFO Descriptores de archivo para una tubería ORDINARIO

Una pipe provee un canal de comunicación unidireccional entre dos procesos que cooperan. Por ejemplo: considere la siguiente secuencia, % ps -ef > out1 % fgrep netscape out1 > out2 % fgrep -v agv out 2 > out3 % lp out3 % rm out1 out2 out3

¿Como crear un pipe?  La forma más simple es a través de la función popen. #include FILE *popen (const char * command, const char *type), Esta función crea una pipe para leer desde o escribir a otro comando.

FIFOS  Las FIFOs son un tipo especial de archivo. la creación de un FIFO es similar a la creación de un archivo.  Creación de FIFOs #include #include int mkfifo (const char *path, mode_t mode); path es el nombre de la FIFO a ser creada en el sistema de archivo, la cual no debe existir previamente.

MEMORIA COMPARTIDA  Es aquel tipo de memoria que puede ser accedida por múltiple programas, ya sea para comunicarse entre ellos o para evitar copias redundantes.

En el software, memoria compartida puede referirse a: Un método de comunicación entre proceso. Ejemplo: el intercambio de datos entre dos programas ejecutándose al mismo tiempo. Uno de los procesos creará un área en RAM a la que el otro pueda acceder. La comunicación entre procesos por memoria compartida: UNIX: para transferir imágenes entre una aplicación y un Xserver. Windows: en la biblioteca COM dentro del objeto Stream devuelto por la función CoMarshal Inter Thread Interface In Stream.

SEMAFORO Y COLA DE MENSAJE  Semáforos  Es un mecanismo de sincronización que se utiliza generalmente en sistemas con memoria compartida, ya sea un monoprocesador o un multiprocesador.  Objetivo específico: garantizar que la operación de chequeo del valor del semáforo, y posterior actualización según proceda, sea siempre segura respecto a otros accesos concurrentes.

 Operación Wait : Si el valor del semáforo no es nulo, esta operación decrementa en uno el valor del semáforo. En el caso de que su valor sea nulo, la operación suspende el proceso que lo ejecuta y lo ubica en la lista del semáforo a la espera de que deje de ser nulo el valor. wait (s) { s=s-1; if (s<0) Bloquear al proceso; }  Operación Signal : Incrementa el valor del semáforo, y en caso de que haya procesos en la lista de espera del semáforo, se activa uno de ellos para que concluya su operación Wait. signal (s) { s=s+1; if (s<=0) Desbloquear a un proceso bloqueado en la operación wait; }

 Cola de Mensajes Una cola de mensaje se puede decir que es un contenedor que alberga mensajes mientras están en tránsito. El principal objetivo de una cola es proporcionar enrutamiento y garantizarla entrega de los mensajes; si el destinatario no está disponible en el momento de enviarse un mensaje, la cola no guarda hasta que pueda entregarse correctamente.

 Teoría de Colas de Mensajes Cada proceso puede crear una o más estructuras llamadas colas. Cada estructura puede esperar uno o más mensajes de diferentes tipos, que pueden venir de diferentes fuentes y pueden contener información de toda naturaleza; todos pueden enviar un mensaje a las colas de las cuales conozcan su identificador. Los procesos pueden acceder secuencialmente a la cola, leyendo los mensajes en orden cronológico (desde el más antiguo, el primero, al más reciente, el último en llegar), pero selectivamente, esto es, considerando sólo los mensajes de un cierto tipo: esta última característica nos da un tipo de control de la prioridad sobre los mensajes que leemos.