presentación del desensamble y ensamble del equipo de computo en base a las n...
Apliacaciones Distribuidas. Sistemas Operativos
1. Luis Alberto Ruiz
La computación distribuida supone la ejecución
de programas en múltiples computadores
2. 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
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.
3. 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.
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.
4.
5. 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
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 > Cuando el proceso ejecuta sus última instrucción pasa al estado
Terminado terminado. El sistema libera las estructuras que representan al
proceso.
7. • 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
8. • Servlets
Parecido al applets , en el hecho que no tiene un método
main. Y se ejecuta en el contexto de un servidor web.
9. 1. Procesos Concurrentes ejecutados en múltiples
computadores
2. Procesos Concurrentes ejecutados en un solo
computador
3. Programación concurrente dentro de un proceso
10. 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
procesos.
11. 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).
12.
13.
14. 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
15. 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
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.