PROCESOS Es un programa en ejecucin o una serie de instrucciones que pretenden obtener un resultado a travs del uso de un procesador
M.C. Ana Cristina Rodrguez Lozano Estados de los procesos 4 EJECUCIN BLOQUEO LISTO 1 3 2 M.C. Ana Cristina Rodrguez Lozano EJ ECUCIN - BLOQUEO Deja libre el procesador debido a que necesita de informacin o recursos adicionales no disponibles en ese momento para continuar con la ejecucin quedando en un estado de bloqueo. M.C. Ana Cristina Rodrguez Lozano EJ ECUCIN - LISTO El procesador queda listo para recibir a otro proceso dado a que a el actual se le agoto su tiempo de ejecucin teniendo que formarse al final de la fila de listos para una segunda asignacin
M.C. Ana Cristina Rodrguez Lozano BLOQUEO - LISTO El proceso ha obtenido la informacin o recursos que lo tenan en espera y en un estado de bloqueo, ahora debe pasar al final de la fila de listos y esperar su asignacin. M.C. Ana Cristina Rodrguez Lozano LISTO - EJ ECUCIN El sistema operativo detecta que el procesador ha quedado libre y va a la fila de listos para elegir un nuevo proceso y ponerlo en ejecucin . M.C. Ana Cristina Rodrguez Lozano Comunicacin entre procesos Condicin de competencia: se presenta cuando 2 o mas procesos necesitan los mismos recursos en un mismo instante de tiempo . Exclusin mutua: Estrategia que busca garantizar a un proceso que una vez que obtiene un recurso compartido nadie podr arrebatrselo. Regin crtica: Memoria utilizada por un proceso cuando hace uso de algn recurso compartido (se dice que el recurso ha entrado a su regin crtica) M.C. Ana Cristina Rodrguez Lozano VARIABLES DE CERRADURA SOLUCION DE PETERSON INSTRUCCIONES TSL ALTERNANCIA ESTRICTA SOFTWARE DESACTIVACIN DE INTERRUPCIONES HARDWARE M.C. Ana Cristina Rodrguez Lozano PROBLEMA DEL PRODUCTOR-CONSUMIDOR Se cuenta con un almacn de tamao limitado este se llena a travs de un proceso llamado productor y los procesos que salen del almacn para ser ejecutados lo hacen a travs de un proceso consumidor. M.C. Ana Cristina Rodrguez Lozano ESTRATEGIAS QUE PUEDEN SOLUCIONAR EL PROBLEMA DEL PRODUCTOR - CONSUMIDOR SEMAFOROS
CONTADORES DE EVENTOS
MONITOR
TRANSFERENCIA DE MENSAJES M.C. Ana Cristina Rodrguez Lozano SEMFOROS Es una variable entera que se utiliza para contar el numero de despertares almacenados para su uso posterior M.C. Ana Cristina Rodrguez Lozano CONTADORES DE EVENTOS READ: Esta operacin regresa el valor actual del contador.
ADVANCE: Incrementa el valor del contador
AWAIT: Esta operacin hace que se espere hasta que el contador tenga el valor del almacen o mayor.
M.C. Ana Cristina Rodrguez Lozano MONITOR Es una coleccin de procedimientos, variable y estructura de datos que se agrupan en un paquete o mdulo.
M.C. Ana Cristina Rodrguez Lozano TRANSFERENCIA DE MENSAJES
SEND Y RECEIVE Son llamados al sistema que se colocan con facilidad en los procedimientos de bibliotecas. M.C. Ana Cristina Rodrguez Lozano PROBLEMAS EN LA COMUNICACIN DE PROCESOS CENA DE FILOSOFOS
LECTORES O ESCRITORES
BARBERO DORMILON
M.C. Ana Cristina Rodrguez Lozano CENA DE FILOSOFOS El problema se debe al uso de recursos compartidos dado a que pueden existir mas solicitudes que recursos. M.C. Ana Cristina Rodrguez Lozano LECTORES O ESCRITORES Se presenta cuando existen procesos que necesiten leer o escribir informacin en un recurso compartido normalmente archivos o bases de datos. M.C. Ana Cristina Rodrguez Lozano BARBERO DORMILN Existe nicamente un recurso para poner en ejecucin a los proceso (barbero) existe un espacio en memoria (sala de espera) para que los clientes (procesos) puedan esperar su turno si la sal de espera se encuentra llena el cliente se va y probablemente regrese mas tarde el problema que se presenta es similar al del productor y consumidor es decir se debe de decidir cuando mandar a dormir al barbero y despertar el proceso productor de clientes y viceversa. M.C. Ana Cristina Rodrguez Lozano Planificacin de procesos Primeras Entradas, Primeras Salidas: Este tipo de planificacin trabaja de acuerdo al orden en el que llegan los procesos.
Planificacin Garantizada: A cada proceso se le hace la promesa de que ser ejecutado. Normalmente se revisa la cantidad de procesos existentes (n) y cada uno de ellos recibir 1/n de la capacidad del CPU.
M.C. Ana Cristina Rodrguez Lozano Planificacin de Procesos Round Robin: Combina primeras entradas con primeras salidas, asignndoles tiempo de ejecucin a cada proceso por igual (cuanto); si el proceso termina antes de que el tiempo se agote, el sistema otorga el uso del procesador al siguiente proceso, por el contrario si el proceso no termina y el tiempo se agota el proceso pasa al final de la fila para esperar otro turno y el procesador se otorga al siguiente proceso.
M.C. Ana Cristina Rodrguez Lozano Planificacin de Procesos Primero el trabajo ms corto: Es una de las planificaciones ms efectiva pero muy difcil de implantar, dado que es necesario conocer con anticipacin el tiempo estimado de ejecucin para cada proceso, esta estrategia busca reducir el tiempo promedio de respuesta.
A B C D B C D A 8 4 4 4 4 4 4 8 TR A = 8 TR B = 12 TR C = 16 TR D = 20 TPR A-D = (8+12+16+20)/4 TPR A-D =14 TR B = 4 TR C = 8 TR D = 12 TR A = 20 TPR A-D = (4+8+12+20)/4 TPR A-D =11 PEPS Primero el trabajo ms corto M.C. Ana Cristina Rodrguez Lozano Planificacin de Procesos Planificacin por prioridad: Se establecen procesos de mayor importancia y de acuerdo a ella sern ejecutados. Por ejemplo si los procesos de lectura tienen prioridad sobre los de escritura, se ejecutan primero todas las lecturas, sin importar que lleguen despus de una escritura. M.C. Ana Cristina Rodrguez Lozano Planificacin de Procesos Colas mltiples: Se establecen clases de prioridad. Los procesos de la clase ms alta se ejecutan durante un cuanto, los procesos de la siguiente clase ms alta se ejecutan durante 2 cuantos, los procesos de la siguiente clase se ejecutan durante 4 cuantos y as sucesivamente. Cada vez que un proceso se gaste todos sus cuantos asignados, se le pasa a la clase inmediata inferior Prioridad 4 Prioridad 3 Prioridad 2 Prioridad 1 (Prioridad ms alta) (Prioridad ms baja) Procesos ejecutables M.C. Ana Cristina Rodrguez Lozano Planificacin de Procesos Planificacin de Dos Niveles: Se utiliza cuando la memoria RAM es insuficiente, en la memoria se almacenan los procesos que esta pueda admitir, los restantes se almacenan en el disco duro de la mquina, pasado algn tiempo se realiza un intercambio de disco a memoria y viceversa.
Slo los procesos en RAM pueden elegirse para ejecucin.