SlideShare una empresa de Scribd logo
1 de 15
SISTEMAS OPERATIVOS
La computación distribuida se refiere a la ejecución de programas en múltiples computadores
PROGRAMAS Y PROCESOS DE COMPUTACIÓN  Un programa software, es un sistema informático  elaborado 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.
TRANSICIONES DE ESTADO DE LOS PROCESOS  Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son: ,[object Object]
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. Solo puede haber un proceso en ejecución a la vez, pero pueden existir varios listos y varios pueden estar bloqueados. Así, se forman una lista de procesos listos y otra de procesos bloqueados
TIPOS DE PROGRAMA EN JAVA       El código para crear procesos se lo realizará en Java, existen tres tipos de programas Java que independientemente del tipo, cada uno escribe como una clase Java :  Aplicaciones.- Esta clase (aplicación) tiene un método principal (main), y se ejecuta como un proceso independiente (stand-alone).  Applets .-  Se ejecuta mediante el uso de un navegador o de una herramienta que permite visualizar applets (appletviewer).  Servlets.- es parecido al applets , en el hecho que no tiene un método mainy se ejecuta en el contexto de un servidor web.        Un programa Java, que se compile sin importar el tipo de programa, se convierte en un código denominado bytecode (código objeto universal).
PRINCIPIOS DE CONCURRENCIA La concurrencia es el punto clave en los conceptos de multitarea, multiprogramación y multiproceso, la concurrencia comprende un gran numero de cuestiones de diseño incluyendo la comunicación entre procesos, la compartición y competencia por los recursos, la sincronización de la ejecución de varios procesos y la asignación del procesador a los procesos.
CARACTERÍSTICAS DE LOS SISTEMAS CONCURRENTES Orden de ejecución: A diferencia de los programas secuenciales el flujo del programa sigue un orden parcial. Ante una misma entrada no se sabe cuál va a ser el orden seguido. Indeterminismo: El orden parcial produce consecuentemente un  comportamiento indeterminista. Es decir, repetidas ejecuciones sobre un mismo conjunto de datos resultan “diferentes resultados
PROGRAMACIÓN CONCURRENTE  	La computación distribuida, supone el uso de programación concurrente, que  comprende la ejecución simultánea de procesos, así tenemos: ,[object Object]
Procesos concurrentes ejecutados en un solo computador
Programación concurrente dentro de un proceso ,[object Object]
PROCESOS CONCURRENTES EJECUTADOS EN UN UNICO COMPUTADOR  La concurrencia puede ser real o virtual.  	La concurrencia real multitarea es posible cuando el computador tiene múltiples CPU, de forma que cada CPU pueda ejecutar un proceso.  	En un computador con un solo CPU, los procesos concurrentes se realizan por tiempo compartido, lo cual permite que los procesos puedan ejecutarse por turnos, creando una ilusión que se ejecutan en paralelo.  	Los procesos concurrentes que se ejecutan en un solo computador es una funcionalidad del sistema operativo, por tanto no se necesita una programación especial para llevar a cabo este tipo de programación.
PROGRAMACIÓN CONCURRENTE DENTRO DE UN PROCESO  	Muchas veces un único programa necesita iniciar diferentes tareas que se ejecuten concurrentemente, como por ejemplo un programa, podría necesitar realizar otras tareas mientras espera que se descargue un archivo de correo.   	También se puede necesitar que se ejecuten varias tareas en paralelo por motivo de rendimiento.  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
PROCESOS PADRES E HIJOS  	En tiempo de ejecución, un proceso puede crear procesos subordinados o procesos hijosa 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 hijo es un proceso completo que consiste en un programa en ejecución, con valores propios información de estado, que hereda del proceso padre.  	Un proceso padre puede saber cuando un proceso hijo ha finalizado.

Más contenido relacionado

La actualidad más candente

Presentacion final oop taller
Presentacion final oop tallerPresentacion final oop taller
Presentacion final oop tallerAdán Silva
 
Programacion interactiva
Programacion interactivaProgramacion interactiva
Programacion interactivaValeria Zaruma
 
Pruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAPPruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAPIsamar Francisco
 
Java janner
Java   jannerJava   janner
Java jannersena
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.guestdf1874
 
Carasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharCarasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharudalrico
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basicoSaviotec
 
Introduccion a java
Introduccion a javaIntroduccion a java
Introduccion a javamacbenach
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Micael Gallego
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Juampy NR
 

La actualidad más candente (20)

Tarea4 Angelicajaramillo
Tarea4 AngelicajaramilloTarea4 Angelicajaramillo
Tarea4 Angelicajaramillo
 
