Programas y procesos de computación

16
UNIVERSIDAD TECNOLÓGICA ISRAEL APLICACIONES DISTRIBUIDAS I Séptimo de Sistemas- Cuenca.

description

programas y procesos de computación semana 3

Transcript of Programas y procesos de computación

Page 1: Programas y procesos de computación

UNIVERSIDAD TECNOLÓGICA ISRAEL

APLICACIONES DISTRIBUIDAS

ISéptimo de Sistemas- Cuenca.

Page 2: Programas y procesos de computación

CONCEPTOS BÁSICOS DE SISTEMAS OPERATIVOS

PROGRAMAS Y PROCESOS DE COMPUTACIÓN

Realizado por: Celso Puma

Page 3: Programas y procesos de computación

DEFINICIÓN

• Un programa software, es un artefacto construido por un desarrollador de software, utilizando algún lenguaje de programación. Típicamente el lenguaje de programación, es un lenguaje de alto nivel, y requiere un compilador o interprete para traducirlo a lenguaje de máquina.

Realizado por: Celso Puma

Page 4: Programas y procesos de computació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, un proceso es una entidad dinámica, que solo existe cuando un programa se ejecuta.

Realizado por: Celso Puma

Page 5: Programas y procesos de computación

TRANSICIONES DE ESTADO DE LOS PROCESOS

• 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. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.

Existe una transición de estados durante la vida de un proceso.

Realizado por: Celso Puma

Page 6: Programas y procesos de computación

• Solamente puede haber un proceso en ejecución a la vez, pero pueden existir varios listos y varios pueden estar bloqueados.

Realizado por: Celso Puma

Page 7: Programas y procesos de computación

TIPO DE PROGRAMAS EN JAVA •El código para crear procesos se lo

realizará en Java, existen tres tipos de programas Java:

•1. Aplicaciones •2. Applets •3. Servlets Independientemente del tipo de programa, cada programa se escribe como una clase Java.

Realizado por: Celso Puma

Page 8: Programas y procesos de computación

APLICACIÓN

• Una clase java (aplicación) tiene un método principal (main), y se ejecuta como un proceso independiente (stand-alone).

• Por otra parte un applet, no tiene un método main, y se ejecuta mediante el uso de un navegador o de una herramienta que permite visualizar applets (appletviewer).

APPLET

SERVLETS

• Un servlets es parecido al applets , en el hecho que no tiene un método main. Y se ejecuta en el contexto de un servidor web.

Realizado por: Celso Puma

Page 9: Programas y procesos de computación

PROGRAMACIÓN CONCURRENTE •Consiste en la ejecución simultánea de

procesos.

PROCESOS CONCURRENTES EJECUTADOS EN MULTIPLES COMPUTADORES

Son procesos separados ejecutándose concurrentemente en computadores independientes interconectados a través de una red. Dichos procesos interactúan con otros procesos mediante el intercambio de datos sobre la red, pero su ejecución es completamente independiente.

Realizado por: Celso Puma

Page 10: Programas y procesos de computación

PROCESOS CONCURRENTES EJECUTADOS EN UN UNICO COMPUTADOR

La concurrencia puede ser real o virtual.

Ciertos computadores que utilizan sistemas operativos multitarea, que permite la ejecución concurrente de múltiples tareas o procesos.

Realizado por: Celso Puma

Page 11: Programas y procesos de computación

PROGRAMACION CONCURRENTE DENTRO DE UN PROCESO

• Además de la programación concurrente, un único programa necesita iniciar diferentes tareas que se ejecuten concurrentemente.

• Por ejemplo un programa, podría necesitar realizar otras tareas mientras espera indefinidamente por la entrada de un usuario en una interfaz de una ventana.

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 2. Threads o Hilos

Realizado por: Celso Puma

Page 12: Programas y procesos de computación

PROCESOS PADRES E HIJOS

• En tiempo de ejecución, un proceso puede crear procesos subordinados o procesos hijos.

• A través de la multitarea real o virtual, el proceso original, denominado proceso padre, continúa ejecutándose simultáneamente con el proceso hijo.

• Un proceso padre puede saber cuando un proceso hijo ha finalizado.

Realizado por: Celso Puma

Page 13: Programas y procesos de computación

Ejemplo Proceso Padre e Hijo

Realizado por: Celso Puma

Page 14: Programas y procesos de computación

THREADS O HILOS

• En vez de procesos hijos, un proceso puede crear threads o hilos, también conocidos como procesos ligeros.

• 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.

Realizado por: Celso Puma

Page 15: Programas y procesos de computación

Ejemplo THREADS O HILOS

Realizado por: Celso Puma

Page 16: Programas y procesos de computación

•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.

Realizado por: Celso Puma