15
Luis Alberto Ruiz La computación distribuida supone la ejecución de programas en múltiples computadores

Apliacaciones Distribuidas. Sistemas Operativos

  • Upload
    la77rch

  • View
    275

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Apliacaciones Distribuidas. Sistemas Operativos

Luis Alberto Ruiz

La computación distribuida supone la ejecución de programas en múltiples computadores

Page 2: Apliacaciones Distribuidas. Sistemas Operativos

� Un programa software, es un artefacto construido por un desarrollador de software, utilizando algún lenguaje de programación.

� Cuando un programa se ejecuta en un computador se � Cuando un programa se ejecuta en un computador se representa como un proceso.

� Un proceso consiste en un programa que se ejecuta, con valores, información de su estado, y asignación de los recursos necesarios para que el sistema operativo pueda gestionar la ejecución de dicho proceso. En otras palabras un proceso es una entidad dinámica, que solo existe cuando un programa se ejecuta.

Page 3: Apliacaciones Distribuidas. Sistemas Operativos

� Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:

� En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando. decir, se está ejecutando.

� Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.

� Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc.

Page 4: Apliacaciones Distribuidas. Sistemas Operativos
Page 5: Apliacaciones Distribuidas. Sistemas Operativos

Nuevo –> Listo Al crearse un proceso pasa inmediatamente al estado listo.

Listo –> Ejecutando En el estado de listo, el proceso solo espera para que se le asigne un procesador para ejecutar (tener en cuenta que puede existir más de un procesador en el sistema). Al liberarse un procesador el planificador (scheduler) selecciona el próximo proceso, según algún criterio definido, a ejecutar.

Ejecutando –> Listo Ante una interrupción que se generé, el proceso puede perder el recurso procesador y pasar al estado de listo. El planificador será el encargado de seleccionar el próximo proceso a ejecutar.

Ejecutando –> Bloqueado A medida que el proceso ejecuta instrucciones realiza pedidos en Ejecutando –> Bloqueado A medida que el proceso ejecuta instrucciones realiza pedidos en distintos componentes (ej.: genera un pedido de E/S). Teniendo en cuenta que el pedido puede demorar y, además, si está en un sistema multiprogramado, el proceso es puesto en una cola de espera hasta que se complete su pedido. De esta forma, se logra utilizar en forma más eficiente el procesador.

Bloqueado –> Listo Una vez que ocurre el evento que el proceso estaba esperando en la cola de espera, el proceso es puesto nuevamente en la cola de procesos listos.

Ejecutando > Terminado

Cuando el proceso ejecuta sus última instrucción pasa al estado terminado. El sistema libera las estructuras que representan al proceso.

Page 6: Apliacaciones Distribuidas. Sistemas Operativos

� 1. Aplicaciones

Cada programa se escribe como una clase Java.

Page 7: Apliacaciones Distribuidas. Sistemas Operativos

• 2. Applets

No tiene un método main, y se ejecuta mediante el uso de un navegador o de una herramienta que permite visualizar applets (appletviewer

Page 8: Apliacaciones Distribuidas. Sistemas Operativos

• Servlets

Parecido al applets , en el hecho que no tiene un método main. Y se ejecuta en el contexto de un servidor web.

Page 9: Apliacaciones Distribuidas. Sistemas Operativos

� 1. Procesos Concurrentes ejecutados en múltiples computadores

� 2. Procesos Concurrentes ejecutados en un solo computador computador

� 3. Programación concurrente dentro de un proceso

Page 10: Apliacaciones Distribuidas. Sistemas Operativos

� La programación concurrente, que implica a múltiples máquinas requiere de determinado soporte de programación; es decir el software utilizado para los programas participantes debe contener la lógica necesaria para permitir la interacción entre los necesaria para permitir la interacción entre los procesos.

Page 11: Apliacaciones Distribuidas. Sistemas Operativos

� Cuando se accede a una página web utilizando un navegador. Un proceso de una máquina local interactúa con un proceso de una maquina remota (servidor web).

Page 12: Apliacaciones Distribuidas. Sistemas Operativos
Page 13: Apliacaciones Distribuidas. Sistemas Operativos
Page 14: Apliacaciones Distribuidas. Sistemas Operativos

� La programación concurrente dentro de un proceso se lleva a cabo a través de dos tipos de herramientas, proporcionadas por el sistema operativo:

� 1. Procesos Padres e Hijos

Page 15: Apliacaciones Distribuidas. Sistemas Operativos

Los hilos poseen una mínima información de estado, comportándose por lo demás de la misma forma que los procesos. Debido a que implican menos sobrecarga, es preferible utilizar hilos que utilizar procesos hijos. La creación y coordinación de hilos requiere La creación y coordinación de hilos requiere el soporte de la programación. El software correspondiente al programa debe escribirse con la lógica necesaria para la creación de hilos y la coordinación, o sincronización de la ejecución de la familia de hilos creados por el hilo padre.