Java swing
Java swingJava swing
Java swing
 
Presentacion final oop taller
Presentacion final oop tallerPresentacion final oop taller
Presentacion final oop taller
 
java
javajava
java
 
Programacion interactiva
Programacion interactivaProgramacion interactiva
Programacion interactiva
 
Pruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAPPruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAP
 
Java janner
Java   jannerJava   janner
Java janner
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.
 
Funciones php
Funciones phpFunciones php
Funciones php
 
Practica de aples
Practica de aplesPractica de aples
Practica de aples
 
Carasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharCarasteristicas de compiladores sheshar
Carasteristicas de compiladores sheshar
 
Java 123
Java 123Java 123
Java 123
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Introduccion a java
Introduccion a javaIntroduccion a java
Introduccion a java
 
Maquinavirtual java
Maquinavirtual javaMaquinavirtual java
Maquinavirtual java
 
Semana 1 Microservicios
Semana 1   MicroserviciosSemana 1   Microservicios
Semana 1 Microservicios
 
Docker for losers
Docker for losersDocker for losers
Docker for losers
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativa
 

Similar a Sistemas Operativos y Programación Concurrente

Semana III Myriam Cando
Semana III Myriam CandoSemana III Myriam Cando
Semana III Myriam Candomcando
 
Semana3 Jorge Armas
Semana3 Jorge ArmasSemana3 Jorge Armas
Semana3 Jorge ArmasIsrael
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativosfvaldivieso
 
Tarea3 Ezamora
Tarea3 EzamoraTarea3 Ezamora
Tarea3 Ezamoraedzamo13
 
Conceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas OperativosConceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas OperativosDBSEII
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosIsrael
 
Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos Dulce Sanchez
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesosEli_Jonathan
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesoswflores100
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegiovatovar
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEgladysmamani
 
Revista sistema operativos
Revista sistema operativosRevista sistema operativos
Revista sistema operativosgregory peña
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesosAnuska González
 
Apliacaciones Distribuidas. Sistemas Operativos
Apliacaciones Distribuidas. Sistemas OperativosApliacaciones Distribuidas. Sistemas Operativos
Apliacaciones Distribuidas. Sistemas Operativosla77rch
 

Similar a Sistemas Operativos y Programación Concurrente (20)

Semana III Myriam Cando
Semana III Myriam CandoSemana III Myriam Cando
Semana III Myriam Cando
 
Tarea4 Mamfredy Mejia
Tarea4 Mamfredy MejiaTarea4 Mamfredy Mejia
Tarea4 Mamfredy Mejia
 
Semana3 Jorge Armas
Semana3 Jorge ArmasSemana3 Jorge Armas
Semana3 Jorge Armas
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
 
Tarea3 Ezamora
Tarea3 EzamoraTarea3 Ezamora
Tarea3 Ezamora
 
Conceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas OperativosConceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas Operativos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesos
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Revista sistema operativos
Revista sistema operativosRevista sistema operativos
Revista sistema operativos
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesos
 
Apliacaciones Distribuidas. Sistemas Operativos
Apliacaciones Distribuidas. Sistemas OperativosApliacaciones Distribuidas. Sistemas Operativos
Apliacaciones Distribuidas. Sistemas Operativos
 
Desktop
DesktopDesktop
Desktop
 

Último

PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODACarmeloPrez1
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxDr. Edwin Hernandez
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxDanielFerreiraDuran1
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHkarlinda198328
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESADanielAndresBrand
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxwilliamzaveltab
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosk7v476sp7t
 
EVALUACIÓN PARCIAL de seminario de .pdf
EVALUACIÓN PARCIAL de seminario de  .pdfEVALUACIÓN PARCIAL de seminario de  .pdf
EVALUACIÓN PARCIAL de seminario de .pdfDIEGOSEBASTIANCAHUAN
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-ComunicacionesIMSA
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantessuperamigo2014
 
Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxignaciomiguel162
 
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptxCarlosQuionez42
 
Presentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financierosPresentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financierosmadaloga01
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfPriscilaBermello
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxgabyardon485
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxFrancoSGonzales
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxMatiasGodoy33
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosFundación YOD YOD
 

Último (20)

PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptx
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptx
 
Walmectratoresagricolas Trator NH TM7040.pdf
Walmectratoresagricolas Trator NH TM7040.pdfWalmectratoresagricolas Trator NH TM7040.pdf
Walmectratoresagricolas Trator NH TM7040.pdf
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
 
