Contenido Concepto de procesos Planificación de procesos Operaciones sobre Procesos Cooperación de Procesos Comunicación entre procesos
Programación Concurrente Virtualmente todos los sistemas de tiempo-real son inherentemente concurrentes – los dispositivos operan en paralelo en el mundo real.
Programación concurrente es el nombre dado a las técnicas y notación de programación para expresar "paralelismo" potencial y resolver la sincronización y los problemas de comunicación. En la programacion concurrente solo se cuenta con un procesador. El tiempo de CPU se reparte entre varios procesos. El paralelismo implica que existen varios procesadores en el sistema. La programacion paralela implica dividir la ejecucion de un programa en distintos modulos los cuales se ejecutaran en distintos procesadores.
Paralelismo entre CPU y Dispositivos de E/S CPU Dispositivo de E/S Inicia operacion de E/S Peticion de proceso de E/S Finalizacion de Senal Interrupcion de fin de E/S E/S termina Continua con mas peticiones
Sistema de Reservacion de Linea Aerea P P P P P Data Base VDU VDU VDU VDU
Terminología Un programa concurrente es convencionalmente visto como una colección de procesos secuenciales autónomos que se ejecutan (lógicamente) en paralelo. Los lenguajes de programación concurrente incorporan, explícita o implícitamente, la noción de proceso; cada proceso tiene un simple hilo de control. La implementación actual (i.e. ejecución) de una colección de procesos usualmente toma una de estas tres formas: Multiprogramación ejecución de múltiples procesos en un solo procesador. Multiprocesamiento ejecución de múltiples procesos en un sistema multiprocesador donde hay acceso a memoria compartida. Programación Distribuida ejecución de múltiples procesos en varios procesadores los cuales no comparten memoria.
Concepto de Proceso Un sistema operativo ejecuta una variedad de programas: Sistema Batch: jobs Sistemas de tiempo compartido: programas de usuario o tareas Proceso – un programa en ejecución; la ejecucución del proceso debe progresar de manera secuencial. Un proceso incluye: program counter stack data section
Nuevo: El proceso es creado. Ejecución: Se ejecutan instrucciónes. Espera: El proceso esta en espera por la ocurrencia de algún evento. Listo: El proceso esta esperando a que le asignen el procesador. Terminado: El proceso finaliza su ejecución. Diagrama de estados de los procesos. Estados de los procesos
Información asociada con cada proceso:
Estado del proceso Program counter Registros del CPU Información de planificación del CPU Memoria Información para administración Información de estatus de E/S Process Control Block
Página siguiente |