APLICACIONES
DISTRIBUIDAS

Leonel Loor S.
7mo Nivel “A”
Programas

●   Un programa software es:
    ●   Artefacto construido por un desarrollador de software
    ●   Es desarroll...
Estados
Un proceso sufre de transición de estados durante su 
vida:
  ●   Nuevo: Cuando se crea el proceso.
  ●   En ejecu...
Transición de Estados

●   Nuevo ­> Listo: Al crearse un proceso pasa al estado listo de forma inmediata.
●   Listo ­> Eje...
Tipos de Programas en JAVA
Existen cuatro tipos de programas en JAVA:
  ●   Aplicaciones
  ●   Applets
  ●   Servlets
  ● ...
Aplicaciones


●   Tiene un método principal (main)


●   Se ejecuta como proceso independiente 
    (stand ­ alone)
Applets


●   No tiene un método principal (main)


●   Se ejecuta mediante el uso de un 
    navegador o una herramienta ...
Servlets


●   Tampoco tiene método principal (main)


●   Se ejecuta en el contexto de un servidor 
    web.
Bytecode


●   Se compila sin importar el tipo de 
    programa.
●   Se ejecuta en la máquina virtual de JAVA 
    JVM.
● ...
Programación Concurrente
 
●   La computación concurrente, supone programación 
    concurrente.
●   Existen tres clases d...
Procesos Concurrentes
ejecutados en múltiples computadores

 ●   Procesos separados ejecutados en forma 
     concurrente ...
Procesos Concurrentes
    ejecutados en un solo computador
●   En sistemas operativos multitareas, se permite la ejecución...
Programación concurrente
    dentro de un Proceso
Además de programación concurrente, entre 
diferentes procesos, un mismo...
Procesos Padres e Hijos

●   Un proceso puede crear procesos subordinados o HIJOS.
●   En multitarea, tanto el proceso PAD...
Thread o hilos

●   En lugar de procesos hijos, se pueden crear threads o hilos, 
    conocidos como procesos ligeros.
●  ...
Próxima SlideShare
Cargando en…5
×

Programas Y Procesos

5.785 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
5.785
En SlideShare
0
De insertados
0
Número de insertados
10
Acciones
Compartido
0
Descargas
43
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Programas Y Procesos

  1. 1. APLICACIONES DISTRIBUIDAS Leonel Loor S. 7mo Nivel “A”
  2. 2. Programas ● Un programa software es: ● Artefacto construido por un desarrollador de software ● Es desarrollado utilizando lenguaje de programación de alto nivel ● Requiere de un compilador o intérprete ● Cuando se ejecuta un programa se representa como un proceso. ● Un proceso consiste en un programa con: ● Valores ● Información de su estado ● Asignación de recursos ● Un proceso es una entidad dinámica, que solo existe cuando se ejecuta un programa.
  3. 3. Estados Un proceso sufre de transición de estados durante su  vida: ● Nuevo: Cuando se crea el proceso. ● En ejecución: El proceso ocupa la CPU, se está  ejecutando. ● Listo: El proceso dispone de los recursos para  ejecución, solo falta la CPU. ● Bloqueado: Al proceso le falta algún recurso  además de la CPU para seguir ejecutándose. ● Terminado: Termina de ejecutarse el proceso.
  4. 4. Transición de Estados ● Nuevo ­> Listo: Al crearse un proceso pasa al estado listo de forma inmediata. ● Listo ­> Ejecutando: A la espera de la asignación de la CPU. Al liberar un procesador el  planificador selecciona el próximo proceso. ● Ejecutando ­> Listo: Ante una interrupción el proceso puede perder el recurso CPU. ● Ejecutando ­> Bloqueado: el proceso realiza pedidos en distintos componentes, por lo que  se mantiene a la espera para continuar ejecutándose. ● Bloqueado ­> Listo: Una vez que ocurre el evento que estaba esperando, el proceso es  puesto en la cola de procesos listos. ● Ejecutando ­> Terminado: Cuando ejecuta la última instrucción el proceso para a estado  terminado. Libera la estructura que representa el proceso.
  5. 5. Tipos de Programas en JAVA Existen cuatro tipos de programas en JAVA: ● Aplicaciones ● Applets ● Servlets ● Bytecode
  6. 6. Aplicaciones ● Tiene un método principal (main) ● Se ejecuta como proceso independiente  (stand ­ alone)
  7. 7. Applets ● No tiene un método principal (main) ● Se ejecuta mediante el uso de un  navegador o una herramienta para  visualizar applets
  8. 8. Servlets ● Tampoco tiene método principal (main) ● Se ejecuta en el contexto de un servidor  web.
  9. 9. Bytecode ● Se compila sin importar el tipo de  programa. ● Se ejecuta en la máquina virtual de JAVA  JVM. ● Traduce el bytecode a código nativo de  máquina, siguiendo la transición de estados
  10. 10. Programación Concurrente   ● La computación concurrente, supone programación  concurrente. ● Existen tres clases de procesos concurrente: ● Procesos Concurrentes ejecutados en múltiples  computadores ● Procesos Concurrentes ejecutados en un solo  computador ● Programación concurrente dentro de un proceso
  11. 11. Procesos Concurrentes ejecutados en múltiples computadores ● Procesos separados ejecutados en forma  concurrente en computadores independientes  interconectados a través de una red. ● Interactúan con otros procesos mediante  intercambio de datos sobre la red. ● Requiere soporte de programación. ● Los programas interactuantes debe contener la  lógica necesaria para la interacción entre procesos.
  12. 12. Procesos Concurrentes ejecutados en un solo computador ● En sistemas operativos multitareas, se permite la ejecución  concurrente de múltiples tareas o procesos. ● La concurrencia puede ser virtual o real. ● La verdadera concurrencia es posible con múltiples CPUs. ● En computador con un solo CPU, se utiliza tiempo  compartido, para ejecutar procesos por turnos. ● La ejecución de procesos concurrentes es una funcionalidad  del sistema operativo. ● No es necesaria a lógica especial de software para iniciar la  multitarea de un programa.
  13. 13. Programación concurrente dentro de un Proceso Además de programación concurrente, entre  diferentes procesos, un mismo programa puede  requerir iniciar diferentes tareas concurrentes. ● Se puede necesitar la ejecución de varias tareas  en paralelo. ● Se lleva a cabo a través de dos tipos de  herramientas: ● Procesos Padres e Hijos ● Threads
  14. 14. Procesos Padres e Hijos ● Un proceso puede crear procesos subordinados o HIJOS. ● En multitarea, tanto el proceso PADRE como el hijo se  ejecutan concurrentemente. ● Un proceso hijo e un proceso completo, es un programa en  ejecución, con valores propios, información de estado,  heredados del padre. ● El proceso padre sabe cuando el proceso hijo ha terminado.
  15. 15. Thread o hilos ● En lugar de procesos hijos, se pueden crear threads o hilos,  conocidos como procesos ligeros. ● Poseen ligera información de estado, con similar  comportamiento a los procesos. ● Se preferible utilizar hilos en lugar de procesos hijos. ● Se requiere soporte de programación para la creación de los  hilos. ● El programa debe escribirse con la lógica para la creación de  los hilos y la coordinación o sincronización de la familia de hilos  creados por el hilo padre

×