EVALUACIÓN PARCIAL de seminario de .pdf
EVALUACIÓN PARCIAL de seminario de  .pdfEVALUACIÓN PARCIAL de seminario de  .pdf
EVALUACIÓN PARCIAL de seminario de .pdf
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantes
 
Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptx
 
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
1.- PLANIFICACIÓN PRELIMINAR DE AUDITORÍA.pptx
 
Presentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financierosPresentación de la empresa polar, estados financieros
Presentación de la empresa polar, estados financieros
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdf
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptx
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptx
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de servicios
 

Sistemas Operativos y Programación Concurrente

  • 2. La computación distribuida se refiere a la ejecución de programas en múltiples computadores
  • 3. PROGRAMAS Y PROCESOS DE COMPUTACIÓN Un programa software, es un sistema informático elaborado 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.
  • 4.
  • 5. Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.
  • 6. Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Solo puede haber un proceso en ejecución a la vez, pero pueden existir varios listos y varios pueden estar bloqueados. Así, se forman una lista de procesos listos y otra de procesos bloqueados
  • 7. TIPOS DE PROGRAMA EN JAVA El código para crear procesos se lo realizará en Java, existen tres tipos de programas Java que independientemente del tipo, cada uno escribe como una clase Java : Aplicaciones.- Esta clase (aplicación) tiene un método principal (main), y se ejecuta como un proceso independiente (stand-alone). Applets .- Se ejecuta mediante el uso de un navegador o de una herramienta que permite visualizar applets (appletviewer). Servlets.- es parecido al applets , en el hecho que no tiene un método mainy se ejecuta en el contexto de un servidor web. Un programa Java, que se compile sin importar el tipo de programa, se convierte en un código denominado bytecode (código objeto universal).
  • 8. PRINCIPIOS DE CONCURRENCIA La concurrencia es el punto clave en los conceptos de multitarea, multiprogramación y multiproceso, la concurrencia comprende un gran numero de cuestiones de diseño incluyendo la comunicación entre procesos, la compartición y competencia por los recursos, la sincronización de la ejecución de varios procesos y la asignación del procesador a los procesos.
  • 9. CARACTERÍSTICAS DE LOS SISTEMAS CONCURRENTES Orden de ejecución: A diferencia de los programas secuenciales el flujo del programa sigue un orden parcial. Ante una misma entrada no se sabe cuál va a ser el orden seguido. Indeterminismo: El orden parcial produce consecuentemente un comportamiento indeterminista. Es decir, repetidas ejecuciones sobre un mismo conjunto de datos resultan “diferentes resultados
  • 10.
  • 11. Procesos concurrentes ejecutados en un solo computador
  • 12.
  • 13. PROCESOS CONCURRENTES EJECUTADOS EN UN UNICO COMPUTADOR La concurrencia puede ser real o virtual. La concurrencia real multitarea es posible cuando el computador tiene múltiples CPU, de forma que cada CPU pueda ejecutar un proceso. En un computador con un solo CPU, los procesos concurrentes se realizan por tiempo compartido, lo cual permite que los procesos puedan ejecutarse por turnos, creando una ilusión que se ejecutan en paralelo. Los procesos concurrentes que se ejecutan en un solo computador es una funcionalidad del sistema operativo, por tanto no se necesita una programación especial para llevar a cabo este tipo de programación.
  • 14. PROGRAMACIÓN CONCURRENTE DENTRO DE UN PROCESO Muchas veces un único programa necesita iniciar diferentes tareas que se ejecuten concurrentemente, como por ejemplo un programa, podría necesitar realizar otras tareas mientras espera que se descargue un archivo de correo. También se puede necesitar que se ejecuten varias tareas en paralelo por motivo de rendimiento. 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
  • 15. PROCESOS PADRES E HIJOS En tiempo de ejecución, un proceso puede crear procesos subordinados o procesos hijosa 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 hijo es un proceso completo que consiste en un programa en ejecución, con valores propios información de estado, que hereda del proceso padre. Un proceso padre puede saber cuando un proceso hijo ha finalizado.
  • 17. THREADS O HILOS Permiten a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente. Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos.
  • 18. Threads/hilos en Java Java proporciona un API para el uso de hilos: clase Threaddentro del paquete java.lang.Thread. Es de gran utilidad tener un lenguaje de alto nivel para programar concurrentemente utilizando threads/hilos, de ahí el potencial y la fama de Java. Cuando arranca un programa existe un hilo principal (main), y luego se pueden generar nuevos hilos que ejecutan código en objetos diferentes o el mismo. La clase Thread dispone de una serie de métodos para caracterizar el thread/hilo en el programa: isAlive(), isDaemon(), setName(),setDaemon(), run(), etc.